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

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

2017-06-22

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

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

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

  原理

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

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

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

  但是傳統(tǒng)的透?jìng)魇轿锫?lián)網(wǎng)網(wǎng)關(guān)的問題在于:

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

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

  實(shí)現(xiàn)方法

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

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

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

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

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

  web服務(wù)器下發(fā)

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

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

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

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

  總結(jié)

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


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