基于Linux的智能家居的设计(3)[通俗易懂]

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

大家好,又见面了,我是全栈君。

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所看到的:

基于Linux的智能家居的设计(3)[通俗易懂]

2.2  传输数据

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

基于Linux的智能家居的设计(3)[通俗易懂]

2-2  传输数据设计框图

2.3  数据採集部分

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

2.3.1  温湿度传感器DHT11

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

基于Linux的智能家居的设计(3)[通俗易懂]

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

2.3.2  光照度传感器

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

基于Linux的智能家居的设计(3)[通俗易懂]

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

2.3.3  COMS摄像头

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

基于Linux的智能家居的设计(3)[通俗易懂]

2-5  OV9650S3C6410的接口原理图

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所看到的:

基于Linux的智能家居的设计(3)[通俗易懂]

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电机驱动模块,其原理图如图所看到的:

基于Linux的智能家居的设计(3)[通俗易懂]

2-7  LN298电路原理图

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

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

基于Linux的智能家居的设计(3)[通俗易懂]

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所看到的:

基于Linux的智能家居的设计(3)[通俗易懂]

图2-9  TFT触摸屏和S3C6410硬件接口图

2.7  门禁部分

门禁系统使用的是RFID读卡模块RC522,利用舵机控制门的开关,当钥匙不对时刷卡会出现蜂鸣器报警。直到正确的钥匙到了开门才停止报警。门禁部分的基本框图如图2-10所看到的:

基于Linux的智能家居的设计(3)[通俗易懂]

2-10  门禁部分的基本框图

后面的在基于Linux的智能家居的设计(4)。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115262.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java多线程面试题总结

    java多线程面试题总结java多线程面试题总结

  • GraphQL学习

    GraphQL学习

  • .net mvc5_mvc工作流程

    .net mvc5_mvc工作流程作者:josh-jw介绍我们可以在web页面用HTML表格元素定义WebGrid显示数据,它以非常简单的方式呈现表格数据,支持自定义格式列,分页,排序,并通过AJAX异步更新。WebGrid主要属性:Source-数据来自哪里。通常情况下,通过controlleraction传递modelDefaultSort-定义如何将数据排序。只要在这里提供列名。RowsPerPage-每页表格显示…

  • HttpClient4.x 使用cookie保持会话

    HttpClient4.x 使用cookie保持会话HttpClient4.x可以自带维持会话功能,只要使用同一个HttpClient且未关闭连接,则可以使用相同会话来访问其他要求登录验证的服务(见TestLogin()方法中的“执行get请求”部分)。如果需要使用HttpClient池,并且想要做到一次登录的会话供多个HttpClient连接使用,就需要自己保存会话信息。因为客户端的会话信息是保存在cookie中的(JSESSIONID),所

  • 未来取代计算机电脑,还在用电脑?未来几年它可能被手机取代

    未来取代计算机电脑,还在用电脑?未来几年它可能被手机取代据统计,家用计算机中九成的用户平时只做网页浏览、文档处理、简单的图像处理、游戏等操作,很少使用专业的设计和分析软件。所以家用计算机并不需要太高的配置,如果打游戏,一块好点的显卡就够了。在计算能力方面,随着手机硬件配置逐步增强,除了应付手机本身的各种应用,计算资源已经显得富裕起来,使得手机代替部分计算机成为可能。网络方面,提速减费政策后,无论有线网络还是无线网络的带宽都已不是问题,4G网络的费用也在…

  • Android studio 入门教程(案例)

    Android studio 入门教程(案例) 1.创建一个Android项目,点击File->New->NewProject,其中的open是打开一个Android项目2.输入项目的名称test,此项目放在E盘下,然后点击Finish3.选择Android虚拟机的版本,版本越低运行起来越快,其他的无需勾选。 4.选择Android的模板,选择基础类android的空模板Empty…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号