朱明武 朱斌庚 刘桂雄 南瑞亭
(华南理工大学机械与汽车工程学院)
物联网是指通过射频识别、无线传感器网络等信息传感设备,按约定协议,把任何物品与互联网连接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种网络[1]。2010年3月5日,温家宝总理在政府工作报告中,明确将“加快物联网的研发应用”纳入战略性新兴产业发展的任务[2]。2010年初教育部下达了高校开设物联网专业申报通知,众多高校争相申报。物联网专业的开设热潮带来了对物联网教学工具的迫切需求,但目前市面上合适的物联网实验系统很少。同时,智能家居作为物联网的重要应用已得到政府和企业的支持[3]。本文结合ZigBee无线通信技术、3G移动通信技术、传感器技术及 C#编程技术,研发一个以智能家居为依托的物联网教学系统。
图1为物联网框架图,它分为感知层、网络层和应用层[4]。其中,感知层是网络与物品直接接触层,负责数据采集、传感器网络组网和协同信息处理;网络层通过互联网、移动通信网等网络把信息无障碍、高可靠性地传送;应用层实现物与人的交互。基于智能家居需求以及物联网结构层次,设计出图2 所示的物联网与智能家居教学系统。感知层采用 ZigBee技术进行传感器网络组网,众多ZigBee节点与传感器、执行器相连,负责上传信息给 ZigBee协调器,同时接收协调器下发的命令控制家居设备。网络层支持互联网和移动通信网,PC用户可通过本地PC主控软件对家居设备进行状态查询和控制;手机用户可通过短信对家居设备进行状态查询和控制,移动通信设备选用3G模块;网络用户可通过网页对家居设备进行状态查询和控制。
图1 物联网框架图
实现此系统的关键主要有感知层的家居设备组网、网络层的移动通信和应用层的用户交互界面,三者分别对应ZigBee无线通信技术、3G移动通信技术、主控软件编程技术。
ZigBee是一种低功耗、低传输速率、低成本、低复杂度、短距离的无线通信技术,尤其适合传输数据量小、功耗要求低、网络节点要求多的场所。而智能家居设备密集、传感器通信距离短、数据量不大,符合ZigBee特点。ZigBee建立在IEEE 802.15.4协议基础上,增加网络层和应用层,支持星型、树状、网状等自组织网络类型,网络可容纳多达64000个设备,组网距离可由几十米扩展到上千米。ZigBee节点可分网络协调器、全功能设备(FFD)和简化功能设备(RFD)三种,网络协调器实际上是一种 FFD设备,负责启动整个ZigBee网络,FFD比RFD拥有更强大计算能力和更丰富系统资源,可作为网络建立者、管理者或终端设备;RFD常作为终端设备,从FFD接收信息或将信息传递给FFD[5]。
图2 物联网与智能家居教学系统结构图
本系统ZigBee设备选用JENNIC公司JN5139系列模块,使用一个全功能设备JN5139-Z01-M02R1作为 ZigBee网络协调器,用于接收上位机指令及发送网络节点信息给上位机;使用三个简化功能设备JN5139-Z01-M01R1作为网络节点,用于控制家居设备及上传状态信息。整个网络工作于星型网络结构。图3 为ZigBee节点组网流程图。
图3 ZigBee组网流程
手机用户与智能家居网络的联系纽带是移动通信网,这里选用3G技术。3G模块选用华为EM560模块,它支持TD-SCDMA(3G)和GSM(2G)两种网络,是目前业界唯一同时支持 A频段(1880MHz~1920MHz)和B频段(2010MHz~2025MHz)的TD模块,它支持mini PCI-Express和UART接口,支持短信、语音、电话本、补充业务等功能,对它驱动由AT命令实现。表1列出了短信收发的几条重要AT命令。
表1 短信收发相关的重要AT命令
根据GSM 07.05的定义,SMS短信有Block、Text和PDU等三种模式。Block模式需模块生产厂家提供驱动;Text模式只支持英文短信息;PDU模式支持中英文短信息,本系统采用PDU模式。
接收短信的PDU串格式与发送短信的PDU串格式不同,需要编写特定的PDU编码程序。例如,向13680337931号码发送一条短信,内容是“节日”,则 PDU串为:0891 683108200005F0 11000D91 6831863073 39F1 0008FF04 828265E5。其中,683108200005F0表示服务中心号码8613800200500,邻位对调,补‘F’凑双数;683186307339F1表示对方号码8613680337931,邻位对调,补‘F’凑双数;828265E5表示短信内容“节日”的Unicode编码。收到13680337931号码发来的一条短信,内容是“节日”,则 PDU 串为:0891 683108100005F0 040D91 683186307339F1 0008 11604201530523 04 828265E5。其中,683108200005F0表示服务中心号码8613800200500;683186307339F1表示对方号码8613680337931;11604201530523表示短信时间2011-06-24 10:35:50 UTC+8时区;828265E5表示短信内容“节日”的Unicode编码。
主控软件用C#语言在Visual Studio 2008环境下开发,C#是.NET框架重点推出的面向对象开发语言,具备C++语言安全性和VB语言快速开发特点,适合用户界面开发[6]。主控软件与ZigBee协调器通过串口连接,.NET平台提供SerialPort类操作串口。主控软件与3G模块EM560通过USB连接,PC操作系统的注册表会创建一个虚拟串口,对虚拟串口写AT命令即可控制 EM560。使用 SerialPort一般先配置PortName、BaudRate、Parity、DataBits、StopBits,然后用Open()打开串口,用Close()关闭串口,用Read()读串口,用Write()写串口。串口接收采用事件触发方法,只需重载SerialPort.DataReceived事件。
系统工作流程如图4所示。首先,手机用户通过短信把控制命令发送到 3G模块,收到短信后通过USB传给主控中心PC,主控中心解释命令并通过串口发给ZigBee协调器,协调器通过ZigBee无线网络把命令发给指定分控终端 ZigBee节点,节点根据命令控制继电器,从而实现手机用户对家电的控制;其次,ZigBee节点执行命令后,向ZigBee协调器返回状态,协调器把状态传送给主控中心,主控中心通过3G模块以短信方式发送到用户手机上,从而实现家居对手机用户的回答。此外,PC用户还可通过主控中心 PC机的主控软件直接控制家电和查询家电状态。
图4 系统工作流程
主控软件主要考虑以下问题:(1)界面美观得体、色彩柔和、内容简洁、布局均匀;(2)控制图与实物相似,形象生动。如开灯则灯的图标和按钮变亮色,关灯则变暗色;(3)界面给出物联网智能家居原理图,导引清晰,易教易学;(4)自动搜索,软件启动后会读取 PC操作系统的串口注册表,自动搜索 ZigBee协调器和3G模块设备,无需手动设置串口参数和人工搜索;(5)联动控制,控制家电的三种方式(短信控制、软件控制、手动控制)可单独控制,也可联合控制,短信控制的命令和状态会在软件的状态栏显示。图5为主控软件界面。
图5 主控软件界面
根据物联网专业的教学科研需求,在此系统基础上可设计多种实训实验,如传感器信息采集实验、无线信号收发实验、ZigBee网络通讯实验、上位机软件交互控制实验等等。
(1)ZigBee节点组网实验 协调器上电,系统自动播报欢迎语音;节点1上电,1秒钟后与协调器组网成功,节点1的绿灯闪;节点2上电,1秒钟后节点2加入节点1与协调器的网络成功,节点2的绿灯闪,同样依次启动其他节点加入网络。
(2)软件控制电灯电扇实验 点击软件的开灯按钮,被控灯亮,软件的灯图标变亮、按钮文字变成“关”;再按此按钮,被控灯灭,软件的灯图标变暗、按钮文字变成“开”;点击软件的开风扇按钮,被控风扇转,软件的按钮文字变成“关”;再按此按钮,被控风扇停,软件的按钮文字变成“开”。
(3)短信控制电灯(或电扇)实验 手机编辑短信“L1ON”(开灯1)发到3G模块的SIM卡号码,被控灯亮,软件的灯图标变亮、按钮文字变成“关”,同时收到3G模块的短信回复“L1ON:OK”(开灯1成功);手机编辑短信“L1OFF”(关灯 1)发到 3G 模块的SIM卡号码,被控灯灭,软件的灯图标变暗、按钮文字变成“开”,同时收到 3G模块的短信回复“L1OFF:OK”(关灯1成功)。
物联网和智能家居技术是当前研究热点,本文结合二者为物联网相关专业开发教学工具。本教学系统实现了短信、软件、手动三种方式控制家电。系统具有自动搜索下位机设备、自动组网的特点,系统启动播报欢迎语音,软件界面形象生动,并且可进行多种全面的实验,满足物联网专业的教学和科研需求。
[1]Atzori Luigi,Iera Antonio,Morabito Giacomo. The Internet of Things: A survey [J]. COMPUTER NETWORKS,2010,54(15):2787-2805.
[2]温家宝.政府工作报告[R].北京:第十一届全国人民代表大会第三次会议,2010.
[3]张云勇,房秉毅.基于物联网的智能家居技术标准化现状及发展建议[J].移动通信,2010,(15):25-29.
[4]张晖.物联网技术框架与标准体系[N].中国计算机报,2010-03-15(32).
[5]周怡頲,凌志浩,吴勤勤.ZigBee无线通信技术及其应用探讨[J].自动化仪表,2005,26(6):5-9.
[6]葛磊蛟,姚素娟,毛一之,等.基于 C#.NET的 GSM MODEM短信猫应用设计开发[J].现代电子技术,2009,(6):94-96.