基于XPort和ZigBee模块实现嵌入式设备入网的设计

引言
zigbee技术作为一种新型的近距离、低功耗、低数据传输率的双向无线通信技术,在家电产品中得到越来越广泛的应用。在网络无处不在的今天,人们希望随时随地能访问和控制家庭中的各种家电设备。这就要求嵌入在家电产品中的智能控制系统 (agent)能够与internet相结合,使家电设备顺利地接入internet,并能提供相应的网络服务。实现这些服务要求agent必须实现 tcp/ip协议栈,不管是以软件方式还是以硬件方式,都会增加产品开发的成本、周期和复杂度。本文介绍一种基于xport和zigbee模块的 internet接入方案,将它集成到家电产品的设计中,即可使智能家电设备便捷地接入internet,然后通过internet来控制。
1 xport
xport设备服务器是美国lantronix公司开发的一种紧凑且高度集成的、可让任何带有串口的智能设备接入internet的嵌入式设备。通过在自己的产品设计中集成xport,开发人员不必考虑复杂的网络协议,可以大大缩短产品开发周期。xport模块集成有lantronix公司的dstni- ex增强版16位cpu。该模块为i86内核体系结构,具有24位寻址能力、256 kb的sram、16 kb的引导rom、384 kb的flash和10/100 mbps自适应以太网口(rj45)。图1直观地显示了xport的接口方式和内部布局。xport一端为3.3 v cmos电平的8引脚高速串口(gnd,3.3vdc,reset,data in,data out,cpl,cp2,cp3),另一端为rj45标准以太网口。
xport的主要功能是实现串口与10/100 mbps网络间的数据转换,便于带有串口的设备接入internet;另外还有email告警功能,通过设定的条件触发。xport高速串口支持 rs232、rs485协议,有300~921 600 bps的波特率可选。控制信号有dtr/dcd、cts、rts,流控制有xon/xoff、rts/cts、3个pio pin口(软件可选)。xport网络接口的连接器为rj45,支持协议有tcp/ip、udp/ip、arp、icmp、snmp、tftp、 telnet、dhcp、bootp、http和autoip。xport具有基于windows平台的配置工具,内建web服务器,flash存储器可以存储用户自定义网页,固件可以通过tftp和串口升级。xport设备服务器还提供10/100 mbps自适应以太网连接、存储在flash中的可靠的操作系统、嵌入式web服务器、完整的tcp/ip协议栈、标准的aes加密、状态指示灯和电磁屏蔽电路等。xport的内部结构如图2所示,一端的串行接口与dstni-ex连接,另一端的以太网连接器通过一个防电磁干扰电路与cpu连接。
xport通过串口和边缘设备通信。xport的工作电压为3.3 v,内部有一个电压监测电路,当提供的电压低于2.7 v时会触发重启。3.3 v电压通过内建的1.8 v电压转换器为微处理器供电,滤波电路产生3.3 v的数字电压和模拟电压,25 mhz晶振电路为cpu和以太网媒体访问控制芯片提供精确时钟信号。
2 系统结构
远程访问和控制家电需要处理的关键问题是不同数据类型的转换,即tcp/ip数据如何被转化为家电可以接收识别的数据,使用户通过局域网或。internet终端就能访问家电。该系统主要由3层组成:用户层、控制中心层和终端设备层,其结构如图3所示。
其中,用户层负责收集、显示整个系统家电状态数据和发送控制命令,这些功能由用户层中的web页面来实现,也可以使用上位机软件;控制中心层实际上成为用户层与终端设备层之间的一个连接,由tcp/ip到串口转换设备xport和zigbee模块lm2455-em组成,相当于一个zigbee网关,其主要作用是协议转换和数据传递;终端设备层是由传感器、无线发射模块和微控制器(mcu)等组成的智能家电产品。用户层通过用户程序发出的控制命令经 socket连接传给xport,设备mcu接到数据后控制执行器产生相应的动作,让家电进入相应的工作状态。家电作为该系统中的嵌入式终端设备,成为 zigbee网络中的一个zigbee节点。
图3中,虚线表示zigbee无线通信,可分为单向和双向。单向通信时,家电设备控制中心只需对其发出命令,控制其工作状态;双向通信时,家电设备控制中心还需要从该设备获得相关的信息,并将该信息返回给用户。系统的关键部分是控制中心层,其中xport负责与局域网或internet连接,lm2455 -em无线模块负责组建zigbee网络并与家电通信。图4给出了xport与lm2455-em的连接方式。xport的数据接收口连接lm2455- em的数据发送口p1_1,xport的数据发送口接lm2455-em的数据接收口p1_0。
当用户通过internet发送控制家电的信息或者想要获得家电状态时,xport就将收到的网络数据转换为串口数据,通过其引脚4发送给lm2455- em的串口(p1.0);lm2455-em做出相应的响应,并通过无线收发器向终端设备发送相关命令。同样,终端设备对收到的命令做出响应,如果用户端需要读取家电状态,则发送状态信息给控制中心。当lm2455-em收到zigbee无线数据时,将其发送到xport的引脚5,xport就将原始数据打包成tcp/ip数据包,发送给用户。
3 zigbee模块
zigbee模块lm2455-em的核心是韩国radiopulse公司推出的一款片上系统芯片mg2455-f48。它完全兼容ieee 802.15.4标准和zigbee标准,为家电控制、无线传感器网络等zigbee应用提供一种无线解决方案。由rf收发器、嵌入式8051核微控制器、内部flash存储器一般i/o口和定时器、uart等外围设备组成;通信速率有250 kbps、500 kbps、1 mbps,提供μ-law/a-law/adpcm语音编码支持,具有96 kb的flash程序存储空间和8 kb数据内存。
在空旷场合,通信距离可以达到200 m。其功耗很低,在睡眠模式下,电流消耗低于1μa;在接收状态下,电流消耗为33.2 ma;在发送状态下,0 dbm时电流消耗为30.6 ma,8 dbm时电流消耗为43 ma。mg2455-f48采用四侧无引脚扁平48引脚封装方式。
mg2455-f48芯片集成了符合zigbee协议标准的射频收发器和微处理器,具有通信距离远、抗干扰能力强、组网灵活、性能稳定可靠等优点,能实现点对点、一点对多点、多点对多点间的数据透明传输,可组成星型、树型、蜂窝型等网络拓扑结构。数据通信方式包括广播方式和按照目标地址发送方式。 radiopulse公司以库文件的形式为用户提供zigbee协议栈软件,用户可使用keil等工具软件编译自己的应用程序。
4 xport的配置
xport上电后需要进行配置,使其符合用户需要的工作状态。lantronix公司提供了相应的工具软件lantron-ix devicelnstaller。运行该软件,如果xport供电正常且已经接入网络,该软件会自动搜寻到该设备。可以通过3种方式配置xport:浏览器方式(推荐使用,图形用户界面),telnet:远程登陆方式和串口方式。
首先使用deviceinstaller软件为其分配一个有效的ip地址,然后设置xport的串口工作方式,最后设置其网络参数。使用协议选择tcp,工作模式为接收连接。需分配一个本地端口,如果选择主动连接,则需要选择远程主机的ip地址和端口号,其他默认设置即可。
使用浏览器配置xport的参数需要人工手动设置,而使用基于命令行的串口方式可实现自动设置。用户编写的xport参数设置程序,上电时自动启动进入监视模式,完成相关参数设置。由于xport内置web服务器,可以使用java applet编写自己的网页程序,烧写到xport的用户存储空间,然后在程序中使用socket.receive()和socket.send()处理用户自己的数据。
5 zigbee网络构建
zigbee网络有星型、树型、网状等多种组网方式。组建成什么网络应根据需要而定。对各家电问没有通信需求,也没有扩展通信距离需要的,可以构建成星型网络。在星型拓扑结构中,所有的终端设备都与唯一的中央控制设备——pan协调器通信,终端设备之间的通信通过pan协调器的转发来完成。终端设备要么是通信的起点,要么是通信的终点;pan协调器则既可以是通信的起点,也可以是通信的终点。
在一个zigbee网络中,设备类型分为zigbee协调器、zigbee路由器、zigbee终端设备,pan协调器就是zigbee协调器。 zigbee协调器是一个起网络控制中心作用的ffd,它不单为网络控制而存在,还可以有自己的应用。与xport连接的zigbee模块lm2455- em就充当zigbee协调器的角色,负责网络的创建。
创建一个新的网络需要用到以下几个网络层原语。
①nlme-reset.request原语:实现对网络层复位,清除所有内部变量和路由发现表记录。
②nlme-network-formation.reqctest原语:创建一个新的zigbee网络。只有充当zigbee协调器的全功能设备才能尝试建立一个新网络,在创建网络之前,它首先会请求mac层执行能量检测扫描。
③nlme-permit-joining.request原语:允许一个zigbee终端设备加入网络。
构建网络代码由zigbee协议库文件实现的main()函数来调用。它可以在zuser_init()中实现,也可以在zuser_main()中实现。处理用户自己数据则在zus-er_main()中实现。运行在zigbee协调器中的main()函数通过一个死循环调用zuser_main() 来执行任务和工作,其伪代码如下:
结语
zigbee作为智能家居的实现技术之一,有着很好的应用前景。本文给出了一个简单而高效的解决方案,使zig-bee终端设备能够便捷地接入 internet,用户通过浏览器就可以操作和控制家电。用该方法实现嵌入式设备入网,不再需要在设备中增加以太网控制器并在mcu中实现tcp/ip协议,可大大降低系统设计复杂度,缩短开发周期。随着网络技术的不断发展,更多的产品会连接到网络上,通过更小的设备来完成细分的工作。嵌入式终端设备入网既是需求,又是趋势,该方法同样适合于其他通过串口交换数据的嵌入式设备联网。


区块链技术或将在气象领域发挥重大作用
激光振动传感器实现了从高端设备到大规模应用的跨越
顺力电机厂家分享保护直流减速电机的方法
手机内置天线面临的挑战问题分析
Q1国内锂电池产业链调研分析
基于XPort和ZigBee模块实现嵌入式设备入网的设计
自动驾驶汽车会让400万美国驾驶员失业
Tintri宣布推出Tintri SQL Integrated Storage,这是一种存储技术
搭建易云维智能工厂系统进行数字化转型来实现数据互联互通与业务高效协同
浅析废旧电池最终的处理方法
智能导航技术如何扫清扫地机器人普及最后一道障碍?
电动自行车专用MOS管:安森德ASDM68N80KQ(替代)美国万代AOD4126
讯飞星火被评为中国“最聪明”的大模型
安泰高压功率放大器在半导体测试中的应用
英特尔积极布局竞争激烈的无人驾驶,意图重振PC时代雄风
自动拆包机的工作原理是什么
比特币期货是否能满足SEC的所有要求?
纯手工制作高清投影机全过程
vue-cli开发环境实现跨域请求
OPPO新款旗舰Find X2曝光,这个设计是你的菜吗?