2015年4月14日
#
0 引言
一直以来,我国低压电网用电侧处于无法远程监控状态,无法获知漏电流越限信息及故障跳闸原因,更无法对故障进行定位和自动隔离,增加一线员工的工作量。若要解决此问题,必须装设带通信型漏电流动作保护器(下称智能断路器),并把信息实时上传到主站系统进行分析管理。目前常规的智能断路器是通过RS-485总线或GPRS模块无线公网直接与主站进行数据交换,但RS-485总线传输距离短、布线不方便且维护量大,GPRS模块无线公网由于智能断路器的GPRS模块节点多,通信费用高且与主站连接造成多并发问题。
本文设计一种用于低压配网负荷及漏电流监控的通信管理机,可与分散在一定区域范围内的智能断路器通过自组网的ZigBee模块无线传感器网络进行数据通信,统一管理各个分散的智能断路器数据,并可通过GPRS模块无线公网与监控主站进行数据交换,实现对智能断路器的远程监测、分合控制以及运行参数的设置。
通信管理机担负ZigBee数据采集、命令转发、数据及状态量存储等工作,其具体功能包括:定时采集并存储低压线路智能断路器的电压、电流、漏电流数据,并定时上传主站;接收主站命令,向智能断路器发遥控命令实现智能断路器的参数设置、手自动设置及开关分合控制;存储告警事件并立即上传主站。
1 通信结构与智能断路器
1.1 通信结构
通信管理机通信结构如图1所示。与智能断路器间为ZigBee模块无线传感器网络,各个智能断路器作为ZigBee无线数传网络节点,通信管理机为ZigBee无线数传网络的协调器,数据传输遵循智能断路器厂家提供的通信协议。与主站间为GPRS模块无线公网,主站拥有固定的IP地址,通信管理机上电即自动向特定IP的主站申请连接,待主站对连接响应后,主站和通信管理机便建立起透明的数据连接。
图1 通信管理机通信结构图
1.2 智能断路器
智能断路器是具有数字化接口,能接收分合闸命令并能将位置信息、状态信息等与其它设备进行传输的设备,集保护、测量、监控于一体,具备人机对话显示、存储和记忆等功能。本文使用的三相和单相智能断路器选择适用于低压电网的通信型剩余电流断路器,可运行在手动或自动控制方式下,自动控制方式下突变漏电流、缓变漏电流、电流或电压越限智能断路器自动跳闸,并在实时数据帧的数据位最后一位表示自动跳闸原因,手动控制方式下不跳闸;其主要外设包括低压线路的输入口和输出口、状态指示灯、分合闸按钮、RS-485接口和交流电源;该系列断路器的功能如表1所示(只列出主要功能),包括读数据、读参数、设置参数、智能断路器分合闸及设置手自动运行方式。智能断路器通过RS-485接口外扩ZigBee模块实现与通信管理机的ZigBee无线通信,外扩的ZigBee模块包括RS-485接口、RS-485转UART芯片。ZigBee模块无线传感器网络通信具有自组网、低功耗和抗干扰能力强等优点,方便通信管理机对智能断路器进行数据查询及控制。
表1 智能断路器主要功能
2 通信协议设计
通信管理机与智能断路器数据传输遵循智能断路器厂家提供的通信协议(具体参见标准DL/T 645-2007),下称“终端规约”。主要介绍通信管理机与主站的通信协议,下称“主站协议”。
通信管理机与主站数据传输规则采用应答方式,主站主动召唤数据或者通信管理机在正常工作状态下每隔N 分钟(时间间隔可设置)主动上报一次数据,当产生告警信息时,通信管理机即时上报告警事件。
每帧由帧起始符、数据长度、地址域、数据单元标识域、数据单元域、校验域等组成,如表2所示。
表2 主站协议通信帧格式
数据传送,低字节在前,高字节在后。起始符值为68H,标识一帧数据的开始;数据长度为原始数据除开始码、数据长度、校验和及结束码外的所有数据的字节数;地址域为通信管理机地址,数据单元标识为传输数据的类型;数据单元为传输的数据;校验和为数据长度开始到校验和之前所有字节的累加和,不计溢出位;结束符为16H,标识一帧数据的结束。对启动站发送的无需数据返回的命令,从动站校验通过后一律返回接收正确命令,即系统应答报文。对SOE事件的确认必须加上当前上报的事件计数器。主站协议部分数据单元标识如表3所示。
表3 主站协议部分数据单元标识
3 硬件设计、
3.1 系统部分
系统部分主要包括中央处理器、存储系统及其外围电路。
3.1.1 中央处理器
中央处理器选用digi公司工业级RCM6710模块,工作频率可达162.5 MHz。相对于C51、DSP芯片,该模块具有数据处理能力强、串口多、外设丰富、抗干扰能力强及较高性价比等优点,满足配电网通信规约转换器要求。
RCM6710模块拥有一个USB接口、一个以太网口及6个高速UART接口。主要硬件资源及外设如图2所示。6个高速UART接口的设计分别为:串口A通过SP3232芯片提供RS-232通信接口,作为调试及程序下载口;串口B和D不作开发;串口C接ZigBee模块,实现与智能断路器通信;串口E与中兴ME3000GPRS模块模块连接,实现与主站间的数据交换;串口F通过RSM3485CT芯片提供隔离RS-485通信接口,作为预留。预留接口是考虑到系统电路设计的通用性及可扩展性,调试成功后可用于其它项目。该模块外设的串口状态指示灯显示各串口是否处于工作状态,板载实时时钟确保上传数据附带精确时间。
图2 通信管理机硬件框图
3.1.2 存储系统
存储系统包括芯片内置存储器SRAM和板载存储器。内置的SRAM空间1 MB,用于程序运行;模块板载1 MB Serial Flash和4 MB Serial Flash,分别作为程序存储器和数据存储器,数据存储器存储的内容包括:通信管理机地址、IP和主动上传时间间隔及智能断路器的历史数据、实时上传数据、运行状态和设置参数等。所存储的设置参数控制着通信管理机的运行,通信管理机启动时,将设置参数加载到RAM中进行参数配置,一旦主站对参数进行更改,参数区数据立即进行更新并保存其最新状态到Flash中。主站查询智能断路器的数据、设置参数及运行状态只需访问通信管理机的存储系统,无需再下发智能断路器。
3.2 接口部分
接口电路包括主要包括GPRS模块模块、RS-485通信电路和ZigBee模块等。
这里主要介绍GPRS模块模块。
通信管理机GPRS模块模块选用中兴ME3000模块,该模块拥有高速UART接口、Audio接口、SIM卡接口、天线接口和RTC接口。与RCM6710的接口电路如图3所示。RCM6710串口E与该模块高速UART连接实现数据交换,RCM6710的GPRS模块_RST和GPRS模块_IGT分别实现中兴ME3000模块的复位和上下电,其中GPRS模块_IGT引脚低电平持续时间超过1 500 ms时模块开启,低电平持续时间超过2 s时模块关闭。该模块与RCM6710采用双线模式通信,故使中兴ME3000模块的UART控制引脚/RTS和/DTR处于低电平。
中兴ME3000模块可通过标准AT命令进行控制和数据传送,支持内嵌TCP/IP协议,用户可以直接进行透明的数据传输,不用再考虑复杂的网络协议。
图3 中兴ME3000模块硬件原理图
4 程序设计
通信管理机实现的功能包括ZigBee数据采集、数据存储、规约转换、参数设置和数据传输等,因此采用能处理多任务的μC/OS-Ⅱ操作系统。设计时,按照功能划分任务,并根据任务的实时性要求确定任务优先级,还要按照每个任务所处理的数据量的大小,给每个任务分配大小合适的堆栈。
按功能将任务划分为定时管理、GPRS模块通信、数据解析和ZigBee通信任务。任务创建程序如下:OSInit();OSTaskCreate(TimeDeal,(void*)0,2048,10);OSTaskCreate(GPRS模块,(void*)0,2048,11);OSTaskCreate(DataCom,(void*)0,4096,15);OSTaskCreate(ZBDeal,(void*)0,4096,20);OSStart();定时管理任务是最需保证准时运行的任务,所以优先级最高。其次为GPRS模块通信任务、数据解析任务,最后为ZigBee通信任务。当多个任务同时要执行时,优先级高的先运行。
各任务分别编写,不仅能够提高开发效率,更有助于日后的升级维护。任务操作对象为缓冲区及全局变量,程序在RAM中开辟了8个GPRS模块发送缓冲区和1个GPRS模块接收缓冲区,数据顺序为FIFO(First InFirst Out)结构,采用环形队列实现。数据发送时必须先申请一个空闲的缓冲区,故要对缓冲区进行忙校验,申请缓冲区时也需要对缓冲区的大小进行合理设定。
任务创建后,根据各任务要求执行的频率,在每个任务建立的循环中写入延迟执行命令:OSTimeDlyHMSM(h,m,s,ms)。各任务间的关系如图4所示。
图4 通信管理机任务
定时管理任务主要负责计时和延迟,包括GPRS模块重发延迟、GPRS模块发送延迟和心跳包发送延迟功能,主动上传数据和心跳包上传时间间隔分别默认为5 min和2 min。下面主要介绍数据解析任务、ZigBee通信任务和GPRS模块通信任务。
4.1 数据解析任务
数据解析任务主要负责与主站服务器间的数据交换,操作的对象为全局变量、GPRS模块发送缓冲区和GPRS模块接收缓冲区,物理层按照GPRS模块协议进行数据传输,协议层根据主站规约进行解析和打包。如图4所示。
数据解析任务首先对GPRS模块接收缓冲区数据根据主站规约进行解析,可分为应答、上行和下行三类处理。应答帧主要为主站对通信管理机主动上传数据、心跳包和告警事件回复的确认帧。上行部分主要为查询数据,含通信管理机的地址、时间、定时上传时间间隔、低压线路的实时数据以及智能断路器参数、开关状态和控制方式。将上行的回复数据按主站规约处理形成回复报文存入GPRS模块发送缓冲区。下行部分主要为智能断路器的参数设置、手自动设置及分合闸命令,更改对应的变更标志,即全局变量,按规约形成回复确认帧存入GPRS模块发送缓冲区。
接着处理通信管理机主动上传数据和心跳包,主动上传数据包括三相智能断路器的三相相电流和三相漏电流以及单相智能断路器的相电压和单相漏电流,上传数据根据主站规约打包,定时存入GPRS模块发送缓冲区。
4.2 ZigBee通信任务
ZigBee通信任务负责与智能断路器的数据交换。通信协议为智能断路器厂家提供的通信协议,ZigBee通信任务的操作对象为全局变量、ZigBee模块数据接收缓冲区和ZigBee模块数据发送缓冲区,如图4所示。
ZigBee通信任务分为下发数据和接收数据两部分。下发数据又分为两类:第一类为每10 s主动下发一次的ZigBee数据采集任务;第二类为变更任务,智能断路器无手动模式参数设置,手动模式数据越限不上传告警事件,故在ZigBee通信任务设计手动模式下的参数设置,若为手动模式的参数设置变更标志,则立即保存新的越限告警参数并上传手动模式参数设置成功告警事件,若为其它变更标志则将变更数据按终端规约打包存入ZigBee发送缓冲区,若通信管理机重发三次变更命令帧至智能断路器未收到确认帧,则立即上传变更失败告警事件。该部分变更内容包括自动跳闸动作值设置、手自动设置和分合闸。接收数据处理流程:从ZigBee数据接收缓冲区接收一有效帧,根据终端规约解析,分为采集数据应答帧和变更设置应答帧。采集数据应答帧中数据位的最后一位为自动跳闸原因,首先对该位进行判断,若有跳闸则将带自动跳闸原因告警事件存入GPRS模块发送缓冲区,并把采集的其它数据位进行存储。变更设置应答帧代表参数设置成功,将相应的变更设置重发次数清零,并把相应的设置成功告警帧存入GPRS模块发送缓冲区。由于智能断路器无运行状态查询功能,ZigBee通信任务对设置成功告警事件进行存储,主站可以通过访问通信管理机的存储区数据以得到智能断路器的运行状态及参数。
4.3 GPRS通信任务
GPRS模块通信任务主要为GPRS模块的登陆和退出连接。首先判断是否因为通信管理机地址或主站服务器地址及端口更改而需要重连网络。如果需要重连网络,必须向主站发送退出登录包后关断连接,同时清除发送和接收缓冲区,清除GPRS模块登录过程中的错误记录。重连后便可进行GPRS模块数据的接收和发送。
各状态变更的流程图如图5所示。在GPRS模块通信中,将通信管理机与主站之间的连接分为四种状态:GPRS模块_OFF(代表模块没有正常工作)、GPRS模块_WORK(代表AT指令正常)、GPRS模块_GW(代表GPRS模块网关连接正常)、GPRS模块_SOCK(代表SOCK链接正常)。每一次执行GPRS模块通信任务时都会进行连接状态的判断,当连接状态为GPRS模块_SOCK才可以正常收发数据。
图5 GPRS通信状态流程
5 结语
本文提出一种可实现低压电网负荷及漏电流综合管理的ZigBee模块通信管理机设计方案,该通信管理机可与主站及多台带通信功能的智能断路器组建成漏电监控系统,实时监控多条低压线路,保障低压电网更加安全、可靠的运行。通信管理机系统程序设计采用多任务的设计思路,提高开发效率,也有助于日后的升级维护。本文所设计的ZigBee模块通信管理机在现场经过数月的运行,通信稳定,数据及命令转发准确,具有很高的可靠性。
1 引言
ZigBee无线模块出租车调度系统一定程度上解决了“人找车,车找人”的现象,降低了城市出租车空载率。目前的出租车调度系统主要有:电话调度、GPS调度、站牌调度等。出租车电话调度具有可随时随地叫车的优点,但需乘客拨打出租车调度中心电话与话务员座席沟通确认乘客位置,方能人工调度附近的出租车前往搭载乘客,交互过程长、调度效率低,不适于快节奏的打车需求。GPS调度是根据乘客实时的GPS位置信息进行调度的出租车调度系统,乘客可以通过短信和手机软件发送GPS位置信息至调度中心,调度中心采用Dijkstra算法,自动调度附近的出租车搭载乘客。该方法采取自动调度,节省了人工座席服务的支出。但是,由于乘客位置是GPS信息,需要出租车安装有电子导航仪。电子导航仪价格贵,有升级费用,出租车司机消费高,难以普及。站牌调度系统通过站牌和出租车车载应答子系统进行无线通信,实现城市出租车预约功能。该系统中乘客和出租车司机直接交互,无需调度中心等第三方平台。站牌即乘客位置,各站牌采用统一编码,通过编码信息即可得知乘客所在精确位置,无需GPS定位系统,乘客定位简单准确。站牌调度虽然具有不依赖调度中心和GPS定位系统、交互直接、调度快和设备费用低等优点,但目前的站牌调度系统还存在以下不足:
(1)司机没有乘客信息,仅乘客知道出租车车牌号,而且乘客没有具体凭证,多位乘客叫车时,司机不能辨别乘客,容易出现乘客抢车插队现象;
(2)根据出租车司机响应结果来决定出租车调度对象,没有考虑出租车具体路程,不能确保是最优的调度结果;
(3)缺乏乘客和出租车司机双方的诚信约束措施,爽约现象频发,造成司乘双方支持信心不足,对推广实施不利。
为解决上述不足,本文在传统的站牌调度系统上进行较大改进,提出基于物联网ZigBee无线模块的感知、传输、应用三层架构的出租车调度系统方案。方案采用乘客刷卡预约出租车的方式,用以解决乘客插队和诚信问题;通过增加信号中继节点,扩大出租车调度范围;并采用JN5139作为核心处理模块进行系统设计,用Jennie ZigBee协议组建ZigBee无线数传树状拓扑网络,对信息进行ZigBee数传采集,结合Cskip地址分配算法和AODVjr路由算法,选择最佳出租车调度对象,实现乘客“自助式”、可靠、快速的出租车调度。
2 系统结构
本系统基于物联网感知、传输、应用三层体系架构,三层功能分布在系统的站牌预约点子系统、车载应答子系统、ZigBee数传模块中继节点和调度管理中心四部分实体中实现。系统在原站牌调度系统基础上,增加架构了感知层RFID读写器、ZigBee数传模块中继节点、传输层GPRS(General Packet RadioService)网关模块和应用层调度管理中心等。
站牌预约点子系统安装在经常出现打车行为的道路边(如大型商场、小区、学区、写字楼等),乘客通过RFID刷卡预约车,采用ZigBee无线模块通信方式发布乘客打车信息、接收出租车司机应答信息,并用GPRS上传调度结果信息。车载应答子系统安装在出租车内,用于接收乘客打车信息、发送司机应答信息和乘客上车刷卡核对卡号。ZigBee数传模块中继节点安装在信号较弱处,用于转发ZigBee无线信号,扩大调度范围。调度管理中心负责接收、保持和查询GPRS上传的调度结果信息和司乘双方守约爽约信息等,建立乘客预扣定金、出租车爽约扣罚金和扣罚金补偿给守约方的双重机制,促使双方遵守诚信。系统结构如图1所示。
图1 系统结构
3 系统硬件设计
该系统主要通过感知层实现分布在城市内的多站牌点附近的出租车信息进行ZigBee数据采集调度功能。该层以分布在城市内的站牌预约点为网络协调器节点,信号中继装置为路由器节点,构成不断将行驶进入站牌限定范围内的出租车车载应答子系统加入为网络终端节点的多个动态ZigBee自组网络。站牌预约点子系统主要包括ZigBee无线模块、RFID读写器模块、GPRS网关模块、显示模块和电源模块,站牌预约点子系统框图如图2所示。
图2 站牌预约点子系统框图
站牌预约点子系统ZigBee无线模块负责搭建ZigBee网络,控制RFID读写器模块工作,无线传输乘客打车信息、将违约/调度结果信息通过串口发送给GPRS网关模块;RFID读写器模块供乘客刷卡发送打车信息和预约成功后预扣定金;GPRS网关模块发送调度结果和爽约信息至调度管理中心;显示模块显示乘客预约打车结果。
ZigBee无线模块采用JN5139 Z01 M02(以下简称JN5139),其具有使用免费频段、无线自组网等优点,适用于出租车和乘客之问通信。
RFID读写器模块采用Mifare RC522读写卡芯片,它是一款低电压、低成本、体积小的非接触式读写卡芯片。GPRS网关模块采用SIMCOM公司的SIM300模块,它具有GSM和GPRS功能。显示器模块采用VL TS COG BTl2864(以下简称BTl2864)系列液晶显示器。
站牌预约点子系统中,核心处理器是JN5139,其他各模块都需要和JN5139进行通信。JN5139、RC522、SIM300和BTl2864各通信接口如下:JN5139具有SPI串行接口(可选择五个从属SPI设备)和两个UART;RC522有SPI、12C、UART三种接口,这三种接口的最高通信速率分别为10 Mbit/s、3400 Kbit/S和1 228.8 Kbit/S;SIM300与外部接口为UART;BTl2864有串行接口(SPI接口)和并行接口两种。
系统电路设计按照电路简单、较少使用JN5139的DIO接口和通信速率较快的要求,结合各模块的通信接口标准,设计的通信接口电路如图3所示。
图3 JN5139与各模块接口
图3中,JN5139和BTl2864、RC522采用SPI串行接口通信,通信速率分别为2 Mbit/s、1 Mbit/s;JN5139和SIM300之问采用UART通信,通信波特率为19200 baud/s。
站牌预约点子系统中JN5139、RC522、BTl2864都可采用3.3 V供电。而SIM300需要4 V供电,而且要求能够提供最大2A的瞬时电流,取市电(220V交流电)输入变压器后得12 V电压,采用可以调节输出电压的稳压芯片LM2756。LM2756输出电压Vo=1.23×(1+Rl/R2)。其中R1取4.7kQ,R2取2kQ,经整流滤波后输出4.12V电压,符合SIM300的工作要求。将此4.12 V电压输入稳压芯片LP2985,输出端接电容滤波,得到较为稳定的3.3 V电压,给其它模块供电。本文硬件设计部分主要介绍站牌预约点子系统的硬件电路设计,车载应答子系统各模块与站牌预约点子系统各模块大体相同,将站牌预约子系统的GPRS网关模块(SIM300)换成语音识别模块即为车载应答子系统。ZigBee数传模块中继节点即JN5139模块加上电源模块。
4 系统软件设计
乘客需在站牌预约点刷卡,站牌预约点子系统通过动态ZigBee自组网络组播一则打车消息。若有多位出租车司机回复,选择路由最短的作为调度对象。站牌预约点子系统调度流程如图4所示。
图4 站牌预约点子系统流程
JN5139通过配置RC522寄存器控制读写器进行相应工作,需要注意的是在使用SPI总线读取RC522的FIFO Buffer时,写第一次地址读出来的是无效值,写第二次地址返回第一次的数据,写第三次地址返回第二次的数据,以此类推构建出租车调度系统的动态ZigBee自组网,需对网络内协调器、路由、终端节点进行配置,特别是要不断动态地发现和将行驶进入站牌点限定范围内的出租车车载单元加入成为网络终端节点。
本系统网络默认的信道可能在一些场合中已被其他系统使用,故各站牌预约点子系统可能使用不同信道,终端节点要加入不同信道的ZigBee无线数传网络,需要进行配置,如设置网络信道为0,则可实现终端设备自动搜索所在区域的ZigBee无线数传网络。当信道和个域网ID都匹配时,加入该网络。当ZigBee协议栈一段时间没有收到网络应答信息时,判断为离开网络,需要重新设置,并重新寻找网络。系统无线通信采用Jennic公司的硬件及协议栈,调度中心采用C++Build的Socket套接字编程,在Socket服务器组件中添加OnClientRead事件处理函数,接收、处理GPRS上传的数据,存储在sQLserver数据库中。调度中心、各出租车公司可对出租车司机的基本信息、调度结果和爽约情况进行查询。
5 最佳调度对象选择
本系统采用AODVjr路由,AODVjr对AODV算法进行了简化和改进,这种按需路由协议在移动性高、负载低的场合性能较高。AODVjr路由中,当源节点需要向目的节点发送数据而不知道路径时,则将RREQ分组组播至其邻居节点。
若收到该分组的邻居节点是带路由功能的节点,则该邻居节点先建立反向路由,该反向路由指向源节点,然后继续组播该RREQ分组至其自己的邻居节点。不具备路由功能的邻居节点,则通过上述的地址分配算法将该RREQ分组发送至其子节点或父节点,由其子节点或父节点转发该分组。而目标节点在收到RREQ分组后,向源节点单播回复RREQ分组,并将接收到此RREQ分组的所有节点保存在邻居表中,从而建立到源节点的路由。
在有多个司机回复乘客预约车信息时,系统需要进行最佳调度对象的选择,因布点时相邻中继节点距离基本相同,路由跳数基本上能反映出租车距站牌预约点的距离,可通过路由跳数大小确定较佳的调度对象。但是,当道路中存在护栏或者绿化带时,站牌预约点另一侧的出租车即使路由跳数少,也因出租车不能直接转向到达站牌预约点,而不能作为调度对象。所以,本系统在站牌预约点另一侧添加一个节点(如图5中的F节点,相应增加中继节点后,也可以将F节点做成站牌预约点,供另一侧的乘客预约车),以区分站牌预约点另一侧的出租车,并采用Cskip算法和最短路由相结合确定系统的最佳调度对象。为父节点所能拥有的最大路由节点数上述算法分配的地址为车载应答子系统加入网络时的地址,JN5139采用的协议栈中,除了路由表之外还有一个邻居节点表,它保存了可以直接通信的节点的地址。在实际生活中,乘客可能会在站牌预约点下车,这时出租车空载,从而加入网络。
此时它处在站牌预约点的邻居表中而不是路由表中,所以在比较路由时,需要同时读取路由表和邻居表中的节点进行比较
6 测试结果
实验测试环境为齐齐哈尔市文化大街,道路宽8 m,路旁有10 m高的杨树。测试设备采用连接5db天线的JN5139 Z01 M02模块,经测试信号传输距离在500 m左右,本系统测试时最大调度范围为1500m。测试网络布点如图5所示。
图5 网络布点
节点A、B、C、D、E、F为信号中继装置,除节点C、D外,其他相邻节点问的距离为500m。测试中,车牌号为黑BTl347和黑BTl947的两辆出租车都向站牌预约点行驶。乘客在站牌预约点刷卡预约出租车,两辆出租车均同意乘客打车,其中,黑BTl347出租车消息路由为B-D-C-O,黑BTl947的消息路由为E-D-C-O,二者路由跳数相同,二者距站牌预约点的距离也基本相同(布点时相邻中继节点问距离基本相同)。但是,根据我国行驶规则,黑BTl947出租车不需等待交通灯,能最快赶到站牌预约点,故选择结果最合理的调度对象为车牌号为黑BTl947的空载出租车。
图6 Cskip算法网络地址分配图
结合图6知,黑BTl947出租车通过E节点加入网络,其网络短地址在22~24之问;同理,黑BTl347的网络短地址在28~30之问,所以,根据出租车短地址即可以进行相同路由跳数下的最佳调度对象选择。站牌预约点子系统调度结果如图7所示。
图7 系统调度结果
测试实例中,乘客共发出11次打车请求,其中有一次为司机响应后没有前往站牌预约点接乘客,属于出租车司机爽约,调度管理中心据此对出租车司机扣除相应违约金,以维护乘客和出租车司机双方的诚信约束制度。站牌预约的进程信息通过GPRS传输至调度管理中心。调度管理中心可查询乘客和出租车司机爽约信息、各站牌预约点打车信息和司机详细信息等。实例中调度管理中心对司机李强的详细信息查询结果如图8所示。
图8 司机详细信息查询
7 结束语
本文提出了一种基于物联网ZigBee模块的出租车调度系统,系统基于物联网ZigBee数传模块技术,融合RFID、ZigBee数传采集、GPRS等感知层、传输层技术,实现乘客在站牌预约点刷卡叫车,系统感知层构建的ZigBee自组网络可合理调度网内空载出租车为乘客提供乘车服务。系统传输层、应用层的构建,实现调度管理中心通过记录、保存调度信息、暂扣乘客卡内预约定金和监督出租车司机守约功能,有效防止出租车司机或乘客爽约,建立出租车司机和乘客之间的诚信。各出租车公司也可查询本公司员工调度纪录确保系统长期稳定运行。系统还可以进行升级与扩展,如在应用层增加物联网预约车平台和手机平台后,乘客预约出租车信息通过GPRS网关即可传至相应站牌预约点子系统,乘客可通过互联网与3G/4G技术预约出租车。本系统为乘客提供一种打车新方式,具有一定的实际应用价值。
引言
当代社会,城市路灯照明/景观照明建设不仅带给人们光明与视觉享受,而且成为展现城市魅力的重要窗口,但是在带来明亮、绚丽色彩的同时也带来了诸多的困扰,比如管理、费用、用电、电缆被盗等问题。基于ZigBee无线模块技术和LED光源的路灯系统,是一种自动化成度高、高效节能的城市照明系统。LED光源是一种高效能、环保、安全、耐用的新型照明光源,ZigBee无线路灯控制器可以对路灯照明系统进行科学、高效的控制和资源整合,合理调整照明时间,不仅可以节省照明系统的用电量,而且可以延长照明灯具的使用寿命,减少日常维护的开支。
1 系统方案与设计
系统由三大部分构成:控制中心,ZigBee无线路灯控制器节点和控制中心通信的转发节点,固定在路灯杆上的终端节点。无线路灯远程控制系统结构如图1所示。
图1 无线路灯远程控制系统结构
控制中心的监控系统由计算机与无线收发模块构成,主要负责建立和管理ZigBee无线路灯控制器网络,显示路灯状况信息和发送控制命令,协调整个路灯系统的运作。ZigBee无线路灯控制器包括LED电源驱动,为大功率LED提供电力,并能根据微控制器的控制信号控制LED的工作情况。光敏传感器、温度传感器,直接将LED工作状况传输给控制模块;功率检测模块检测LED功率情况、供电故障并向上报警;无线模块负责传输数据。将本系统模型与无线传感器网络模型进行对比,不难发现,安置在路灯杆上的ZigBee无线路灯控制器节点即为无线传感器网络中的终端节点(RFD),控制中心监控系统就是协调器(COORD),实现COORD与RFD之间无线通信的为路由转发节点(ROUTER)。远程网络使用ZigBee与GRPS混合组成的网络。子网和中央控制中心使用GPRS网络来传输数据。下面具体介绍终端节点硬件电路设计方案。
1.1 LED节点驱动控制设计
LED节点驱动方案使用TI公司的UCC28810,它是一款恒流非隔离式电源,适用于街道、停车场或区域范围照明等高亮度LED照明应用。该设计可将通用电源(90--265 VRMS)转换成0.9 A恒流源,能够驱动100 W LED负载。UCC28810电路如图2所示。
图2 UCC28810电路图
此电路使用双级设计,第一级是UCC28810的转换模的PWM调光。此方案的优势在于,使用了高效的专用驱式电路,将AC电源转换成36 V的DC电源。第二级也采用UCC28811的转换模式,将恒压源转换为0.9 A恒流源。电路中使用的TI公司的UCC28810和UCC28811芯片是通用照明电源控制器,具有PFC(功率因数校正)功能,确保设计方案满足各种标准设定的谐波电流或功率因数要求。并且UCC28810/11控制器提供如电流峰值限制、复位定时器、过压保护(OVP)和使能等特性,UCC28810/11控制器引脚如表1所列。
表1 UCC28810/1 1控制器引脚
第一级在低负荷状态下运行,升压跟随器可跟踪AC输入的峰值电压,实现更高转换效率。第二级将PFC输出电压转换为0.9 A的固定电流,以驱动LED负载。第二级不仅可接受PWM调光输入(从外部或从板级电路均可),而且还可相应开启或关闭调光,从而实现LED电流的PWM调光。由于使用了高效的驱动IC,电源转化效率更高了,在低负荷线路(10w line)运行状态下,升压跟随器可跟踪AC输入的峰值电压,在输入电压为±15%的变动时,仍能保持输出电流变动稳定在±10%内。
1.2状态检测与报警
状态报警与检测主要包括温度感测和感光检测两部分内容。
1.2.1 温度感测
由于大功率白光LED照明和驱动器发热量都很大,所以需要一个温度感测传感器,实时监控路灯的温度,并向控制中心反映。如果温度超过警戒温度,则ZigBee无线路灯控制器进入报警模式,将自动关闭路灯,并向控制器发送报警命令。
温度传感器使用DSl8820,DSl8820是DALLAS公司生产的一款数字温度传感器。其特点有:独特的一线接口,只需要一个端口即可通信;电路无需外部元件,可用数据总线供电,也可外接VCC;工作电压范围广,为3.0~5.5 V,无需备用电源;测量温度范围为55~+125℃,在10~+85℃范围内,精度为±0.5℃。DSl8820具有工作电路简单、测温精度高、连接方便、占用口线少等优点,应用范围包括恒温控制、工业系统、消费电子产品温度计及任何热敏感系统。
1.2.2 感光检测系统
ZigBee无线路灯控制器使用光敏电阻传感器对周围环境的光亮度进行ZigBee数据采集,当傍晚周围环境还有余光时,ZigBee无线路灯控制器将路灯开启为单双灯模式;当晚上天全黑了以后,将路灯全部打开;当凌晨4点左右出现晨光时,将路灯调节成半功率工作模式。在阴天和沙尘暴天气,道路能见度低,路灯也可自动打开,保证道路正常照明。
本设计使用光敏三极管作为感光元件测量周围环境的亮度,处理器实时将周围环境的亮度通过ZigBee无线模块反馈给控制中心,由控制中心决定是否打开GND路灯。电路图如图3所示。
图3 光敏三极管电路图
1.3 ZigBee无线模块设计
目前TI公司已经先后推出了支持ZigBee协议的2.4 GHz的射频收发器CC2420和ZigBee的片上系统解决方案CC2430,以及第二代射频收发器CC2520芯片。CC2480无线性能出色,功耗很低。CC2480电路图如图4所示。
图4 CC2480/ZiqBee模块电路图
CC2480采用CMOS工艺,工作电流仅为27 mA。当系统处于空闲时,CC2480能自动进入休眠状态,并能实现休眠与主动模式的超短时间转换。晶振XTALl选用32 MHz,晶振XTAL2选用32.768 kHz。32.768 kHz的晶振用于睡眠模式,在此期间提供时序,可降低电流、减少功耗,特别适合对功耗和电池寿命要求严格的应用场合。CC2480模块可以直接与上位机之间通过串口通信,本系统选用异步串口模式。
1.4微控制器电路设计
MSP430是TI公司开发的一类具有16位总线的带FLASH的单片机,由于其性价比和集成度高,受到广大技术开发人员的青睐。它采用16位的总线,外设和内存统一编址,寻址范围可达64 K,还可以外扩存储器,具有统一的中断管理,微控制器具体连接电路如图5所示。
图5 控制模块MSP430电路图
MSP430单片机的P3.4、P3.5端口设置成串口0(MSART0)的收发口,与CC2480的异步串口相连,它们之间实现串口通信。单片机发送数据给CC2480,CC2480无线发送出去;CC2480接收到无线数据后,也透明传送给单片机。
2软件流程设计
在本系统中,ZigBee协议可以应用于所有的节点,因为ZigBee协议具有很多的实用函数,例如设备离开或者加入网络,创建一个新的网络,父节点和子节点的搜索,网络信标帧的发送,数据包的发送和接收等。系统工作的过程中,协调器主要进行无线传感器网络的创建,负责接收ZigBee无线路灯控制器发送回来的ZigBee数据采集路灯信息,依据路灯的状况将控制信号发送给路灯节点。路由器节点处在监控状态,负责获取其他节点发送来的信息并判断是不是需要进行转发,与此同时把自身路灯的信息传送给协调器;接收协调器的控制信号来控制路灯的工作状态。终端节点功能是最简单的,只需要负责随时接收协调器发送的控制命令,并向上一级返回路灯当前的状态。
系统投入运行时,首先对CC2480进行初始化,协调器运行初始化协议,同时打开中断。此后软件程序创建新网络,一旦网络能够成功创建,就对相应的网络协调器物理地址、当前建立网络的ID号以及频道号进行显示。协调器软件流程图如图6所示。
图6 协调器程序流程图
3路灯控制模式
根据不同上位机的不同控制命令,路灯节点有如下几种不同的控制模式。
3.1 单双灯开启模式
这个模式有两种情况,编号是奇数的灯开启或者编号是偶数的灯开启。当路灯节点接收到单双灯开启命令以后,路灯会根据自身的ID编号,选择开启还是关闭。这种模式应用于傍晚能见度较高,或者阴雨天、沙尘暴等恶劣天气下城市能见度不佳时。一般是单双灯轮流开启关闭,保证LED路灯工作时间大致相同,以延长其寿命。
3.2全功率开启模式
当ZigBee无线路灯控制器节点接收到全功率开启模式以后,路灯开始工作,并会以全功率打开,亮度最大。这种模式一般在晚上人车流量大和节假日时开启。
3.3半功率开启模式
当ZigBee无线路灯控制器节点接收到全功率开启模式以后,路灯开始工作,但不会以全功率模式工作,而是通过LED驱动模块的PWM调光机制,将LED的功率控制在额定值的一半,起到节约电力的作用。
3.4随机选择关闭模式
这种模式是为了节约电力和延长路灯寿命。在人流不大的道路上发给路灯随机关闭模式命令,路灯节点接收命令后,以一定概率(如20%)自行熄灭30min,由于路灯是随机熄灭的,不会影响到整体的照明情况。
3.5功率异常报警模式
这种模式不是上位机发出的命令。
当路灯节点检测到功率故障的时候(如LED二极管短路、功率过小或过大),路灯将自行切断照明电源,并向上位机报警。
结语
本文主要分析了ZigBee模块组网技术,设计了一种ZigBee无线路灯控制器系统,实现路灯信息的ZigBee数据采集和控制。事实证明本系统网络经一次性布置之后,可以长期可靠运行。路灯节点的数量、位置可随时变更,使得调控路灯变得更加方便、科学。无线LED路灯远程控制系统为解决问题提供一个良好平台。
摘要: 我国是农业大国, 传统农业在国际市场上的优势主要依赖于丰富的自然资源和低廉的劳动力成本。随着物联网等高新技术的发展,我国传统农业正在加快向现代农业转型,而智慧农业将成为现代农业未来发展的趋势。所谓“智慧农业”就是充分应用现代信息技术成果,集成应用计算机与网络技术、物联网技术、音视频技术、3S 技术、ZigBee无线模块通信技术及专家智慧与知识,实现农业可视化远程诊断、远程控制、灾变预警等智能管理。...
阅读全文
智能家居是在传统住宅的基础上,利用现代科学技术,诸如网络通信、安全防范、自动控制、音视频等技术将家居生活有关的各种家居设施集成,构成的高效、便利、舒适、节能环保的家居环境。随着无线移动网络的快速布局,现代的智能家居只要有一个无线智能设备,即能通过客户端实时查看到住宅中的一切动态。在目前,智能家居控制系统中,有基于面板和红外遥控器或蓝牙的智能家居控制终端解决方案,也有完全基于PC机的智能家居控制终端解决方案,同时还有采用手机作为家居控制终端,利用GSM电话网络通信,实现短信或者语音控制。而以上多种技术的应用,催生了各种智能控制模块的研究和生产,因此导致了当前智能家居控制系统的标准无法统一,各个系统和模块之间难以实现互联互通。针对以上问题,本文提出了一整套的智能家居控制系统解决方案,该方案采用Android智能手机作为控制终端,在STM32F107移植μC/OS-II操作系统和LwIP协议栈搭建嵌入式服务器,通过搭建ZigBee无线传感网络,采用改进的ZigBee路由算法,制定完善的通信协议,提高网络通信性能,最终实现手机对智能家居的远程和本地的实时监控。
1 系统总体设计
本文所设计的智能家居控制系统主要包括嵌入式服务器,Android客户端和ZigBee无线模块节点。移动控制终端和ZigBee无线模块节点通过嵌入式服务器进行通信实现信息交互。即用户采用Android客户端程序发送指令通过互联网或局域网传输到智能家居嵌入式服务器,服务器在接收到控制命令后再通过ZigBee无线传感网络发送到对应的终端节点,终端节点接收到命令后进行相应的操作,比如采集温湿度信息并将信息反馈到服务器,服务器再将信息通过局域网或互联网发送到Android客户端进行显示。系统总体结构图如图1所示。
图1 系统结构图
2 系统硬件设计
2.1 设计原则
嵌入式服务器在整个系统中起着至关重要的作用,其实现的主要原则应从下面几点出发:(1)允许Android客户端远程登录到服务器,并能够保存登录用户的基本信息,实现多用户登录,为每个用户都能提供相应的服务。(2)能够正确接收客户端发送的控制命令,并能够返回相应信息。(3)能够与ZigBee协调器实现信息交互,完成命令传输和信息采集。嵌入式服务器启动后,采用socket通信方式接收客户端的登录命令,验证通过后为客户端提供相关服务。
2.2 服务器硬件设计
本次研究采用ST公司生产的Cortex-M3为内核的微处理器芯片STM32F107VC进行扩展搭建嵌入式服务器硬件平台,硬件结构图如图2所示。根据需求,外围需扩展的功能模块主要包括与ZigBee协调器通信模块和与控制终端实现网络通信硬件模块。其中与ZigBee协调器通信采用串口通信方式实现。而STM32F107内部集成了以太网MAC控制器,因此本次设计采用RMII接口连接以太网PHY(物理层)芯片DM9161。
图2 嵌入式服务器硬件结构图
2.2.1 网络通信接口
网络通信接口是服务器与控制终端实现网络通信的桥梁。STM32F107内部集成了一个以太网MAC,并有专用的DMA控制,实现内部数据的高速传输。STM32F107还同时支持MII和RMII两种物理层接口,因此只需外界一片物理层收发器,即可实现以太网帧的发生和接收,实现网络通信。所以本次设计采用高性价比的DM9161A作为10M/100M以太网PHY芯片,采用RMII接口与处理器STM32F107内部的IEEE1588 MAC连接,并与标准RJ45接口HR911105A连接,支持平行交叉网线自适应,实现以太网通信功能。网络接口硬件接口设计如图3。
图3 以太网通信接口
2.2.2 ZigBee无线模块节点
智能家居中,家居内部无线网络通信方式的选择至关重要。在本次智能家居控制系统设计中,家庭内部网络采用ZigBee数传模块组网技术。在智能家居网络中,ZigBee无线模块节点被分为主节点和从节点,主节点主要负责建立无线网络,分配从节点网络地址,并与从节点和嵌入式服务器实现指令的发送和接收。
ZigBee无线模块从节点主要嵌入到终端设备中用于采集检测信息发送到主节点,或者接收控制命令实现对终端设备的控制,ZigBee网络结构图如图4。
图4 ZigBee网络结构图
ZigBee无线模块节点采用TI公司的CC2530作为主控制器芯片。该芯片是用于2.4GHz IEEE 802.15.4、ZigBee和RF4CE应用的一个真正的片上系统解决方案。它结合了领先的RF收发器的优良性能,基于51内核,系统内可编程闪存,8KB RAM和许多其它强大的功能。
ZigBee数据采集节点主要包括一些通过传感器实现的信号采集类模块,比如温湿度采集,可燃气体泄漏或者火灾发生时的信号ZigBee数据采集并报警。设备控制节点主要嵌入到家电设备中,以实现门禁系统、灯光控制、智能窗帘、智能热水器、智能空调、摄像头云台等的远程控制。
3 系统软件设计
本系统的软件主要包括3个部分:嵌入式服务器软件平台、ZigBee节点控制程序、控制终端的Android应用程序。
3.1 嵌入式服务器软件实现
嵌入式服务器软件平台的搭建根据以下2点需求来进行:(1)服务器要实现实时多任务操作。(2)服务器要实现TCP/IP网络通信功能。因此,本系统选择移植实时操作系统μC/OS-II作为服务器操作系统,移植LwIP实现TCP/IP网络通信。
3.1.1 操作系统移植
μC/OS-II是一个可移植、可固化、可剪裁、抢占式多任务实时内核。它适用于多种微处理器,微控制器和数字处理芯片,是和很多商业操作系统性能相当的实时操作系统。
在移植μC/OS-II系统过程中,需修改以下几个文件:汇编文件OS_CPU_A.ASM,与处理器相关C文件OS_CPU.H和OS_CPU_C.C,系统配置文件OS_CFG.H。
3.1.2 LwIP协议栈移植
LwIP是TCP/IP协议栈的一个实现。它的目的是减少内存使用率和代码大小,使LwIP用于资源受限系统,本次设计的嵌入式系统正属于此列。因此,为实现嵌入式服务器的TCP/IP网络通信功能,有必要移植TCP/IP协议栈,综合考虑,本次设计选择移植开源的LwIP协议栈。为移植LwIP,主要工作是需针对本次设计中的目标系统μC/OS-II修改模拟层实现。移植后的系统软件框架如图5。
图5 服务器软件框架
3.1.3 应用程序编写
本次设计中,嵌入式服务器实现对远程用户登录注销、用户信息管理和数据传输两大主要功能。服务器依据客户端指令分别实现客户端的登录注销、用户信息管理、终端设备控制三种功能。用户登录时服务器创建服务,注销时结束服务并切断与客户端的通信。用户信息管理允许用户通过客户端修改用户信息,终端设备控制功能允许用户使用客户端来实现远程监控家居环境。控制功能由服务器与ZigBee协调器通信实现。服务器工作流程图如图6所示。
图6 服务器主线程工作流程图
服务器启动后进行系统初始化,初始化主要包括设置STM32系统时钟、串口、以太网、GPIO、中断控制器NVIC、LwIP栈。系统初始化完毕创建2个任务,优先级为3的任务内容是实现socket通信,注册数据接收回调函数,当接收到数据时在回调函数中进行数据接收处理,其中要使用socket接口必须包含API头文件socket.h。优先级为4的任务完成串口数据的接收,在任务中不断查询串口数据接收完成或缓冲区溢出标志USART_Rx_Done,当数据接收完毕或缓冲区溢出时,此时在中断服务程序中设置全局变量USART_Rx_Done为1,即表示通知主线成串口数据接收完毕,主线程将接收到得数据以网络通信的方式发送的客户端。服务器中断程序流程图如图7。
图7 中断服务程序流程图
3.2 移动控制终端Android应用程序设计
Android客户端应用程序主要实现三个部分功能,程序功能界面、与家居服务器通信和处理相关信息。
3.2.1 功能界面设计
应用程序界面设计包括登录界面和功能界面。功能界面采用底部导航栏分栏显示,包括主页、设备控制、信息中心和系统设置四个方面。主页主要显示当前住宅内部温度和湿度以及安防信息;设备控制主要包括灯光控制、家电控制、门窗控制和情景模式,通过安检选项进行控制;消息中心主要显示住宅环境的一些家居状态消息,比如当住宅发生火灾时传感器检测到危险信号后服务器会发送信息到消息中心显示,并且手机根据消息命令会自动实现报警和提醒用户等;系统设置主要包括设置一些用户权限和网络通信配置。设计好的界面如图8所示。
图8 登录及主界面
3.2.2 网络通信实现
移动Android应用程序设计中主要涉及两个方面的数据通信,一个是界面Activity组建与后台Service组建间的通信,另一个是Android客户端与嵌入式服务器间的通信。在Android应用程序中,Activity主要负责前台页面的展示和用户指令的接收,Service则主要在后台负责长时间执行的任务比如监控任务。移动客户端应用程序中数据通信架构如图9。
图9 数据通信程序架构
在Android中,Activity主要负责前台页面展示,Service主要负责需要长时间运行的任务。在图9中, 参考And roidIPC通信机制,在Activity中通过Intent启动后台Service,Intent中传递了Activity从用户动作中接收到的数据。Service在后台启动后创建一个Socket服务子线程与嵌入式服务器实现网络通信,并将服务器返回的数据通过Binder对象传递给Activity。另一方面,Service在程序登陆后创建一个循环子线程实现每隔一分钟向服务器发送一次更新数据指令,以便实时更新主页面显示数据。
4 结束语
本文利用ZigBee数传模块对智能家居信息进行ZigBee数据采集,将Android客户端安装到手机,并搭建服务器平台,在实验环境下进行试验和调试。实验结果表明系统运行稳定,Android手机客户端可以通过无线网对家居设备实现远程控制,并且能够实时接收并显示住宅环境信息,当检测到异常时能够及时的发出警报。
本次设计的智能家居控制系统,采用了当下最流行也最实用的智能手机实现对家居环境的实时监控。这种方式通用性强,操作便捷,易于安装推广,运行稳定可靠。达到了对家居设备智能化管理的目的。同时,本次设计在功能上可以加以改进,比如可以在后续的工作中加入视频监控、智能服务等内容。