《電子技術(shù)應用》
您所在的位置:首頁 > 模擬設計 > 業(yè)界動態(tài) > 支持和Web服務器通信的物聯(lián)網(wǎng)網(wǎng)關

支持和Web服務器通信的物聯(lián)網(wǎng)網(wǎng)關

2017-06-22

  隨著物聯(lián)網(wǎng)的發(fā)展,越來越多的設備需要連接到云端。其中的設備有各類儀表、工業(yè)設備、采集設備、傳感器,這些設備都以串口(RS232、RS485)居多,所以可以通過串口轉(zhuǎn)TCP、串口轉(zhuǎn)Wifi等物聯(lián)網(wǎng)網(wǎng)關,將數(shù)據(jù)傳輸?shù)皆贫?。但是各種設備和云端服務器通信的時候由于協(xié)議不同,開發(fā)者需要開發(fā)各類后臺程序以配合數(shù)據(jù)的轉(zhuǎn)化和存儲。

  新的“支持和Web服務器通信的物聯(lián)網(wǎng)”網(wǎng)關可以直接使用POST、GET命令和Web服務器通信,用戶只需要編寫php代碼就可以實現(xiàn)數(shù)據(jù)的轉(zhuǎn)化和存儲簡化了物聯(lián)網(wǎng)上位機接口的開發(fā)。

  此類物聯(lián)網(wǎng)網(wǎng)關的最大優(yōu)點是:節(jié)省了開發(fā)復雜度,網(wǎng)關可以直接以GET/POST指令和云服務器直接通信。

  原理

  下面講一下此類網(wǎng)關的用法和原理。我們知道,當我們在瀏覽器中輸入:以下鏈接的時候?qū)⒁訥ET指令的方式向Web服務器提交數(shù)據(jù)。

  提交的數(shù)據(jù)內(nèi)容為:

  該數(shù)據(jù)內(nèi)容將直接發(fā)到Web服務器的(這里的服務器IP是192.168.1.180)80端口。web服務器上運行的php程序就可以正確讀取到data=123456這樣的數(shù)據(jù)。

  但是傳統(tǒng)的透傳式物聯(lián)網(wǎng)網(wǎng)關的問題在于:

  1.      各類儀表發(fā)送給物聯(lián)網(wǎng)網(wǎng)關的數(shù)據(jù)并不是標準的GET指令,所以物聯(lián)網(wǎng)網(wǎng)關需要進行一個數(shù)據(jù)轉(zhuǎn)化,比如在數(shù)據(jù)的前面增加GET /1.php?data=的數(shù)據(jù),在后面增加HTTP/1.1等數(shù)據(jù)。

  2.      各類儀表發(fā)送的數(shù)據(jù)是十六機制數(shù)據(jù),但是web服務器容易處理字符串string數(shù)據(jù),所以需要將十六進制轉(zhuǎn)化為字符串。

  實現(xiàn)方法

  卓嵐ZLAN5143、ZLAN8343N等產(chǎn)品可以實現(xiàn)以上功能。使用步驟如下:

  1.      在計算機上編寫一個配置文件,內(nèi)容如下,然后下載到物聯(lián)網(wǎng)網(wǎng)關內(nèi)。

  注意這里的$符號就表示串口收到的數(shù)據(jù),物聯(lián)網(wǎng)網(wǎng)關收到數(shù)據(jù)后將會用串口收到的數(shù)據(jù)替換$,然后將這個配置文件的內(nèi)容上傳給web服務器,這樣web服務器就可以按照GET指令的格式接收到串口數(shù)據(jù)。

  2.      如果需要先將數(shù)據(jù)格式從十六進制轉(zhuǎn)化為字符串,則用#符號代替$符號來寫配置文件。

  從這里我們看到此類網(wǎng)關不僅實現(xiàn)的是對Web服務器GET指令的支持,而且可以靈活設計,它是一種靈活地在串口數(shù)據(jù)前面增加前綴、后面增加后綴的通用方法。

  web服務器下發(fā)

  以上的方法只是實現(xiàn)了數(shù)據(jù)從串口到網(wǎng)絡時,串口hex數(shù)據(jù)轉(zhuǎn)變?yōu)镚ET命令的功能。但是如果Web服務需要按照GET命令下發(fā)數(shù)據(jù),此時也需要將其中的某部分數(shù)據(jù)轉(zhuǎn)發(fā)到串口。

  例如:當Web服務器向物聯(lián)網(wǎng)網(wǎng)關(IP地址為192.168.0.200)的端口8080發(fā)送GET命令時,GET命令中的有效數(shù)據(jù)(這里是61626364656667)被轉(zhuǎn)化為十六進制數(shù)據(jù)(abcdefg)從網(wǎng)關的串口輸出,發(fā)給控制器、執(zhí)行器。如下圖所示:

  實現(xiàn)的方法是在原來的配置文件第一行增加:NFL: data=# HTTP/1.1,物聯(lián)網(wǎng)網(wǎng)關在收到任何網(wǎng)絡數(shù)據(jù)的時候?qū)阉髑熬Ydata=和后綴HTTP/1.1,將中間的部分提取出來,并轉(zhuǎn)化為十六進制從串口輸出。

  Web服務器下發(fā)功能的實現(xiàn),還得益于卓嵐物聯(lián)網(wǎng)在作為TCP客戶端上傳數(shù)據(jù)的時候,也可以作為TCP服務器接收Web服務器的下發(fā)連接和數(shù)據(jù)。

  總結(jié)

  能夠直接和Web服務器以GET命令通信的物聯(lián)網(wǎng)網(wǎng)關——包括下發(fā)和上發(fā)數(shù)據(jù)——可以大大降低云端程序的開發(fā)工作量,該類物聯(lián)網(wǎng)網(wǎng)關方便了物聯(lián)網(wǎng)網(wǎng)設備的集成和接入。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。