基于Linux的智能家居的设计(3)
本课题的硬件设计包含主控制器、传输数据设计、数据採集设计、控制驱动设计、显示设计。门禁设计。
依据方案三选择S3C6410主控芯片,S3C6410是由Samsung公司推出的一款低功耗、高性价比的RSIC处理器 。基于ARM11内核。内置强大的硬件加速。显示处理和缩放,运动视频处理。音频处理[9]。这个作为智能家居的处理器是不二之选。硬件性能上全然能够实现。本设计选用的基于S3C6410的OK6410开发板。开发板上拥有例如以下特征[10]:
(1) 12MHz、48MHz、27MHz、32.768KHz时钟源,支持5V电压供电;
(2) 採用8位拨码开关设置系统启动方式;
(3) 共4个串口,包含1个五线RS 232电平串口(DB9母座)。
(4) 触摸板接口支持4线电阻式触摸板;LCD接口支持4.3寸TFT LCD,利用触摸屏实现人机交互。
(5) 1个CMOS摄像头接口,支持ITU-RBT601/656 8位模式,使用10*2插针连接器。
(6) 1个100M网口,採用DM9000AE,带连接和传输指示灯。
本次课题OK6410开发板的RS232电平串口与PC机相连;3个三线TTL电平串口(20pin2.0mm间距插头座)与ZigBee协调器相连。网口与PC相连进行网络通信;10*2插针连接器与CMOS摄像头相连。
OK6410开发板实物图如图2-1所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
本课题的传输数据分为PC机和主控制板之间的传输数据。它们之间使用网络双绞线和串口线进行连接。主控制板与无线网络传感器之间的通信,使用TTL电平转串口。无线网络传感器与无线网络传感器之间的通信。使用Zigbee协议栈;以及摄像头与主控制器通过10*2插针连接器直接进行通信。详细的设计框图如图2-2所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
图2-2 传输数据设计框图
数据採集包括有温湿度的採集、光照度的採集、视频数据的採集。
温度传感器採用的是含有已校准数字信号输出的DHT11温湿度传感器。其电路原理图如图2-3所看到的:
图2-3 DHT11温湿度传感器的电路原理图
光照度採集传感器採用的是採用灵敏型光敏电阻传感器。模块在环境光线亮度达不到设定阈值时,DO 端输出高电平,当外界环境光线亮度超过设定阈值时。DO 端输出低电平。电路原理图如图2-4所看到的:
图2-4 光照度传感器电路原理图
本课题COMS摄像头採用的硬件是OV9650作为图像採集传感器。OV9650与S3C6410的接口原理图如图2-5所看到的:
图2-5 OV9650与S3C6410的接口原理图
本课题採用的是网蜂的Zigbee模块进行无线传输。
网蜂Zigbee的特点例如以下[11]:
(1) 高性能、低功耗的8051微控制器内核;
(2) 适应2.4GHz IEEE 802.15.4的RF收发器;
(3) 电源电压范围宽(2.0~3.6V);
(4) 看门狗、电池监视器和温度传感器;
(5) 具有8路输入8~14位ADC。
(6) 2个支持多种串行通信协议的USART,1个红外发生电路;
(7) 1个通用的 16 位和2个8位定时器;
(8) 21个通用I/O引脚,2个具有20mA的电流吸收或电流供给能力。
(9) 小尺寸QLP-40封装。6mm×6mm。
电路原理图如图2-6所看到的:
图2-6 zigbeeCC2530电路原理图
Zigbee的P0_2、P0_3分别与OK6410开发板上的RXD1和TXD1连接实现数据的传输。Zigbee的P0_6与DHT11的数据port相连接,实现温湿度数据的传输;P1_4、P1_3、P1_2、P1_1分别接到UL2003A芯片驱动电灯;可调的光敏传感器的数据port接P1_5port;P1_6接在电机(空调)的驱动器上,控制电机的转动。P1_7接在减速电机(窗帘)的驱动器上,控制窗帘的开关。P0_4、P0_5与门禁模块相连接。读取门禁卡的信息;P0_0与舵机的信号线相连,控制门的开关。
空调电机的控制和窗帘电机的控制使用的LN298电机驱动模块,其原理图如图所看到的:
图2-7 LN298电路原理图
灯具的控制驱动使用的是UL2003A驱动芯片。
8号引脚接电源的+5V,16号管脚接电源的GND。逻辑电路原理图例如以下所看到的:
图2-8 UL2003A逻辑电路原理图
本课题的显示部分使用的4.3寸TFT屏,LCD的硬件主要包含LCD玻璃板、LCD驱动器和LCD控制器。LCD控制器和LCD驱动器之间的接口信号主要有:VD0~VD23、VCLK、HSYNC、VSYNC、VDEN、LCD_PWERN、TSXP、TSYP、TSXM、TSYM[12]。
这里的VD0~VD23是LCD像素数据信号线。用来传输要显示的数据;VCLK是显式时钟信号,每一个VCLK信号,LCD控制器传送一个像素的数据到LCD;HYSNC是水平同步信号,也称为行同步信号;VSYNC是垂直同步信号,也称为帧同步信号;VDEN是数据使能信号。TSXP、TSXM是用来确定平面上X轴上的坐标;TSYP、TSYM是用来确定平面上Y轴上的坐标。TFT触摸屏和ARM之间的硬件框图如图2-9所看到的:
图2-9 TFT触摸屏和S3C6410硬件接口图
门禁系统使用的是RFID读卡模块RC522,利用舵机控制门的开关,当钥匙不对时刷卡会出现蜂鸣器报警。直到正确的钥匙到了开门才停止报警。门禁部分的基本框图如图2-10所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
图2-10 门禁部分的基本框图
后面的在基于Linux的智能家居的设计(4)。
基于Linux的智能家居的设计(3)的更多相关文章
- 基于Linux的智能家居的设计(4)
3 开发环境的搭建 本次课题使用的开发环境比較特殊.没有一个现成的集成开发环境,需要自己一步一步的搭建开发环境,开发环境的搭建的过程十分复杂,并且假设没有这个开发环境本次课题就无法进行. 因此.在进 ...
- 基于Linux的智能家居的设计(2)
1 系统整体设计方案 智能家居系统的是一个实时查询家庭的温湿度.照明控制.自己主动控制的设定.集家庭娱乐.智能安防为一体,大量数据快处理.可靠的系统,因此在硬件和软件上都有非常大的要求,因此在这里进 ...
- 基于Linux的智能家居的设计(5)
4 软件设计 软件设计部分主要包含uboot移植.内核编译.系统移植.设备驱动编程.应用程序编程(QT编程.mysql数据库编程.控制系统编程).各个模块的功能函数(部分是在windows以下的IA ...
- 基于ESP32的智能家居管理系统的设计与实现
基于ESP32的智能家居管理系统的设计与实现 ESP32的智能家居管理系统访问链接: https://www.cnblogs.com/easyidea/p/13101165.html 一.需求分析 1 ...
- 基于树莓派的智能家居项目的设想与实现 Hestia
注:本人内容的准确性仅限于笔者写该篇文章时的情况,不保证后续与实际项目代码一致.实时内容还请关注Github项目托管页面:https://github.com/GenialX/hestia-serve ...
- 一只简单的网络爬虫(基于linux C/C++)————配置文件设计及读取
一般来说linux下比较大型的程序都是以配置文件作为参数介质传递的,该爬虫也采用配置文件的方式来获取参数,配置文件格式大致如下: max_job_num=1 #seeds=https://www.ba ...
- 基于能量收集的智能家居-2013国家级大学生创业实践项目申报_商业计划书_V0.2
SmartHome项目商业计划 基于能量收集的 免电池无线智能家居系统 IA-SmartHome团队 2012.12 l 基于无线的智能家居解决方案,节省施工成本: l 基于能 ...
- Home Assistant + 树莓派:强大的智能家居系统 · 安装篇
Home Assistant + 树莓派:强大的智能家居系统 · 安装篇 转载:Home Assistant + 树莓派:强大的智能家居系统 · 安装篇 目录 1. 初始安装 3. Homebridg ...
- 智能家居系统 Home Assistant 系列 --介绍篇
一. HomeAssistant 是什么? HomeAssistant是构建智慧空间的神器.是一个成熟完整的基于 Python 的智能家居系统,设备支持度高,支持自动化(Automation).群组化 ...
随机推荐
- 【密码学】RSA算法过程-求解密钥
1.密钥的计算获取过程 密钥的计算过程为:首先选择两个质数p和q,令n=p*q. 令k=ϕ(n)=(p−1)(q−1),原理见2的分析 选择任意整数d,保证其与k互质 取整数e,使得[de]k=[1] ...
- java future 并发简单实现
List<Future<>> futures = new ArrayList<>();List<T> t= new ArrayList<>( ...
- rpmbuild 构建rpm包时报错解决 error: Installed (but unpackaged) file(s) found:
解决的办法是找到 /usr/lib/rpm/macros 中%__check_files /usr/lib/rpm/check-files %{buildroot} 注释掉
- vim下如何去掉windows编辑的文件中的^M
可以去掉^M, 例如: 在终端下敲命令: dos2unix a.c 直接转换成unix格式,这样就可以去掉^M •$dos2unix filename •vim filename :%s/^M$//g ...
- linux下的usb转串口的使用(修改)【转】
环境:Ubuntu 10.10 Server minicom是linux下串口通信的软件,它的使用完全依靠键盘的操作,虽然没有“超级终端”那么易用,但是使用习惯之后读者将会体会到它的高效与便利,下面将 ...
- Visual Studio 2013更新内容简介
前言 VS2013终于发布了,虽然之前自己使用VS2010和VS2012的时间也不长,尤其是VS2012这自己刚刚也没用多久,看到VS2013发布了,自己忍不住也下载了下来,官网肯定可以下载,不过自己 ...
- lombok使用说明
简介lombok 的官方网址:http://projectlombok.org/lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码.特别是相对于 POJO, ...
- 360加固保的dex脱壳方法
完全测试了看雪论坛的方法,发现并没有脱壳,依然无法反编译 http://bbs.pediy.com/thread-213377.htm 使用上面方法的结果是会得到16个dex文件,只有一个是与程序相关 ...
- 使用BigDecimal转换较长小数时候出现科学计数法的问题
public static String divToString(double v1, double v2, int scale){ if (scale < 0) { throw new Ill ...
- Elasticsearch常用最全最常用工具清单
https://blog.csdn.net/ZYC88888/article/details/82872558