前言:想要寫出一篇引人入勝的文章?我們特意為您整理了設(shè)施農(nóng)業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)計(jì)研究范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。
摘要:在設(shè)施農(nóng)業(yè)中應(yīng)用物聯(lián)網(wǎng)技術(shù),可以對(duì)設(shè)施農(nóng)業(yè)進(jìn)行升級(jí),提高設(shè)施農(nóng)業(yè)的現(xiàn)代化水平,使用物聯(lián)網(wǎng)網(wǎng)關(guān)可以簡(jiǎn)化物聯(lián)網(wǎng)的設(shè)計(jì)和實(shí)施。介紹了一種采用無線接入和有線接入、可級(jí)聯(lián)的設(shè)施農(nóng)業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)的設(shè)計(jì)方案。
關(guān)鍵詞:網(wǎng)關(guān);物聯(lián)網(wǎng);設(shè)施農(nóng)業(yè)
在設(shè)施農(nóng)業(yè)中應(yīng)用物聯(lián)網(wǎng)技術(shù),可以對(duì)設(shè)施農(nóng)業(yè)進(jìn)行升級(jí),提高設(shè)施農(nóng)業(yè)的現(xiàn)代化水平,實(shí)現(xiàn)智能農(nóng)業(yè),比如在遠(yuǎn)程就可實(shí)時(shí)監(jiān)控生產(chǎn)環(huán)境的溫濕度、光照等情況,可實(shí)現(xiàn)天窗開閉、風(fēng)機(jī)運(yùn)行和水簾降溫等程序的遠(yuǎn)程控制或自動(dòng)控制。在實(shí)施物聯(lián)網(wǎng)過程種也存在一些問題:1)在物聯(lián)網(wǎng)的三層架構(gòu)體系中,包含傳感器的感知層的信息種類較大,比如有溫度、濕度、光照度、二氧化碳濃度等,傳感器的類型較多,它們的接口和協(xié)議也是多種多樣,比如模擬接口、RS485接口、Zig⁃Bee接口;2)不同類型的通信技術(shù)都只能各自組網(wǎng),通信的接收端必須有對(duì)應(yīng)通信發(fā)送端的接收器才能完成數(shù)據(jù)通信,因此控制中心的計(jì)算機(jī)需要連接不同的接收器接入不同的傳感器的網(wǎng)絡(luò),還需要解析不同的協(xié)議;3)傳感器網(wǎng)絡(luò)的通信技術(shù),比如Zigbee、RS485等屬于近距離通信,如果要傳輸數(shù)據(jù)到遠(yuǎn)程服務(wù)器,就需要增加設(shè)備進(jìn)行網(wǎng)絡(luò)轉(zhuǎn)換;4)大量傳感器接入到服務(wù)器,會(huì)增加服務(wù)器的負(fù)擔(dān),需要更高性能的服務(wù)器。物聯(lián)網(wǎng)網(wǎng)關(guān)是連接感知層和網(wǎng)絡(luò)層的關(guān)鍵節(jié)點(diǎn)設(shè)備,是物聯(lián)網(wǎng)的重要設(shè)備,具有網(wǎng)絡(luò)轉(zhuǎn)換、協(xié)議轉(zhuǎn)換、數(shù)據(jù)交換等功能,使用物聯(lián)網(wǎng)網(wǎng)關(guān)可以簡(jiǎn)化物聯(lián)網(wǎng)的設(shè)計(jì)和實(shí)施,可以解決上述問題。
1系統(tǒng)總體結(jié)構(gòu)和功能配置
1.1系統(tǒng)結(jié)構(gòu)和原理
本方案的物聯(lián)網(wǎng)網(wǎng)關(guān),由上行通信接口、下行通信接口、主控模塊等部分組成(見圖1)。1)上行通信接口,連接遠(yuǎn)程服務(wù)器(云端系統(tǒng))、用戶終端,在硬件上主要包括上行通信模塊、接口電路,在軟件上主要包括模塊驅(qū)動(dòng)程序、上行通信協(xié)議處理程序。2)下行通信接口,連接傳感器、控制器等設(shè)備終端,在硬件上主要包括下行通信模塊、接口電路,在軟件上主要包括模塊驅(qū)動(dòng)程序、下行通信協(xié)議處理程序。3)主控模塊是網(wǎng)關(guān)的核心部分,在硬件上由高級(jí)單片機(jī)和外圍接口電路構(gòu)成,在軟件上主要包括數(shù)據(jù)轉(zhuǎn)發(fā)程序、協(xié)議轉(zhuǎn)換程序等。上行接口主要是連接遠(yuǎn)程服務(wù),需要使用遠(yuǎn)程通信技術(shù),主要包括Internet通信、移動(dòng)通信等。上行通信模塊主要包括用于接入Internet網(wǎng)絡(luò)的以太網(wǎng)通信模塊、WiFi通信模塊,用于接入移動(dòng)通信網(wǎng)絡(luò)的GPRS通信模塊、4G通信模塊、NB-IOT通信模塊等。下行接口主要是連接傳感器和控制器,一般使用的是短距離通信技術(shù),主要包括RS485、Zig⁃Bee、WiFi、LoRa等;而對(duì)于4~20mA等模擬量的設(shè)備,并不直接接入網(wǎng)關(guān),需要一個(gè)變送器或采集器進(jìn)行轉(zhuǎn)換,以數(shù)字通信的方式接入到網(wǎng)關(guān)。下行通信模塊主要包括RS485通信模塊、ZigBee通信模塊、WiFi通信模塊、Lora通信模塊等。主控模塊通過UART、SPI、I2C等接口和上行通信模塊、下行通信模塊連接,通信模塊由主控模塊進(jìn)行配置和控制。網(wǎng)關(guān)的工作原理如下:網(wǎng)關(guān)通過WiFi或RS485等下行通信接口連接到傳感器終端或風(fēng)機(jī)、遮陽(yáng)等控制器,通過WiFi或以太網(wǎng)等上行通信接口接入到Internet網(wǎng)絡(luò)或局域網(wǎng)連接遠(yuǎn)程服務(wù)器;服務(wù)器的數(shù)據(jù)或指令通過上行接口傳輸?shù)街骺啬K,主控模塊根據(jù)上行通信協(xié)議取出數(shù)據(jù)后,進(jìn)行處理,根據(jù)下行協(xié)議重新打包,經(jīng)下行通信接口轉(zhuǎn)發(fā)到傳感器終端、控制器;傳感器終端、控制器的數(shù)據(jù),由下行接口上傳到主控模塊經(jīng)處理后轉(zhuǎn)發(fā)到上行接口,傳輸?shù)竭h(yuǎn)程服務(wù)器。在此過程中,網(wǎng)關(guān)完成了網(wǎng)絡(luò)轉(zhuǎn)換、協(xié)議轉(zhuǎn)換、數(shù)據(jù)轉(zhuǎn)發(fā)等功能。
1.2系統(tǒng)功能配置
本方案的網(wǎng)關(guān)功能配置如下:1)上行接口:具有1個(gè)WiFi接口、1個(gè)以太網(wǎng)接口,支持TCP/UDP、HTTP通信協(xié)議,采用Client工作模式,可通過上行接口連接遠(yuǎn)程服務(wù)器。2)下行接口:具有1個(gè)RS485接口,半雙工、波特率可配置、主站工作模式,支持Modbus通信協(xié)議;具有1個(gè)WiFi接口,主站工作模式,支持TCP/UDP、Modbus通信協(xié)議,可通過下行接口接入傳感器或控制器。3)工作電壓:DC5V;4)指示燈:電源指示燈、通信指示燈、狀態(tài)指示燈。
2硬件和軟件的設(shè)計(jì)
本方案的網(wǎng)關(guān)采用模塊化設(shè)計(jì),通信模塊直接選用市面上已有的通信模塊,需要根據(jù)選定的具體通信模塊設(shè)計(jì)接口電路、編寫模塊驅(qū)動(dòng)程序。
2.1硬件設(shè)計(jì)
2.1.1主控模塊主控模塊以32位高級(jí)單片機(jī)STM32F407ZG為控制核心,該單片機(jī)使用3.3VDC工作電源,具有1024kB的flashROM、192kB的RAM,并支持通過FSMC接口擴(kuò)展RAM,具有3個(gè)I2C接口、6個(gè)UART接口、2個(gè)SPI接口、1個(gè)SDIO接口,內(nèi)部RTC模塊。
2.1.2上行通信接口上行通信模塊主要包括1個(gè)WiFi通信、1個(gè)以太網(wǎng)通信模塊。其中WiFi通信模塊使用ESP8266通信模塊,通過UART連接到主控模塊的UART3;以太網(wǎng)通信模塊使用W5500通信模塊,通過SPI連接到主控模塊的SPI2。
2.1.3下行通信接口下行通信模塊主要包括1個(gè)WiFi通信模塊、1個(gè)RS485通信模塊。其中WiFi通信模塊使用USR-WIFI232-XXX通信模塊,通過UART連接到主控模塊的UART2;RS485通信模塊使用MAX485通信模塊,連接到主控模塊的UART4。
2.1.4存儲(chǔ)、顯示部分主控模塊通過FSMC接口連接IS62WV51216擴(kuò)展RAM,可存儲(chǔ)512k雙字節(jié)(1024kB)大小的數(shù)據(jù),用于在協(xié)議處理、數(shù)據(jù)轉(zhuǎn)發(fā)過程的變量存儲(chǔ);通過I2C接口I2C1連接EPROM存儲(chǔ)器24C02,可存儲(chǔ)256×8(2kbits)大小的數(shù)據(jù),用于存儲(chǔ)配置參數(shù);通過SDIO連接SD卡,用于存儲(chǔ)運(yùn)行中產(chǎn)生的數(shù)據(jù)。網(wǎng)關(guān)具有1個(gè)電源指示燈、1個(gè)運(yùn)行狀態(tài)指示燈、1個(gè)上行接口通信指示燈、1個(gè)下行接口通信指示燈,主控模塊通過4個(gè)IO口驅(qū)動(dòng)4個(gè)LED燈。除了指示燈,沒有其他顯示器件,可通過調(diào)試串口或者上行接口查詢系統(tǒng)信息和狀態(tài)。主控模塊的UART1作為調(diào)試串口。
2.1.5電源部分電源部分使用外接5VDC穩(wěn)壓電源,負(fù)載能力不小于10W。通過電源接口接入電路板,在電路板上通過LDO穩(wěn)壓電路輸出3.3VDC穩(wěn)壓電源作為工作電源。
2.2軟件設(shè)計(jì)
2.2.1軟件設(shè)計(jì)的主要內(nèi)容和方案軟件設(shè)計(jì)主要包括:通信接口驅(qū)動(dòng)程序、模塊的驅(qū)動(dòng)程序、通信協(xié)議處理程序、配置程序、數(shù)據(jù)采集程序、數(shù)據(jù)轉(zhuǎn)發(fā)程序,完成通信接口接入、遠(yuǎn)程連接、網(wǎng)絡(luò)轉(zhuǎn)換、協(xié)議轉(zhuǎn)換、數(shù)據(jù)轉(zhuǎn)發(fā)。由于RTOS實(shí)時(shí)操作系統(tǒng)在系統(tǒng)層已經(jīng)實(shí)現(xiàn)了任務(wù)的調(diào)度,在多任務(wù)系統(tǒng)開發(fā)中比較有優(yōu)勢(shì),同時(shí)本方案的硬件支持運(yùn)行RTOS,因此采用基于RTOS進(jìn)行開發(fā)。
2.2.2軟件的層次結(jié)構(gòu)采用分層結(jié)構(gòu)進(jìn)行軟件設(shè)計(jì),軟件的結(jié)構(gòu)從下到上分成:硬件驅(qū)動(dòng)層、模塊驅(qū)動(dòng)層、網(wǎng)絡(luò)通信層、應(yīng)用層。硬件驅(qū)動(dòng)層完成對(duì)硬件的配置和驅(qū)動(dòng),包括系統(tǒng)時(shí)鐘的配置、IO的配置、UART接口的驅(qū)動(dòng)、SPI接口的驅(qū)動(dòng)、I2C接口的驅(qū)動(dòng)、FSMC接口的驅(qū)動(dòng)等。模塊驅(qū)動(dòng)層完成對(duì)通信模塊、存儲(chǔ)模塊等外接模塊的配置和驅(qū)動(dòng),包括上行接口中的WiFi通信模塊、以太網(wǎng)通信模塊的驅(qū)動(dòng),下行接口中的WiFi通信模塊、RS485通信模塊等的驅(qū)動(dòng),存儲(chǔ)模塊的驅(qū)動(dòng)等。網(wǎng)絡(luò)通信層完成網(wǎng)絡(luò)連接和數(shù)據(jù)傳輸、協(xié)議的處理,包括RS485通信、TCP/UDP、HTTP、Mod⁃bus等。應(yīng)用層完成業(yè)務(wù)功能,包括系統(tǒng)配置、協(xié)議轉(zhuǎn)換、數(shù)據(jù)轉(zhuǎn)發(fā)、信息采集、數(shù)據(jù)存儲(chǔ)等。
2.2.3任務(wù)的分配和調(diào)度系統(tǒng)使用了FREE—RTOS實(shí)時(shí)操作系統(tǒng),在RTOS系統(tǒng)層采用分時(shí)調(diào)度的方式實(shí)現(xiàn)系統(tǒng)線程(簡(jiǎn)稱線程)的切換。系統(tǒng)分配6個(gè)線程,各線程優(yōu)先級(jí)一致,由RTOS系統(tǒng)分時(shí)調(diào)度,將各種業(yè)務(wù)定義成不同的業(yè)務(wù)任務(wù)(簡(jiǎn)稱任務(wù)),每個(gè)線程執(zhí)行一個(gè)或多個(gè)業(yè)務(wù)任務(wù)。線程1完成系統(tǒng)配置、系統(tǒng)監(jiān)測(cè)、系統(tǒng)指示任務(wù);線程2完成上行接口處理任務(wù);線程3完成下行接口處理任務(wù);線程4完成協(xié)議轉(zhuǎn)換、數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù);線程5完成數(shù)據(jù)存儲(chǔ)任務(wù);線程6完成信息采集任務(wù)。由于各個(gè)線程是無限循環(huán)并且是并行執(zhí)行的,為了對(duì)各個(gè)線程進(jìn)行監(jiān)測(cè),取一個(gè)狀態(tài)字并為每個(gè)線程設(shè)定一個(gè)狀態(tài)位。每個(gè)線程在循環(huán)一輪都給對(duì)應(yīng)的狀態(tài)位置位,線程1每隔100ms要對(duì)各個(gè)線程的狀態(tài)位進(jìn)行檢測(cè)。如果所有線程對(duì)應(yīng)的狀態(tài)位都置位,則清零狀態(tài)字并驅(qū)動(dòng)狀態(tài)指示燈亮或滅。因此系統(tǒng)正常運(yùn)行時(shí),狀態(tài)指示燈是閃爍的。
3主要功能的設(shè)計(jì)
接入功能、數(shù)據(jù)轉(zhuǎn)發(fā)功能、協(xié)議轉(zhuǎn)換功能,是網(wǎng)關(guān)要實(shí)現(xiàn)的主要功能。
3.1上行接口的設(shè)計(jì)
上行接口主要是連接遠(yuǎn)程服務(wù),需要使用遠(yuǎn)程通信技術(shù),使用的通信協(xié)議是TCP/UDP,以及基于TCP/UDP的HTTP、Modbus等。TCP/UDP屬于傳輸層協(xié)議,由通信模塊實(shí)現(xiàn),在模塊驅(qū)動(dòng)層通過對(duì)模塊的配置,可以啟動(dòng)相關(guān)功能,因此在硬件設(shè)計(jì)上,需要選擇支持TCP/UDP功能的通信模塊。本系統(tǒng)所用的上行通信模塊均支持TCP/UDP功能,其中WiFi通信模塊通過UART通信使用相應(yīng)的AT指令進(jìn)行配置,以太網(wǎng)通信模塊通過SPI通信配置模塊相應(yīng)的寄存器進(jìn)行配置。HTTP、Modbus等運(yùn)行在TCP之上,屬于應(yīng)用層協(xié)議,由主控模塊實(shí)現(xiàn),通過協(xié)議處理程序完成。HTTP協(xié)議在Web應(yīng)用中得到廣泛的應(yīng)用;Modbus協(xié)議在工業(yè)領(lǐng)域廣泛應(yīng)用,是工業(yè)電子設(shè)備之間常用的連接方式。通過上行接口,實(shí)現(xiàn)以下功能:1)使用的是HTTP協(xié)議對(duì)網(wǎng)關(guān)參數(shù)的配置和查詢:網(wǎng)關(guān)實(shí)現(xiàn)一個(gè)WebServer,可以處理HTTP協(xié)議的GET方法請(qǐng)求。通過瀏覽器打開配置頁(yè)面對(duì)參數(shù)進(jìn)行查詢和配置,網(wǎng)關(guān)作為TCPServer,需要打開監(jiān)聽端口。2)使用Modbus協(xié)議將傳感器數(shù)據(jù)傳輸?shù)椒?wù)器:網(wǎng)關(guān)作為TCPClient連接到TCPServer,由服務(wù)器發(fā)起請(qǐng)求網(wǎng)關(guān)作為從設(shè)備響應(yīng)數(shù)據(jù)。Mod⁃bus協(xié)議有專門的TCP格式,這里只是將TCP作為數(shù)據(jù)鏈路,報(bào)文使用的是Modbus-RTU格式。
3.2下行接口的設(shè)計(jì)
下行接口主要是連接傳感器、下級(jí)網(wǎng)關(guān),包括1個(gè)WiFi接口、1個(gè)RS485接口。WiFi接口配置成AP模式,下級(jí)網(wǎng)關(guān)的上行WiFi以及采用WiFi通信的傳感器可以連接到到這個(gè)AP。在通信上,配置成TCPServer,打開監(jiān)聽端口,下級(jí)網(wǎng)關(guān)、傳感器作為TCPClient連接到這個(gè)端口,使用TCP協(xié)議進(jìn)行數(shù)據(jù)傳輸。由于RS485通信是半雙工的,模塊需要配置成主機(jī)模式,由網(wǎng)關(guān)發(fā)起通信。RS485通信的校驗(yàn)位和波特率等參數(shù)設(shè)計(jì)成可配置以適應(yīng)實(shí)際設(shè)備的通信參數(shù)。在往下行接口發(fā)送數(shù)據(jù)的時(shí)候,會(huì)發(fā)送到所有通過WiFi接口連接的傳感器、通過RS485接口連接的傳感器以及通過WiFi接口連接的下級(jí)網(wǎng)關(guān)。
3.3數(shù)據(jù)轉(zhuǎn)發(fā)和協(xié)議轉(zhuǎn)換功能的設(shè)計(jì)
數(shù)據(jù)轉(zhuǎn)發(fā)指的是將數(shù)據(jù)從下行接口轉(zhuǎn)發(fā)到上行接口,或?qū)?shù)據(jù)從上行接口轉(zhuǎn)發(fā)到下行接口。在轉(zhuǎn)發(fā)的過程中,由于兩個(gè)接口的通信協(xié)議不用,需要根據(jù)接收口的協(xié)議將數(shù)據(jù)接收讀取解析出來,經(jīng)過一定的處理后,按發(fā)送口的通信協(xié)議重新打包發(fā)送,這個(gè)就是協(xié)議轉(zhuǎn)換。整個(gè)過程就是實(shí)現(xiàn)對(duì)數(shù)據(jù)的接收、解包、處理、封裝、轉(zhuǎn)發(fā)。網(wǎng)關(guān)采用多種可配置的模式實(shí)現(xiàn)對(duì)數(shù)據(jù)的轉(zhuǎn)發(fā),運(yùn)行的時(shí)候根據(jù)配置執(zhí)行下列模式中的一個(gè)模式:模式1為直接透?jìng)髂J?。運(yùn)行此模式的時(shí)候,系統(tǒng)將上行接口的數(shù)據(jù)直接轉(zhuǎn)發(fā)到下行接口,由于下行接口有多個(gè)端口,數(shù)據(jù)將依次轉(zhuǎn)發(fā)到各個(gè)端口,下行接口的數(shù)據(jù)也依次直接轉(zhuǎn)發(fā)到上行接口。模式2為協(xié)議透?jìng)髂J?。運(yùn)行此模式的時(shí)候,會(huì)對(duì)收到的數(shù)據(jù)進(jìn)行協(xié)議核對(duì),符合Modbus協(xié)議格式的數(shù)據(jù)將被轉(zhuǎn)發(fā),不符合的數(shù)據(jù)將在本地被處理:按其他協(xié)議處理或丟棄。
3.4級(jí)聯(lián)功能的設(shè)計(jì)
級(jí)聯(lián)功能可以給系統(tǒng)帶來靈活性,通過級(jí)聯(lián)功能可以實(shí)現(xiàn):通信的中繼進(jìn)而達(dá)到延長(zhǎng)通信距離的功能;分級(jí)擴(kuò)展進(jìn)而達(dá)到擴(kuò)大接入能力的功能;分組接入進(jìn)而提高系統(tǒng)性能和簡(jiǎn)化系統(tǒng)管理。本系統(tǒng)的級(jí)聯(lián)功能通過WiFi通信接口實(shí)現(xiàn):本級(jí)網(wǎng)關(guān)的上行WiFi模塊打開STA模式,上級(jí)網(wǎng)關(guān)的下行WiFi模塊打開AP模式;本級(jí)網(wǎng)關(guān)的上行WiFi接入到上級(jí)網(wǎng)關(guān)的下行WiFi;上級(jí)網(wǎng)關(guān)把本機(jī)網(wǎng)關(guān)看成一個(gè)傳感器終端,本機(jī)網(wǎng)關(guān)把上級(jí)網(wǎng)關(guān)看成一個(gè)服務(wù)器;按正常的模式進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)和協(xié)議轉(zhuǎn)換。級(jí)聯(lián)之后的系統(tǒng),只有一個(gè)頂級(jí)網(wǎng)關(guān)連接到服務(wù)器。從頂級(jí)網(wǎng)關(guān)看,所有的傳感器設(shè)備都是連接在本網(wǎng)關(guān)的下行WiFi接口上,可以把下級(jí)的級(jí)聯(lián)網(wǎng)關(guān)看成透明的。
4結(jié)束語(yǔ)
使用物聯(lián)網(wǎng)網(wǎng)關(guān)可以簡(jiǎn)化物聯(lián)網(wǎng)的設(shè)計(jì)和實(shí)施,但是目前并沒有標(biāo)準(zhǔn)的、通用的物聯(lián)網(wǎng)網(wǎng)關(guān)可以選用,需要針對(duì)具體的應(yīng)用而開發(fā)相應(yīng)的物聯(lián)網(wǎng)網(wǎng)關(guān)。本方案的物聯(lián)網(wǎng)網(wǎng)關(guān)主要針對(duì)設(shè)施農(nóng)業(yè),以無線通信為主要通信方式,這樣便于設(shè)備的安裝和布置,同時(shí)也保留了以太網(wǎng)、RS485有線通信方式以滿足現(xiàn)場(chǎng)的實(shí)際需求。在通信接口的設(shè)計(jì)上,并沒有把所有的通信方式都接入。上行接口只接入WiFi通信模塊和以太網(wǎng)通信模塊,用于接入Internet網(wǎng)絡(luò);如果想使用移動(dòng)網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程通信,可以考慮把通信模塊替換成GPRS通信模塊、4G通信模塊、NB-IOT通信模塊等。下行接口只接入WiFi通信模塊、RS485通信模塊,可實(shí)現(xiàn)傳感器和控制器的無線接入和有線接入;如果需要實(shí)現(xiàn)ZigBee、LoRa、藍(lán)牙等通信的接入,可以增加相應(yīng)的通信模塊。
參考文獻(xiàn):
[1]葉長(zhǎng)欖.應(yīng)用物聯(lián)網(wǎng)推動(dòng)現(xiàn)代農(nóng)業(yè)發(fā)展[J].福建農(nóng)機(jī),2019(1):6-8.
作者:葉長(zhǎng)欖 單位:福建省農(nóng)業(yè)機(jī)械化研究所