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