新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于GPRS的ZigBee协调器网关设计通信

基于GPRS的ZigBee协调器网关设计通信

作者:时间:2012-12-21来源:网络收藏

3 协调器网关软件设计
协调器网关软件设计流程如图2所示。其中等待注册成功是查看AT+CGREG?指令是否返回1或5,返回则表示GPRS模块上网注册成功;APN设置为CMNET;PPP拨号用AT%ETCPIP=\”\”,\”\””指令;域名解析指令AT%DNSR=”xxxx.3322.org”将返回与此域名绑定的IP;再用连接服务器指令AT%IPOPEN=“TCP”,xxx.xxx.xxx,1234连接上位机IP及监听端口。

本文引用地址:http://www.eepw.com.cn/article/153651.htm

b.JPG


数据传输程序的设计是重点,数据传输包括将采集到的数据透明上传至TCP服务器以及上位机指令的检测和通信是否掉线的检测。串口2接收到FEOF帧头后再执行AT指令将有效测量数据透明上传,收到心跳帧636F 6F6E后也透明上传,收到其他字符则不处理。当串口1接收缓存中有%IPCLOSE字符串时表示通信断开,此时则在下位机程序中重新执行连接服务器程序直至再次连接成功,保证数据通信可靠。

4 上位机程序设计
整个上位机软件设计流程如图3所示,即编写一个TCP服务器程序。采用通信工具中TCPListen来侦听客户端的连接请求,建立连接后,利用TCP Read读取传输的数据,工作模式设置为standard,即等待直至读取所有“读取的字节”中指定的字节或“超时毫秒”用完,返回目前已读取的字节,如字节数少于请求的字节数,则返回部分字节并报告超时错误。由于数据帧通过下位机编程为固定长度是20 B的数据,心跳帧为4 B的数据,因此在配置TCP Read函数时,要将“读取的字节”设置为20,“超时毫秒”设置为0。这样既可以侦听到心跳帧,又不至于因心跳帧的4 B打乱数据帧的20 B而导致数据错误。程序控制部分可向下位机发送控制指令,实现对单个或多个节点数据采集周期以及开始结束的控制,以适应不同的工作场合。主要原理是利用TCP Wtite函数向已建立的连接发送指令,程序中两次利用TCP Write函数,第一次写入指令的长度,第二次写入指令的内容。

c.JPG

tcp/ip相关文章:tcp/ip是什么


数字通信相关文章:数字通信原理


通信相关文章:通信原理


土壤湿度传感器相关文章:土壤湿度传感器原理


评论


相关推荐

技术专区

关闭