基于GPRS的ZigBee協(xié)調(diào)器網(wǎng)關(guān)設(shè)計通信
3 ZigBee協(xié)調(diào)器GPRS網(wǎng)關(guān)軟件設(shè)計
ZigBee協(xié)調(diào)器GPRS網(wǎng)關(guān)軟件設(shè)計流程如圖2所示。其中等待GPRS注冊成功是查看AT+CGREG?指令是否返回1或5,返回則表示GPRS模塊上網(wǎng)注冊成功;APN設(shè)置為CMNET;PPP撥號用AT%ETCPIP=\”\”,\”\””指令;域名解析指令A(yù)T%DNSR=”xxxx.3322.org”將返回與此域名綁定的IP;再用連接服務(wù)器指令A(yù)T%IPOPEN=“TCP”,xxx.xxx.xxx,1234連接上位機(jī)IP及監(jiān)聽端口。本文引用地址:http://butianyuan.cn/article/153651.htm
數(shù)據(jù)傳輸程序的設(shè)計是重點(diǎn),數(shù)據(jù)傳輸包括將采集到的數(shù)據(jù)透明上傳至TCP服務(wù)器以及上位機(jī)指令的檢測和通信是否掉線的檢測。串口2接收到FEOF幀頭后再執(zhí)行AT指令將有效測量數(shù)據(jù)透明上傳,收到心跳幀636F 6F6E后也透明上傳,收到其他字符則不處理。當(dāng)串口1接收緩存中有%IPCLOSE字符串時表示通信斷開,此時則在下位機(jī)程序中重新執(zhí)行連接服務(wù)器程序直至再次連接成功,保證數(shù)據(jù)通信可靠。
4 上位機(jī)程序設(shè)計
整個上位機(jī)軟件設(shè)計流程如圖3所示,即編寫一個TCP服務(wù)器程序。采用LabVIEW通信工具中TCPListen來偵聽客戶端的連接請求,建立連接后,利用TCP Read讀取傳輸?shù)臄?shù)據(jù),工作模式設(shè)置為standard,即等待直至讀取所有“讀取的字節(jié)”中指定的字節(jié)或“超時毫秒”用完,返回目前已讀取的字節(jié),如字節(jié)數(shù)少于請求的字節(jié)數(shù),則返回部分字節(jié)并報告超時錯誤。由于數(shù)據(jù)幀通過下位機(jī)編程為固定長度是20 B的數(shù)據(jù),心跳幀為4 B的數(shù)據(jù),因此在配置TCP Read函數(shù)時,要將“讀取的字節(jié)”設(shè)置為20,“超時毫秒”設(shè)置為0。這樣既可以偵聽到心跳幀,又不至于因心跳幀的4 B打亂數(shù)據(jù)幀的20 B而導(dǎo)致數(shù)據(jù)錯誤。程序控制部分可向下位機(jī)發(fā)送控制指令,實(shí)現(xiàn)對單個或多個節(jié)點(diǎn)數(shù)據(jù)采集周期以及開始結(jié)束的控制,以適應(yīng)不同的工作場合。主要原理是利用TCP Wtite函數(shù)向已建立的連接發(fā)送指令,程序中兩次利用TCP Write函數(shù),第一次寫入指令的長度,第二次寫入指令的內(nèi)容。
tcp/ip相關(guān)文章:tcp/ip是什么
數(shù)字通信相關(guān)文章:數(shù)字通信原理
通信相關(guān)文章:通信原理
土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理
評論