资源描述
智能家居物联网综合实训项目
1. 项目介绍
智能家居系统是一个与生活最为贴切的物联网应用, 为我们的生活带来诸多安全和便利, 同时也增添了多姿多彩的体验。
智能家居物联网综合实训项目( 以下称实训项目) , 以风标电子生产的智能家居物联网实训台( 以下称实训台) 为硬件平台,在此之上实现多种传感器的数据采集、 传输、 处理及嵌入式智能化控制的综合系统。
2. 项目设计
2.1. 硬件平台
实训项目使用风标电子生产的智能家居物联网实训台, 以三星ARM11处理器( S3C6410) 为系统核心, 结合丰富的外围设备形成智能家居系统的硬件支持。使用资源主要有如下两部分:
2.1.1. 系统硬件资源:
l 网关核心板Tiny6410
l 7寸显示屏
l COMS摄像头
l 有线及无线( SDIO) 网络接口
l 串口、 USB、 按键等
2.1.2. 智能家居应用模块:
1) 客厅模拟:
l 两个Zigbee节点模块, 用于采集和传输数据。
l 六个家电指示灯, 用于指示客厅的照明、 电视、 空调和插座。
l 两个警报灯, 用于显示异常状况。
l 一个热释电检测模块, 用于检测客厅人体温度
l 一个超声波测距模块, 用于检测屋门物体存在
2) 阳台模拟:
l 两个Zigbee节点模块, 用于采集和传输数据。
l 六个家电指示灯, 用于指示阳台的照明、 洗衣机、 排气扇和插座。
l 两个警报灯, 用于显示异常状况。
l 一个雨滴检测模块, 用于检测室外天气
l 一个气压检测模块, 用于采集室外大气压
l 一个功放模块, 用于报警
3) 卧室模拟:
l 两个Zigbee节点模块, 用于采集和传输数据。
l 六个家电指示灯, 用于指示卧室的照明、 电脑、 空调和插座。
l 两个警报灯, 用于显示异常状况。
l 一个湿度采集模块, 用于检测室内湿度
l 一个步电机模块, 用于操作窗帘
4) 厨房模拟:
l 两个Zigbee节点模块, 用于采集和传输数据。
l 六个家电指示灯, 用于指示厨房的照明、 冰箱、 排气扇和插座。
l 两个警报灯, 用于显示异常状况。
l 一个一氧化碳气体检测模块, 用于检测厨房一氧化碳含量
l 一个直流电机模块, 用于操作抽气机
2.2. 软件平台
2.2.1. 传感数据采集及外围控制设备
实训台在智能家居模块中有众多类型的传感器( 诸如, 采集温度、 光照强度、 湿度、 气压、 热释电、 超声波等) 和外围控制设备( 如, 喇叭、 电机、 LED等) 。经过节点芯片CC2530中的51单片机主控, 一方面采集传感器数据, 另一方面操作外围控制设备。
2.2.2. Zigbee模块数据传输
节点芯片CC2530集成有Zigbee协议栈, 能把众多Zigbee节点自组成网, 并经过射频模块无线传输节点数据和控制信息。此实训项目, 以星状结构, 把所有终端节目的数据集中于一个协调器再转发到处理系统。
2.2.3. 嵌入式系统
实训项目采用内核版本为2.3.38的嵌入式Linux操作系统, 其内集成有基本的操作系统资源及相关的外围设备驱动, 详情请参考实训台Linx开发相关部分《智能家居物联网实训台Linux实验手册.doc》。
以此为智能家居系统的数据处理及控制中心, 并以Qt开发工具实现一个”两室一厅”模拟住房环境, 以图形化交互界面展示。
2.2.4. 数据库
为支撑智能家居系统, 还需要搭建一个数据库, 用于存储、 转发和记录系统信息。本实训项目采用MySQL.
2.2.5. Web控制终端
本实训项目还支持web网页终端, 以xml+php+javascript开发模式, 编写一个网页控制终端。
2.2.6. 系统设计
传感器采集到数据后, 经过zigbee节点把数据发送到协调器节点, 再统一转发至ARM11处理器。中心处理系统根据需求处理完数据后, 一方面向外围设备发送控制命令, 另一方面更新数据库信息。与此同时, web终端也能够经过修改数据库的控制数据向中心处理系统发送控制命令, 并由中心处理系统转至各节点。
综上所述, 此实训项目需要完成如下程序设计:
l CC2530数据采集。 —— 51单片机操作
l Zigbee节点数据组网传输。 —— Z-Stack栈自带
l 节点与系统的数据通讯协议。 —— 自定义数据包、 组合和解释
l 嵌入式Linux系统裁剪移植。 —— 嵌入式操作系统, 数据处理中心
l Qt应用程序。 —— 图形化用户接口
l Web终端程序。 —— xml + php + javascrip
系统设计如下图:
传感器数据采集及设备资源
终端节点n
传感设备1
传感设备2
传感设备n
。。。
终端节点2
传感设备1
传感设备2
传感设备n
。。。
终端节点1
传感设备1
传感设备2
传感设备n
。。。
Zigbee
节
点
数
据
传
输
。。。。。
数据
数据
数据
协调器节点
数据
数据库
中心处理系统
WEB
控制终端
数据
数据
嵌入式系统
Qt图形界面
3. 项目实现
3.1. 环境搭建
3.1.1. 实训项目准备
l 智能家居物联网实训台一套。
l 电脑一台, 安装串口调试软件, 安装IAR EW8051集成开发环境, 安装Z-Stack协议栈, 安装Qt开发环境, 安装wamp服务软件。
l B型USB连接线一根, 串口线一根。( 若用笔记本, 另备USB串口)
l SmartRF04EB或CC Debugger编程调试工具一套。
l SD卡一张。
3.1.2. 开发环境搭建
l 安装WampServer2.0i.exe:
此为Windows下的Apache + Mysql/MariaDB + Perl/PHP/Python, 是一组用来搭建动态网站或者服务器的开源软件。
l Zigbee节点开发环境:
请参照 《智能家居物联网实训台ZigBee实验手册.doc》 安装好IAR EW805及Z-Stack协议栈。
l Qt开发环境:
请参照《智能家居物联网实训台Linux实验手册.doc》搭建好Linux系统开发环境及 Qt开发环境。
l Web网页开发环境:
学员可根据自己习惯选择一种web网页开发工具( 例如: Dreamweaver) , 也能够直接用notePad++等支持xml语言的记事本编辑代码后直接调试。
3.2. 操作步骤
3.2.1. 调试串口接法及运行WampServer
l 当用作调试开发时, 在实训台的”串口快速转接”处, 将”电脑串口”与”协调器串口”连接。
l 当实训台运行时, 在实训台的”串口快速转接”处, 将”网关串口”与”协调器串口”连接。
l 在调试或运行时, 均需要先运行WampServer。
3.2.2. Zegbee节点开发
拷贝工程目录”WindwaySmartHomeApp”至Z-Stack协议栈。( 路径目录: ZStack-CC2530-2.5.1a\Projects\zstack\Samples) 。再运行IAR EW8051, 打开工程文件WindwaySmartHomeApp.eww, 即可开发调试。
说明: 此为智能家居节点设备例程, 内含温度及光照数据的采集和串口通讯的协议, 用户可在此基础上开发。
3.2.3. Qt应用开发
拷贝工程目录”WindwaySmartHomeQt”至任一路径( 路径不包含中文) 下, 运行Qt 开发工具Qt CreatorZ-Stack, 打开工程文件WindwaySmartHome.pro.user, 即可开发调试。
说明: 此为智能家居系统的Qt应用程序, 内含与节点配套的串口通讯的协议, 用户可在此基础上开发。
3.2.4. Web终端开发
拷贝”WindwaySmartHomePHP”目录的”smarthome.php”文件至”\wamp\www”路径下。在浏览器地址栏上输入http://localhost/smarthome.php, 即可运行web终端程序, 修改”smarthome.php”文件即可开发web终端程序。
说明: 此为智能家居系统的web终端例程, 内含节点一些基本数据显示及操作。用户可在此基础上开发。
4. 实训项目运行效果截图
最后, 这里将附上风标电子自行开发的”智能家居物联网综合实训项目”的一些截图, 以及所有源代码和相关资料, 以供参考。
4.1. Qt模拟运行效果:
4.2. Web终端运行效果:
展开阅读全文