• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于MQTT協(xié)議的物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)計

    2019-12-07 01:33:44吳俊輝吳桂初葛世偉許小鋒
    關(guān)鍵詞:網(wǎng)關(guān)以太網(wǎng)阿里

    吳俊輝,吳桂初,?,陳 沖,葛世偉,許小鋒

    (1.溫州大學(xué)浙江省低壓電器技術(shù)創(chuàng)新服務(wù)平臺,浙江溫州 325027;2.浙江天正電氣股份有限公司,浙江溫州 325604;3.溫州聚創(chuàng)電氣科技有限公司,浙江溫州 325035)

    在物聯(lián)網(wǎng)技術(shù)和云平臺通信技術(shù)廣泛應(yīng)用的今天,采用云端通信對設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控的需求不斷增加.各公司生產(chǎn)的設(shè)備之間的通信技術(shù)不同,以及物聯(lián)網(wǎng)公司之間的相互競爭,導(dǎo)致設(shè)備數(shù)據(jù)傳輸?shù)膮f(xié)議多種多樣、管理平臺混亂,這是當(dāng)前業(yè)界存在的主要問題[1-4].

    許多電器設(shè)備可通過現(xiàn)場總線的方式將自身的運(yùn)行數(shù)據(jù)傳輸?shù)缴衔粰C(jī),如多功能電表、智能斷路器等,但不同類型的設(shè)備采用的通信協(xié)議各不相同,因此需要設(shè)計一款能夠與不同設(shè)備進(jìn)行協(xié)議轉(zhuǎn)換的網(wǎng)關(guān)設(shè)備,并且該網(wǎng)關(guān)也能夠?qū)f(xié)議轉(zhuǎn)換后的數(shù)據(jù)傳輸?shù)竭h(yuǎn)程服務(wù)器.文獻(xiàn)[5]介紹了一種嵌入式網(wǎng)關(guān),該網(wǎng)關(guān)可以將無線協(xié)調(diào)器采集到的數(shù)據(jù)通過GPRS傳輸?shù)交ヂ?lián)網(wǎng),也可通過GPRS實(shí)現(xiàn)遠(yuǎn)程控制;文獻(xiàn)[6]介紹了一種基于W5500芯片的以太網(wǎng)網(wǎng)關(guān)的設(shè)計方案,該方案能夠靈活地實(shí)現(xiàn)以太網(wǎng)通信,特別適用于RAM較小的低級處理器;文獻(xiàn)[7]設(shè)計了一種低成本網(wǎng)關(guān),該網(wǎng)關(guān)可以實(shí)現(xiàn)以太網(wǎng)和RS485采集器的高速連接.但以上設(shè)計針對性強(qiáng),只能為單一產(chǎn)品使用,應(yīng)用范圍有限.為了能夠與多種類型的電器設(shè)備進(jìn)行通信,并將所有設(shè)備信息匯總后傳輸?shù)皆贫朔?wù)器,本文設(shè)計了一款以STM32F103為主控制芯片,搭建三路RS485串行電氣接口,集成以太網(wǎng)、WIFI及GPRS等多種網(wǎng)絡(luò)通信方式的網(wǎng)關(guān)設(shè)備.在與電器設(shè)備通信時,本網(wǎng)關(guān)作為主機(jī)通過RS485接口與電器從機(jī)設(shè)備進(jìn)行通信,最后通過協(xié)議轉(zhuǎn)換,將設(shè)備運(yùn)行的數(shù)據(jù)通過MQTT協(xié)議傳輸?shù)桨⒗镌莆锫?lián)網(wǎng)平臺.

    1 協(xié)議分析

    在本設(shè)計中,所涉及的協(xié)議有三種,一種是網(wǎng)關(guān)與云端的通信協(xié)議,采用MQTT協(xié)議與阿里云物聯(lián)網(wǎng)平臺通信;第二種是網(wǎng)關(guān)與從機(jī)設(shè)備的通信協(xié)議,主要是Modbus協(xié)議與DLT645協(xié)議,其網(wǎng)關(guān)作主機(jī),與網(wǎng)關(guān)連接的電器設(shè)備作為從機(jī),進(jìn)行協(xié)議間的互相轉(zhuǎn)換.

    1.1 MQTT協(xié)議

    MQTT協(xié)議是一種基于TCP/IP網(wǎng)絡(luò)連接的消息傳輸協(xié)議,使用發(fā)布/訂閱的消息模式,它開放、簡單、輕量、易于實(shí)現(xiàn)的特點(diǎn)使它適用于各種受限的環(huán)境,如低寬帶、網(wǎng)絡(luò)不可靠、嵌入式處理器和內(nèi)存不足等情況[8-10].MQTT協(xié)議的報文結(jié)構(gòu)如圖1所示.

    MQTT協(xié)議的消息類型(Message Tpye)共有十六種,如表1所示.

    圖1 MQTT協(xié)議報文結(jié)構(gòu)Fig 1 MQTT Protocol Message Structure

    表1 消息類型Table 1 Message Types

    QoS(Quality of Service)消息交付質(zhì)量級別是MQTT協(xié)議中一個重要的功能,它可以決定消息的交付質(zhì)量.QoS總共有三種服務(wù)級別,0表示至多只發(fā)送一次,不保證消息可靠性,消息可能會丟失;1表示至少發(fā)送一次,客戶端或服務(wù)器確認(rèn)收到消息,但消息可能會重復(fù);2表示精確發(fā)送一次,確??蛻舳嘶蚍?wù)器僅一次收到消息[10].就消息質(zhì)量而言,客戶端與服務(wù)器之間的交互如圖2所示.在本網(wǎng)關(guān)中通過MQTT協(xié)議將電器設(shè)備運(yùn)行數(shù)據(jù)上傳到阿里云物聯(lián)網(wǎng)平臺,并且可以接收解析服務(wù)器端命令,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控的目的.

    圖2 消息質(zhì)量流程圖Fig 2 Message Quality Flow Chart

    1.2 Modbus協(xié)議

    Modbus是應(yīng)用層的報文傳輸協(xié)議,它提供不同類型設(shè)備之間主機(jī)/從機(jī)的通信.Modbus是一個請求/應(yīng)答協(xié)議,提供功能碼規(guī)定的服務(wù),Modbus功能碼是請求/應(yīng)答協(xié)議數(shù)據(jù)單元(PDU-Protocol Data Unit)的元素,是Modbus協(xié)議定義的一個與基礎(chǔ)通信網(wǎng)絡(luò)無關(guān)的簡單協(xié)議數(shù)據(jù)單元(PDU)[11].幀格式如圖3所示.

    本設(shè)計中傳輸模式采用RTU模式,地址域與從機(jī)設(shè)備相對應(yīng),差錯校驗(yàn)采用16位CRC校驗(yàn).網(wǎng)關(guān)與兩路RS485接口采用Modbus串行鏈路協(xié)議,網(wǎng)關(guān)作為主機(jī)發(fā)送請求,與之相連接的設(shè)備作為從機(jī)響應(yīng)主機(jī)請求,主機(jī)定時訪問從機(jī),周期性完成數(shù)據(jù)信息交換.

    圖3 通用Modbus幀F(xiàn)ig 3 General Modbus Frame

    1.3 DLT645協(xié)議

    多功能電表和智能斷路器均采用DLT645通信協(xié)議,DLT645協(xié)議的幀格式如圖4所示.68H和16H分別作為幀的起始和結(jié)束標(biāo)志,A0-A5作為地址域,C控制碼由規(guī)約規(guī)定,具體根據(jù)主機(jī)/從機(jī)的請求/應(yīng)答確定,L為數(shù)據(jù)域的字節(jié)數(shù),CS校驗(yàn)碼采用各字節(jié)二進(jìn)制算術(shù)和.DATA數(shù)據(jù)域的結(jié)構(gòu)隨控制碼的功能而改變,數(shù)據(jù)域主要包含數(shù)據(jù)標(biāo)識、密碼、數(shù)據(jù)等,數(shù)據(jù)域的數(shù)據(jù)格式為低字節(jié)在前高字節(jié)在后[12].本設(shè)計中,網(wǎng)關(guān)中嵌入DLT645規(guī)約,并且網(wǎng)關(guān)作主機(jī).

    圖4 DLT645幀格式Fig 4 DLT645 Frame Format

    2 硬件設(shè)計

    本網(wǎng)關(guān)采用STM32F103作為主控芯片,外圍搭建電源電路,三路RS485接口電路,WIFI接口電路,GPRS接口電路以及以太網(wǎng)網(wǎng)口電路.

    STM32F103是一款低功耗、高性能的芯片,包含多種通信接口,如IIC、SPI和USART,綜合考慮生產(chǎn)成本和性能配置,該芯片滿足本設(shè)計的要求.本設(shè)計中,通信網(wǎng)關(guān)的整體硬件結(jié)構(gòu)見圖5.

    圖5 整體硬件結(jié)構(gòu)Fig 5 Overall Hardware Structure

    2.1 WIFI和GPRS電路

    本設(shè)計中,WIFI采用的是ESP8266通信模塊,GPRS采用的是A6_Mini通信模塊,兩無線模塊硬件連接電路分別如圖6、圖7所示.

    圖6 ESP8266模塊Fig 6 ESP8266 Module

    圖7 A6_Mini模塊Fig 7 A6_Mini Module

    ESP8266模塊和A6_Mini模塊分別通過USART串口與STM32F103連接,同時兩個通信模塊都支持AT指令,通過AT指令分別對兩模塊進(jìn)行設(shè)置,便可建立TCP/IP通信連接.

    2.2 以太網(wǎng)電路

    以太網(wǎng)通信采用W5500芯片作為以太網(wǎng)控制單元,配合晶振等外圍電路,該芯片的一端連接RJ45作為外部接口,另一端通過SPI接口與STM32F103連接,連接電路圖如圖8所示.

    2.3 RS485電路

    本設(shè)計所選用的STM32F103處理器包含五路USART,其中兩路分別與WIFI模塊和GPRS模塊連接,其余三路設(shè)計為RS485通信接口,其硬件電路如圖9所示.

    圖9 RS485接口電路圖Fig 9 RS485 Interface Circuit Diagram

    3 軟件設(shè)計

    本設(shè)計的軟件部分運(yùn)行在處理器的μC/OS-Ⅱ操作系統(tǒng)中,程序的功能是通過WIFI、GPRS、以太網(wǎng)建立的TCP連接作為網(wǎng)絡(luò)通信基礎(chǔ),采用MQTT協(xié)議與阿里云物聯(lián)網(wǎng)平臺進(jìn)行通信,網(wǎng)關(guān)作為主機(jī),定時與從機(jī)進(jìn)行數(shù)據(jù)信息交換.在μC/OS-Ⅱ操作系統(tǒng)中建立以下任務(wù):TCP連接任務(wù)、MQTT任務(wù)、定時任務(wù).TCP連接任務(wù)為MQTT通信做好網(wǎng)絡(luò)連接準(zhǔn)備,其中包括ESP8266、A6_Mini、W5500模塊的網(wǎng)絡(luò)配置,并選擇其中一種作為通信方式;MQTT任務(wù)是在TCP任務(wù)完成的基礎(chǔ)上,采用選定的通訊方式,通過MQTT協(xié)議連接到阿里云物聯(lián)網(wǎng)平臺,該任務(wù)包含MQTT協(xié)議的連接命令、消息訂閱、PING請求以及消息接收;定時任務(wù)主要是通過RS485定時地訪問從機(jī)交換設(shè)備的數(shù)據(jù)信息,并通過MQTT協(xié)議傳輸?shù)皆贫朔?wù)器.

    3.1 TCP軟件設(shè)計

    網(wǎng)絡(luò)通信提供有效可靠TCP連接是MQTT協(xié)議通信的基礎(chǔ).本網(wǎng)關(guān)作為客戶端,在通信方式上包含WIFI、GPRS及以太網(wǎng)三種,可以有效應(yīng)對各種使用環(huán)境.WIFI、GPRS通過AT指令配置參數(shù)后,在提供無線網(wǎng)絡(luò)覆蓋的環(huán)境下,即可保證TCP連接;以太網(wǎng)W5500芯片在初始化后即可檢測路由連接;本設(shè)計中,優(yōu)先選用以太網(wǎng)作為通信方式.三種通信方式的切換以及TCP連接流程如圖10所示.

    3.2 MQTT通信軟件設(shè)計

    在TCP網(wǎng)絡(luò)連接成功后,客戶端MQTT任務(wù)開始向阿里云物聯(lián)網(wǎng)平臺發(fā)送連接命令,請求建立MQTT通信連接,當(dāng)MQTT通信建立成功后,客戶端繼續(xù)向服務(wù)器發(fā)送主題訂閱命令,服務(wù)器在收到訂閱命令后,對訂閱主題進(jìn)行確認(rèn)并向客戶端返回主題訂閱成功的命令,最后一個步驟是MQTT?;蠲?,設(shè)備端的保活時間間隔內(nèi),需要向服務(wù)器至少發(fā)送一次報文.MQTT協(xié)議通信的流程如圖11所示.

    3.3 定時任務(wù)軟件設(shè)計

    定時任務(wù)的功能是客戶端向服務(wù)器發(fā)送數(shù)據(jù)信息,在MQTT協(xié)議連接成功的基礎(chǔ)上,定時任務(wù)便可啟動.定時任務(wù)的流程如下:在規(guī)定的時間內(nèi),網(wǎng)關(guān)作為主機(jī)對RS485總線上的從機(jī)電器設(shè)備進(jìn)行數(shù)據(jù)訪問,網(wǎng)關(guān)將從機(jī)數(shù)據(jù)幀解析后,添加到網(wǎng)關(guān)已經(jīng)訂閱的主題中,再通過消息發(fā)布,將數(shù)據(jù)發(fā)送到阿里云物聯(lián)網(wǎng)平臺,按上述流程如此循環(huán).定時任務(wù)的流程如圖12所示.

    圖10 TCP連接流程圖Fig 10 TCP Connection Flow Chart

    圖11 MQTT協(xié)議通信流程Fig 11 MQTT Protocol Communication Process

    圖12 定時任務(wù)流程圖Fig 12 Timing Task Flow Chart

    4 實(shí)驗(yàn)測試

    為了測試該網(wǎng)關(guān)的通信能力,專門搭建了一個實(shí)驗(yàn)平臺,該測試平臺由智能斷路器、多功能電表、通信網(wǎng)關(guān)和電源組成,測試平臺的電路連接見圖13,實(shí)物圖見圖14.測試平臺搭建完成后進(jìn)行系統(tǒng)測試,測試主要分為兩部分,一部分是網(wǎng)關(guān)連接到阿里云,成功登陸云服務(wù)器測試;另一部分是與云平臺連接成功后不同網(wǎng)絡(luò)通信方式的測試,主要是數(shù)據(jù)傳輸性能和傳輸延遲測試.

    圖13 測試平臺電路連接圖Fig 13 Test Platform Circuit Connection Diagram

    圖14 測試平臺實(shí)物圖Fig 14 Physical Diagram of Test Platform

    4.1 登陸阿里云服務(wù)器

    將阿里云平臺的MQTT賬號寫入網(wǎng)關(guān)中,在TCP網(wǎng)絡(luò)基礎(chǔ)連接建立成功后,系統(tǒng)會自動登陸到設(shè)置的阿里云賬號,成功登陸云平臺后,該網(wǎng)關(guān)在云平臺上顯示在線狀態(tài),如圖15所示.

    圖15 成功登陸云平臺Fig 15 Successfully Landed on Cloud Platform

    4.2 網(wǎng)絡(luò)通信測試

    在實(shí)驗(yàn)室條件下,分別測試不同網(wǎng)絡(luò)通信方式與云端成功連接后的數(shù)據(jù)傳輸性能.測試的方法是網(wǎng)關(guān)在一小時內(nèi)向云平臺通信192次,每次發(fā)送一條不大于1K字節(jié)的消息,連續(xù)測試24h,查看云端接收數(shù)據(jù)的情況.表2是不同網(wǎng)絡(luò)方式通信測試的實(shí)驗(yàn)數(shù)據(jù).由于WIFI網(wǎng)絡(luò)連接不穩(wěn)定,導(dǎo)致數(shù)據(jù)丟失,其它兩種網(wǎng)絡(luò)方式通信丟包為零.

    表2 通信性能測試Table 2 Communication Performance Test

    在通信測試的同時,隨機(jī)選取 10個不同時刻進(jìn)行網(wǎng)絡(luò)延遲測試.阿里云物聯(lián)網(wǎng)平臺提供一個實(shí)時延遲測試接口,原理是從云端向網(wǎng)關(guān)下發(fā)一條指令,查看網(wǎng)關(guān)回復(fù)時間.表3為網(wǎng)絡(luò)延遲測試數(shù)據(jù),單位是ms.可以從數(shù)據(jù)中得出,以太網(wǎng)延遲最低,GPRS延遲最高.

    表3 網(wǎng)絡(luò)延遲時間Table 3 Network Delay Time

    5 結(jié) 論

    本文采用WIFI、GPRS、以太網(wǎng)集成芯片W5500和STM32F103微處理器,設(shè)計了一種基于MQTT協(xié)議的物聯(lián)網(wǎng)網(wǎng)關(guān),通過RS485與子設(shè)備連接,實(shí)現(xiàn)了阿里云物聯(lián)網(wǎng)平臺和設(shè)備端的數(shù)據(jù)信息交換.三種不同的網(wǎng)絡(luò)通信方式,有利于網(wǎng)關(guān)應(yīng)用在各種網(wǎng)絡(luò)環(huán)境下,縮短了產(chǎn)品的開發(fā)周期.實(shí)驗(yàn)表明,該網(wǎng)關(guān)通信能力穩(wěn)定,可以在具體實(shí)踐中進(jìn)行應(yīng)用.

    猜你喜歡
    網(wǎng)關(guān)以太網(wǎng)阿里
    云上阿里
    炎黃地理(2021年1期)2021-06-08 00:27:03
    基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計與實(shí)現(xiàn)
    基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計
    辰辰帶你游阿里
    談實(shí)時以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
    電子制作(2017年24期)2017-02-02 07:14:44
    阿里戰(zhàn)略
    LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
    移動通信(2015年18期)2015-08-24 07:45:08
    一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計
    淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
    應(yīng)對氣候變化需要打通“網(wǎng)關(guān)”
    太陽能(2015年7期)2015-04-12 06:49:50
    博湖县| 青海省| 偃师市| 平定县| 松原市| 贵德县| 庆元县| 永州市| 英山县| 汽车| 汉沽区| 横山县| 重庆市| 青海省| 密云县| 吉木乃县| 林芝县| 安仁县| 桦南县| 新营市| 青州市| 库伦旗| 海口市| 轮台县| 桓台县| 南丹县| 黑龙江省| 大丰市| 奉新县| 普洱| 斗六市| 江孜县| 古浪县| 应城市| 安塞县| 罗甸县| 百色市| 方正县| 张北县| 德令哈市| 玛纳斯县|