【導(dǎo)讀】如何讓自動(dòng)化領(lǐng)域的串口設(shè)備具備聯(lián)網(wǎng)能力?本文將基于EsDA平臺(tái),帶你開(kāi)發(fā)一個(gè)串口轉(zhuǎn)TCP服務(wù)器業(yè)務(wù),快速實(shí)現(xiàn)串口聯(lián)網(wǎng)功能。
引言
隨著時(shí)代的發(fā)展,數(shù)據(jù)上云等需求越來(lái)越普遍。設(shè)備如何快速實(shí)現(xiàn)上云功能,成了用戶(hù)普遍的需求之一。本章將帶大家快速實(shí)現(xiàn)如何將MPC-ZC1開(kāi)發(fā)板的串口數(shù)據(jù),快速傳輸至TCP服務(wù)器,實(shí)現(xiàn)上報(bào)與下發(fā)功能,工作框架如下。
本文基于MPC-ZC1開(kāi)發(fā)板,使用我司test.zlgcloud.com測(cè)試服務(wù)器,進(jìn)行演示。開(kāi)發(fā)板通過(guò)4G無(wú)線(xiàn)模塊與服務(wù)器建立TCP連接,使用USB轉(zhuǎn)TTL設(shè)備將MPC-ZC1串口2與PC上位機(jī)串口調(diào)試助手建立通信。實(shí)驗(yàn)通過(guò)PC上位機(jī)串口調(diào)試助手發(fā)送數(shù)據(jù)至串口,串口接收數(shù)據(jù)并透?jìng)髦罷CP客戶(hù)端,TCP客戶(hù)端將數(shù)據(jù)上報(bào)至服務(wù)器。
軟硬件資源
硬件需求:MPC-ZC1開(kāi)發(fā)板、物聯(lián)網(wǎng)卡、4G天線(xiàn)、杜邦線(xiàn)若干、USB轉(zhuǎn)TTL設(shè)備。
軟件需求:串口調(diào)試助手sscom。
前期準(zhǔn)備
1. 硬件連接
將天線(xiàn)接到開(kāi)發(fā)板對(duì)應(yīng)接口,插入物聯(lián)網(wǎng)卡,USB轉(zhuǎn)TTL設(shè)備連接相應(yīng)串口2引腳,并插入電腦USB接口,硬件連接圖如下。
2. 串口調(diào)試助手
首先,我們需要對(duì)串口進(jìn)行配置,配置參數(shù)為波特率為115200、數(shù)據(jù)位為8位、停止位為1位、不啟用校驗(yàn)和流控,具體配置過(guò)程如下圖。此處的COM口,用戶(hù)可以打開(kāi)設(shè)備管理器進(jìn)行查看,配置完成后打開(kāi)串口。
業(yè)務(wù)開(kāi)發(fā)
1. 繪制流圖
本流圖分為上報(bào)和下發(fā)兩部分,如下圖:
● 上報(bào)部分由serial_in_ex節(jié)點(diǎn)、fscript節(jié)點(diǎn)、push節(jié)點(diǎn)組成。serial_in_ex節(jié)點(diǎn)負(fù)責(zé)接收串口數(shù)據(jù),fscript節(jié)點(diǎn)進(jìn)行格式轉(zhuǎn)換,push節(jié)點(diǎn)將數(shù)據(jù)推送至tcp_client節(jié)點(diǎn),有tcp_client節(jié)點(diǎn)上報(bào)至服務(wù)器。
● 下發(fā)部分由tcp_client節(jié)點(diǎn)、fscript節(jié)點(diǎn)、serial_out_ex節(jié)點(diǎn)組成。tcp_client節(jié)點(diǎn)負(fù)責(zé)創(chuàng)建一個(gè)TCP客戶(hù)端,接收push節(jié)點(diǎn)傳輸?shù)臄?shù)據(jù)上報(bào)到tcp服務(wù)器,并將tcp服務(wù)器下發(fā)的數(shù)據(jù)傳輸至fscript節(jié)點(diǎn),fscript節(jié)點(diǎn)進(jìn)行格式轉(zhuǎn)換后,將數(shù)據(jù)傳輸?shù)絪erial_out_ex節(jié)點(diǎn)。
2. 繪制流圖
接下來(lái)我們需要配置流圖節(jié)點(diǎn)等相關(guān)參數(shù)。
2.1 tcp_client節(jié)點(diǎn)配置,指定服務(wù)器地址和端口信息。
2.2 push節(jié)點(diǎn),將數(shù)據(jù)推送至tcp_client節(jié)點(diǎn)。
2.3 fscript節(jié)點(diǎn),進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。
兩個(gè)fscript節(jié)點(diǎn)配置相同,代碼如下:
var str = istream_read_string(msg.istream, 100)
msg.payload=str
ostream_write_string(msg.ostream,msg.payload)
2.4 serial_in_ex節(jié)點(diǎn)
2.5 serial_out_ex節(jié)點(diǎn)
流圖下載
節(jié)點(diǎn)配置完成后,確保硬件連接正確,將流圖下載到開(kāi)發(fā)板,如下圖。
實(shí)驗(yàn)現(xiàn)象
本實(shí)驗(yàn)使用的測(cè)試服務(wù)器功能是將接收到的數(shù)據(jù)回發(fā)給客戶(hù)端,所以實(shí)驗(yàn)現(xiàn)象如下圖,串口發(fā)送什么數(shù)據(jù),就接收什么數(shù)據(jù)。
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系小編進(jìn)行處理。
推薦閱讀: