当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:给出了一种融合下一代网络核心控制协议SIP和短距离无线通信协议ZigBee的物联网家庭网关的设计方法。该方法通过对家庭网关的硬件设计、SIP方法及其XML消息体扩展应用设计以及ZigBee无线通信数据格式的设计,实现了家庭网关中的SIP与ZigBee协议的融合,最终通过Internet远程访问和控制基于ZigBee协议构建来实现物联网家庭网络。

引言

物联网带动了继互联网之后全球信息产业的又一次科技与经济浪潮,智能家居及家庭网络无疑是物联网的热点应用领域。家庭网关是连接公网和家庭内网的喉舌,负责家庭内部设备对公网的访问、交互,用户从公网上对家庭网络访问、控制,以及家庭内部设备的互联等操作。物联网家庭网关需要具备宽带接入、业务识别和控制信息转发等功能。

1SIP的概念

会话起始协议(SessionInitiationProtocol,SIP)是由互联网工程任务组(InternetEngineeringTaskForce,IETF)于1999年提出的一个基于IP网络实现复杂通信应用的应用层信令协议。

SIP是一个C/S协议,包含用户代理(UserAgent,UA)和网络服务器(Server)两类组件。SIP终端系统上运行的与用户交互的软件称为用户代理,网络服务器为用户代理提供注册、认证、鉴权、路由等服务。SIP呼叫建立和SIP会话功能依靠SIPUA及SIPServer实体完成。

SIP协议定义了两种类型的消息:请求和响应。SIP请求包含INVITE、ACK、BYE、CANCEL、OPTIONS,REGISTER等六种基本方法,以及SUBSCRIBE、NOTIFY、PUBLISH等扩展方法。SIP响应包含1xx、2xx、3xx、4xx、5xx、6xx等六类消息。

SIP消息的3个基本部分消息类型、消息头和消息体均可扩充,并且SIP采用基于UTF-8字符集的文本编码形式实现,可十分简便地对消息进行扩展,使之适应各种具体的应用场景。

2ZigBee技术

ZigBee基于IEEE802.15.4标准,在众多短距离无线通信协议中,ZigBee技术有以下优势:

⑴成本低,开发相对容易,芯片CC2530的售价不到2美元,且免费提供ZigBee通信协议和开发工具;

能耗低,CC2530正常使用时功率不到1W;

可靠;

(4)组网方式灵活。

ZigBee技术的唯一缺点是传输速率不高,但也完全能满足物联网家庭网络中的无线感知与监控需要。

3系统总体架构

图1所示是物联网家庭网络架构。釆用ZigBee协议构建家庭网络时,可连接各种传感器、继电器(家电及控制设备)与家庭网关。在ZigBee无线家庭网络中,传感器、继电器担任终端的角色,家庭网关中的ZigBee主控模块担任协调器的角色。家庭网关上集成了ZigBee协调器与SIPServer的功能,能同时实现ZigBee网络协调器功能、SIP与ZigBee协议数据格式的转换功能以及经SIP协议到Internet的访问权。SIP/ZigBee网关按SIP协议规范,代理ZigBee网络内的各种传感节点及继电器节点设备;家庭成员可通过SIP协议由SIPUA经Internet访问家庭网关,实现对家庭内传感器信息的获取,以及对家庭设备的远程访问和控制。

基于SIP和ZigBee的物联网家庭网关设计

家庭网关的一个重要作用就是实现公网中SIP协议与家庭网络中ZigBee协议与数据格式的转换。本文采用如图2所示的协议模型,图2中,左侧为ZigBee网络协议模型,右侧为SIP协议模型,中部为物联网家庭网关协议模型。

基于SIP和ZigBee的物联网家庭网关设计

4家庭网关的硬件设计

硬件上采用DMATEK的DMA210XP整合平台,整合了ZigBee协调器ZB2530-03模块,两者间采用串口交换数据。图3所示是本系统家庭网关的硬件设计图。

基于SIP和ZigBee的物联网家庭网关设计

图3中的DMA210XP采用具有先进ARMCortexA8核心的SamsungS5PV210处理器,该处理器采用先进的ARMCortexA8核心,运算速度可达1GHz,且自带32/32KB指令一级缓存,512KB二级缓存。具备128M×8片共1GBDDR2SDRAM,

512MBSLCNANDFlash外部内存;另有SD卡接口、MicroSD(T-Flash)卡接口、USB接口、网口、串口、音频接口、CMOSSensor摄像头接口、CAN总线接口、HDMI接口、GSensor接口等,并有16.7M色800×4807.0inTFT电容式多点触摸液晶屏,达到图形监控与收集资料的应用。

ZigBee协调器ZB2530-03模块由TI公司的核心芯片CC2530F256及其外围电路组成。CC2530F256是用于2.4GHzIEEE802.15.4/ZigBee应用的一个片上系统(SoC)解决方案。它以非常低的总的材料成本(约2美元)建立强大的网络节点。CC2530F256结合了领先的RF收发器的优良性能,具备业界标准的增强型8051CPU,256KB可编程闪存,8KBRAM,低功耗,高接收灵敏度和抗干扰性能,以及许多其他强大的功能,其电路图如图4所示。

基于SIP和ZigBee的物联网家庭网关设计

5家庭网关的软件设计

5.1协议栈的实现

本系统采用开源的libosip2、eXosip2来实现SIPUA,并采用开源的OPENSER实现SIPServer。家庭网关采用linux操作系统,SIPServer在linux环境下编译、调试。

采用TI提供的ZStack协议栈[4]实现IEEE802.15.4/ZigBee协议栈,而采用IAR嵌入式集成开发环境具有在线下载、调试、仿真等功能。

5.2各操作的SIP协议实现

任何访问家庭网关及网络的SIPUA均要向位于家庭网关的SIPServer注册,以获得身份认证及访问权限,注册用RRGISTER方法实现。

为了能实时远程获取家庭网络内各类传感器采集到的监测信息,SIPUA需要向SIPServer订阅家庭网络中事件的变化。当所订阅的事件状态发生变化时,订阅者会接收到来自通告者的通知。订阅用SUBSCRIBE方法实现,通知用NOTIFY方法实现[5]。

SIPUA通过Internet远程控制家电设备的开启或关闭,利用INVITE方法实现。

SIPUA向SIPServer注册

图5所示是SIPUA向家庭网关注册的关系图。其注册步骤如下:

SIPUA发送REGISTER消息到SIPServer。

SIPServer返回40l响应给SIPUA,要求认证。

SIPUA加入认证信息,重新向SIPServer进行注册。

SIPServer检查REGISTER消息参数合法性。若参数合法且正确,贝峋SIPUA返回200OK,完成注册;若参数不合法或不正确,则返回403Forbidden,表明注册失败。

基于SIP和ZigBee的物联网家庭网关设计

注册成功后,SIPUA需要按指定超时时间进行刷新注册,否则SIPServer令其注销。

SIPUA订阅家庭监测信息

图6所示是SIPUA订阅家庭监测信息示意图。该过程可分为两步:其一是SIPUA发送SUBSCRIBE消息给SIPServer订阅远端家庭网络传感节点监测信息;其二是SIPServer检查SUBSCRIBE消息参数的合法性,同时查询该用户是否具有相应的订阅权限,并根据查询结果对SIPUA做

200OK或403Forbidden回执。

基于SIP和ZigBee的物联网家庭网关设计

5.5家庭网络信息发布和更新

图7所示是家庭网络信息发布和更新示意图。SIPServer/ZigBee协调器实时汇聚ZigBee网络内各传感节点的采集值,若监测到某订阅的ZigBee传感器感测值有变化,及时构造相应的NOTIFY消息发送给成功订阅该事件的SIPUA。

基于SIP和ZigBee的物联网家庭网关设计

5.6SIPUA远程控制家庭设备

基于SIP和ZigBee的物联网家庭网关设计

图8所示是用SIPUA远程控制家庭设备的原理图。SIPUA远程控制家庭设备时,SIPUA首先发送INVITE消息给SIPServer,以请求远程控制家庭设备。之后,SIPServer解析INVTIE请求,并向对应的家电设备(继电器)发出控制命令(打开或关闭)。若家电设备正常动作且发回正确应答,则按图8(a)所示信令流程继续本次SIP会话;若家电设备未能正常动作或未发回正确应答,则按图8(b)所示信令流程,由SIPServer向SIPUA回应486Busy应答,以结束本次SIP会话。

6SIPXML消息体的设计

在SIPSUBSCRIBE,NOTIFY及INVITE方法的XML消息体中携带与ZigBee家庭网络通信的数据内容。采用XML格式的消息体为管理ZigBee家庭网络提供了高度的灵活性和高效率的实施方法。

6.1用SUBSCRIBE方法设计XML消息体实例

(1)示例一:订阅温湿度传感器监测信息。

<?XMLversion=v1.0vencodingsvutf-8”?><subscribe>

<temprature></temprature>

<humidity></humidity>

</subscribe>

(2)示例二:订阅安防监测信息。

<?XMLversion=”1.0”encoding^'utf-8”?>

<subscribe>

<body></body>

</subscribe>

6.2用NOTIFY方法设计XML消息体实例

(1)示例一:发布和更新温湿度信息。

<?XMLversion='1.0'encodings'utf-8'?>

<notify>

<temprature>26.5</temprature><humidity>58.2</humidity>

</notify>

分别在<temprature>和<humidity>的XML字段中携带温度与湿度值。

(2)示例二:发布和更新安防信息。

<?XMLversion='T.0"encoding="utf-8"?>

<notify>

<body>Y</body>

</notify>

Y表示有人闯入,N表示无人。

6.3用INVITE方法设计XML消息体

<?XMLversion="1.0"encoding="utf-8"?>

<command>

<open>Y</open>

<item>aircon</item>

</command>

在<open>字段中携带开或关的指令,Y表示开,N表示关;在<item>字段中携带要操控的设备,例如aircon表示空调,curtain表示窗帘。

SIPServer需要完成SIP协议与串口数据格式的双向转换,从串口接收ZigBee主控汇聚的监测信息供SIP上层应用使用,从SIP方法的XML消息体中提取指令转换为串口数据格式,发向ZigBee协调器模块。

7ZigBee无线通信数据格式设计

在ZigBee家庭网络中,位于家庭网关中的ZigBee协调器负责接收和汇聚各类传感器采集到的监测信息,并将接收到的信息通过串口发往上层SIP应用(ZigBee串口与ZigBee无线数据格式一致),同时将从串口接收到的控制指令发往各继电器(家电)。

7.1协调器接收格式

发送端的传感器格式(byte1~byte10)如图9所示。

基于SIP和ZigBee的物联网家庭网关设计

在图9中,byte1byte2:传感器端数据发送的固定头,固定为0xFA0xFB;byte3:数据类型的标识,0x00为温湿度,0x01为安防,0x02为火焰,0x03为烟雾,0x04表示可燃气体;byte4:传感数据长度(统一为0x04);byte5〜byte8:传感器采集到的具体数据;byte9:保留;byte10:byte1〜byte9校验值(相加取低8位)。

7.2协调器发送数据格式

接收端家电设备(继电器)的格式(byte1〜byte10)如图10所示。

基于SIP和ZigBee的物联网家庭网关设计

在图10中,byte1byte2:协调器端数据发送控制继电器命令的固定头0xFA0xFB;byte3:协调器端数据发送对象和继电器序号(0x01为发送命令给继电器1端,表示空调;0x02为发送命令给继电器2端,表示电灯;0x03表示发送命令给继电器3端,表示窗帘;0x04为发送命令给继电器4端,表示电饭煲,依此类推……);byte4:命令长度,固定为0x04;byte5:发送给继电器的命令内容(0x02为关闭,0x01为开启);byte6〜byte9:保留:byte10:byte1〜byte9校验值(相加取低8位)。

7.3家电设备(继电器)应答数据格式

本系统的接收端协调器格或byte1〜byte9)如图11所示。

基于SIP和ZigBee的物联网家庭网关设计

图11中,byte1〜byte4表示收到的数据原值返回;byte5〜byte8为应答码,固定为0xAA0xBB0xCC0xDD;byte9为byte1〜byte8校验值(相加取低8位)。

8结语

家庭网关在物联网智能家居网络中具有重要地位,本文从硬件和协议数据格式上对家庭网关进行了设计,通过SIPXML消息体和ZigBee无线通信数据格式的设计,能很好实现家庭网关对协议及数据格式的转换功能,实现基于SIP协议的公网访问基于ZigBee协议的家庭网络。

20211024_61753711dd4c5__基于SIP和ZigBee的物联网家庭网关设计

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭