2  硬件设计

本课题的硬件设计包含主控制器、传输数据设计、数据採集设计、控制驱动设计、显示设计。门禁设计。

2.1  主控制器

依据方案三选择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="">

2.2  传输数据

本课题的传输数据分为PC机和主控制板之间的传输数据。它们之间使用网络双绞线和串口线进行连接。主控制板与无线网络传感器之间的通信,使用TTL电平转串口。无线网络传感器与无线网络传感器之间的通信。使用Zigbee协议栈;以及摄像头与主控制器通过10*2插针连接器直接进行通信。详细的设计框图如图2-2所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

图2-2  传输数据设计框图

2.3  数据採集部分

数据採集包括有温湿度的採集、光照度的採集、视频数据的採集。

2.3.1  温湿度传感器DHT11

温度传感器採用的是含有已校准数字信号输出的DHT11温湿度传感器。其电路原理图如图2-3所看到的:

图2-3  DHT11温湿度传感器的电路原理图

2.3.2  光照度传感器

光照度採集传感器採用的是採用灵敏型光敏电阻传感器。模块在环境光线亮度达不到设定阈值时,DO 端输出高电平,当外界环境光线亮度超过设定阈值时。DO 端输出低电平。电路原理图如图2-4所看到的:

图2-4  光照度传感器电路原理图

2.3.3  COMS摄像头

本课题COMS摄像头採用的硬件是OV9650作为图像採集传感器。OV9650与S3C6410的接口原理图如图2-5所看到的:

图2-5  OV9650与S3C6410的接口原理图

2.4  无线传输模块

本课题採用的是网蜂的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与舵机的信号线相连,控制门的开关。

2.5  控制驱动部分

空调电机的控制和窗帘电机的控制使用的LN298电机驱动模块,其原理图如图所看到的:

图2-7  LN298电路原理图

灯具的控制驱动使用的是UL2003A驱动芯片。

8号引脚接电源的+5V,16号管脚接电源的GND。逻辑电路原理图例如以下所看到的:

图2-8  UL2003A逻辑电路原理图

2.6  显示部分

本课题的显示部分使用的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硬件接口图

2.7  门禁部分

门禁系统使用的是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)的更多相关文章

  1. 基于Linux的智能家居的设计(4)

    3  开发环境的搭建 本次课题使用的开发环境比較特殊.没有一个现成的集成开发环境,需要自己一步一步的搭建开发环境,开发环境的搭建的过程十分复杂,并且假设没有这个开发环境本次课题就无法进行. 因此.在进 ...

  2. 基于Linux的智能家居的设计(2)

    1  系统整体设计方案 智能家居系统的是一个实时查询家庭的温湿度.照明控制.自己主动控制的设定.集家庭娱乐.智能安防为一体,大量数据快处理.可靠的系统,因此在硬件和软件上都有非常大的要求,因此在这里进 ...

  3. 基于Linux的智能家居的设计(5)

    4  软件设计 软件设计部分主要包含uboot移植.内核编译.系统移植.设备驱动编程.应用程序编程(QT编程.mysql数据库编程.控制系统编程).各个模块的功能函数(部分是在windows以下的IA ...

  4. 基于ESP32的智能家居管理系统的设计与实现

    基于ESP32的智能家居管理系统的设计与实现 ESP32的智能家居管理系统访问链接: https://www.cnblogs.com/easyidea/p/13101165.html 一.需求分析 1 ...

  5. 基于树莓派的智能家居项目的设想与实现 Hestia

    注:本人内容的准确性仅限于笔者写该篇文章时的情况,不保证后续与实际项目代码一致.实时内容还请关注Github项目托管页面:https://github.com/GenialX/hestia-serve ...

  6. 一只简单的网络爬虫(基于linux C/C++)————配置文件设计及读取

    一般来说linux下比较大型的程序都是以配置文件作为参数介质传递的,该爬虫也采用配置文件的方式来获取参数,配置文件格式大致如下: max_job_num=1 #seeds=https://www.ba ...

  7. 基于能量收集的智能家居-2013国家级大学生创业实践项目申报_商业计划书_V0.2

    SmartHome项目商业计划 基于能量收集的 免电池无线智能家居系统    IA-SmartHome团队    2012.12     l  基于无线的智能家居解决方案,节省施工成本: l  基于能 ...

  8. Home Assistant + 树莓派:强大的智能家居系统 · 安装篇

    Home Assistant + 树莓派:强大的智能家居系统 · 安装篇 转载:Home Assistant + 树莓派:强大的智能家居系统 · 安装篇 目录 1. 初始安装 3. Homebridg ...

  9. 智能家居系统 Home Assistant 系列 --介绍篇

    一. HomeAssistant 是什么? HomeAssistant是构建智慧空间的神器.是一个成熟完整的基于 Python 的智能家居系统,设备支持度高,支持自动化(Automation).群组化 ...

随机推荐

  1. git 修改已提交的注释

    在git中,其commit提供了一个--amend参数,可以修改最后一次提交的信息 修改最后一次提交注释 git commit --amend 然后在出来的编辑界面,直接编辑注释的信息,保存退出 gi ...

  2. Python学习笔记之逻辑回归

    # -*- coding: utf-8 -*- """ Created on Wed Apr 22 17:39:19 2015 @author: 90Zeng " ...

  3. 【Python】CVE-2017-10271批量自查POC(Weblogic RCE)

    1.说明 看到大家对weblogic漏洞这么热衷,于是也看看这个漏洞的测试方式. 找了几个安全研究员的博客分析,经过几天的摸索大体清楚漏洞由XMLDecoder的反序列化产生. 漏洞最早4月份被发现, ...

  4. C#使用redis学习笔记

    1.官网:http://redis.io/(英)  http://www.redis.cn/(中) 2.下载:https://github.com/dmajkic/redis/downloads(Wi ...

  5. poj1033

    模拟题,注意不需要移动的情况要特殊输出 #include <cstdio> #include <cstring> #include <cstdlib> using ...

  6. ecplise里的run as里只有run configurations是怎么回事?

    一.没有main方法 二.main方法所在的类不是在与文件名同名的类中

  7. java注解方式解析xml格式

    注解类和字段方式: @XStreamAlias("message") 别名注解 注解集合: @XStreamImplicit(itemFieldName="part&qu ...

  8. C++ code:低级编程

    1 C编程 所谓低级编程,是相对于面向对象或基于对象的抽象层次更高的高级编程而言,就是: (1)不用C++STL的资源库,尽量减少内在的创建.调用.分配等的开销: (2)对程序管辖的内存进行直接操作访 ...

  9. Explain之key_len长度计算

    以前我很好奇通过执行计划Explain去分析SQL的时候看到的key_len值有时很小,有时看到很大,那时也不知道它是怎么算出来的,现在终于搞懂了,嘻.因为网上对key_len的长度的计算的资料也很少 ...

  10. KnockoutJs学习笔记(六)

    这篇文章主要涉及control flow部分的binding. foreach binding主要作用于lists或是tables内数据单元的动态绑定.下面是一个简单的例子: js部分: ko.app ...