• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于LoRa的戶外農(nóng)業(yè)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)

      2021-01-18 03:38:16陳仕林張景浩戴子正鄧鑫銘
      現(xiàn)代計(jì)算機(jī) 2020年32期
      關(guān)鍵詞:中間件低功耗上位

      陳仕林,張景浩,戴子正,鄧鑫銘

      (廣東第二師范學(xué)院計(jì)算機(jī)科學(xué)系,廣州510800)

      0 引言

      隨著物聯(lián)網(wǎng)在智慧農(nóng)業(yè)的不斷深入,環(huán)境監(jiān)測(cè)和控制在溫室種植中已逐漸得到推廣和應(yīng)用,多數(shù)溫室大棚種植中,都會(huì)配備加熱裝置,基礎(chǔ)采樣裝置,部分專業(yè)能力十足的溫室管理技術(shù)中同時(shí)會(huì)配備水肥一體機(jī)、電場(chǎng)等中小型設(shè)備,以提高作物產(chǎn)量與品質(zhì)。在本課題中,其主要方向是針對(duì)國(guó)內(nèi)更為廣泛的室外開(kāi)闊的田野、果園種植的環(huán)境監(jiān)測(cè),以監(jiān)測(cè)數(shù)據(jù)提供生產(chǎn)者實(shí)現(xiàn)對(duì)生產(chǎn)環(huán)境的簡(jiǎn)單調(diào)控的管理依據(jù)。

      1 LoRa介紹

      LoRa是一種由Semtech公司于2013年發(fā)布基于Sub-GHz頻段的低功耗廣域網(wǎng)通信技術(shù),。作為一種低功耗遠(yuǎn)距離通信技術(shù),較低的數(shù)據(jù)速率不僅延長(zhǎng)電池壽命,更是增加了網(wǎng)絡(luò)的容量。這使得它僅需要一節(jié)鋰電池即可實(shí)現(xiàn)長(zhǎng)續(xù)航的工作。在LPWAN誕生之前,應(yīng)用于物聯(lián)網(wǎng)的通信只能在遠(yuǎn)距離與低功耗之間做取舍。對(duì)比早期物聯(lián)網(wǎng)應(yīng)用所使用的ZigBee、GPRS等,其更低功耗,更遠(yuǎn)傳輸距離,對(duì)建筑的穿透力更強(qiáng)的特性,使得LoRa更適用于如智慧農(nóng)業(yè)、智慧工業(yè)、智慧城市等低成本大規(guī)模的物聯(lián)網(wǎng)部署。

      2 系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)

      2.1 程序架構(gòu)

      本系統(tǒng)是以LoRa技術(shù)為通信基礎(chǔ),將各個(gè)適用于農(nóng)業(yè)環(huán)境監(jiān)測(cè)的傳感器集成于一個(gè)終端,通過(guò)LoRa星型組網(wǎng)制作成一個(gè)傳輸距離遠(yuǎn),功耗低、穩(wěn)定性強(qiáng)的監(jiān)控系統(tǒng)。傳感器采集作物生長(zhǎng)的局部地區(qū)的環(huán)境信息,通過(guò)采樣終端進(jìn)行處理,然后發(fā)送到上位機(jī),上位機(jī)將數(shù)據(jù)處理并存儲(chǔ)于數(shù)據(jù)庫(kù)中,用戶通過(guò)桌面端的可視化程序進(jìn)行監(jiān)控。該系統(tǒng)的采樣終端設(shè)置有兩種方式。①通過(guò)采樣終端上的按鈕和互動(dòng)指示燈完成配置;②通過(guò)上位機(jī)中的中間件程序遠(yuǎn)程對(duì)采樣終端進(jìn)行控制,從而形成生產(chǎn)環(huán)境采集及控制系統(tǒng)。系統(tǒng)總體框架圖如圖1所示。

      圖1 系統(tǒng)總體框架圖

      2.2 采樣終端設(shè)計(jì)

      本系統(tǒng)綜合STC 8051、STM32F103C8等多款主控芯片對(duì)比分析,最終選擇STM32F103C8T6作為主控芯片。STM32F103C8T6是一款高性能的ARM架構(gòu)Cor?tex-M3內(nèi)核的32位微型控制器,其程序存儲(chǔ)容量高達(dá)64KB,工作頻率高達(dá)72MHz,供電范圍在2V-3.6V,工作溫度在-40℃到85℃。STM32F013是一款性能強(qiáng)大的嵌入式芯片,其具有豐富的外圍設(shè)備資源,如ADC、脈沖調(diào)制、DMA、內(nèi)部溫度傳感器,支持多種協(xié)議如I2C、SPI。不僅如此,STM32F103C8T6還支持低功耗模式,分別由Stop模式、Sleep模式、Standby模式,用戶可根據(jù)不同的應(yīng)用場(chǎng)景、喚醒周期和是否具備外部喚醒信號(hào)源來(lái)選擇進(jìn)入不同的低功耗模式。經(jīng)分析,STM32F103C8T6芯片能有效滿足本系統(tǒng)設(shè)計(jì)所需的資源,故選用其作為本系統(tǒng)的主控方案[3]。

      系統(tǒng)以STM32F103C8T6作為主控核心板,外圍電路包括電源濾波電路,太陽(yáng)能鋰電池充放電電路,太陽(yáng)能鋰電池測(cè)試電路,升壓電路,ModuleBus 485電路,實(shí)時(shí)時(shí)鐘電路,以及調(diào)試按鈕和指示燈。電源濾波電路主要為了降低波紋電路,減少噪聲,避免對(duì)傳感器的信號(hào)造成干擾,太陽(yáng)能鋰電池充放電電路用于給終端的供電鋰電池充放電保護(hù),升壓電路分為3.3V升壓電路和12V升壓電路,3.3V電路主要用于給適用于3.3V的模塊進(jìn)行供電,如AD采樣的模塊,DHT11溫濕度傳感器以及LoRa通信模塊,12V升壓電路用于給RS-485模塊供電,ModubleBUS485電路主要是將串口輸入輸出改為RS-485輸入輸出,實(shí)時(shí)時(shí)鐘電路為系統(tǒng)提供準(zhǔn)確的時(shí)間信息,以防鋰電池供電不足時(shí),系統(tǒng)時(shí)間丟失,按鍵和指示燈用于現(xiàn)場(chǎng)調(diào)試,便于監(jiān)測(cè)終端的工作狀態(tài)。采樣終端原理圖如圖2所示,采樣終端實(shí)物圖如圖3所示。

      圖2 采樣終端原理圖

      圖3 采樣終端實(shí)物圖

      2.3 采集子系統(tǒng)

      采樣終端首先經(jīng)電腦端燒錄入程序,然后硬復(fù)位執(zhí)行。初次執(zhí)行過(guò)程主體分為對(duì)系統(tǒng)的時(shí)鐘進(jìn)行初始化,對(duì)外圍設(shè)備進(jìn)行初始化,進(jìn)入低功耗模式。當(dāng)觸發(fā)第一次訪問(wèn)時(shí),會(huì)通過(guò)通信模塊發(fā)送初始信息,然后等待上位機(jī)的響應(yīng),上位機(jī)中間件程序收到該采樣終端的信息時(shí),會(huì)檢查數(shù)據(jù)幀的(從零開(kāi)始)第十七位和十八位的信息,如果是原始信息則會(huì)分配一個(gè)數(shù)據(jù)庫(kù)中未分配的ID給該采樣終端,并通過(guò)響應(yīng)幀發(fā)回給采樣終端,響應(yīng)幀中包含新設(shè)定的采樣周期,新的設(shè)備ID號(hào);上位機(jī)會(huì)周期性向所在信道和地址中發(fā)送重傳指令,避免下位機(jī)陷入由于未完成初始化而長(zhǎng)期等待上位機(jī)ACK的死循環(huán)中。當(dāng)采樣終端完成初始化后,根據(jù)設(shè)置的采樣周期,定時(shí)向上位機(jī)發(fā)送采樣周期數(shù)據(jù),每次采樣終端數(shù)據(jù)發(fā)送都要求上位機(jī)返回響應(yīng),才會(huì)進(jìn)入低功耗模式,等待下一次周期喚醒。程序流程圖如圖4所示。

      圖4 采樣終端程序流程圖

      當(dāng)采樣終端上電復(fù)位后,首先會(huì)對(duì)外圍設(shè)備進(jìn)行初始化,配置好系統(tǒng)時(shí)間和采樣周期后就進(jìn)入休眠。當(dāng)觸發(fā)RTC鬧鐘喚醒系統(tǒng)或者按鍵中斷喚醒后,重新初始化系統(tǒng)時(shí)鐘后開(kāi)始執(zhí)行采樣任務(wù)。采樣任務(wù)分別為對(duì)需要3.3V供電的傳感器和對(duì)需要12V供電的RS-485傳感器進(jìn)行采樣,為實(shí)現(xiàn)低功耗需求,每完成一項(xiàng)采樣任務(wù)后會(huì)及時(shí)對(duì)傳感器組的電源進(jìn)行斷電。采樣并將數(shù)據(jù)處理完畢即及時(shí)發(fā)送數(shù)據(jù)幀,并等待上位機(jī)的響應(yīng)幀,響應(yīng)幀中包含操作碼。數(shù)據(jù)幀結(jié)構(gòu)如表1所示。

      2.4 通信子系統(tǒng)

      據(jù)上文介紹可悉知,MQTT、DDS等協(xié)議都是建立于TCP/IP之上,且各具特色,勝任于多種場(chǎng)景下的工作。然而,在本系統(tǒng)的應(yīng)用中,受限于戶外條件的供電不確定性影響,對(duì)功耗的控制要求遠(yuǎn)超過(guò)多數(shù)物聯(lián)網(wǎng)應(yīng)用,故在COAP協(xié)議的思想上,提出一種剪裁版的COAP協(xié)議。系統(tǒng)的電量主要損耗于低功耗模式下的待機(jī)工作、指示燈、傳感器的工作、通信模塊的數(shù)據(jù)發(fā)送。其中通信模塊的數(shù)據(jù)發(fā)送電流高達(dá)300MA。由此可見(jiàn),要實(shí)現(xiàn)設(shè)備的更長(zhǎng)續(xù)航,減少采樣終端的數(shù)據(jù)發(fā)送次數(shù)。上述眾多物聯(lián)網(wǎng)通信協(xié)議其多數(shù)建立于TCP/IP協(xié)議,需要完成三次握手,假設(shè)使用上述協(xié)議完成數(shù)據(jù)的接收與發(fā)送,將會(huì)使得功耗會(huì)增加,而單獨(dú)靠采樣終端無(wú)面向連接定時(shí)發(fā)送,又存在采樣終端會(huì)受環(huán)境、供電問(wèn)題變?yōu)殡[藏站的可能,致使終端在網(wǎng)絡(luò)中消失,或是多個(gè)終端發(fā)送的數(shù)據(jù)時(shí)候的導(dǎo)致的沖撞現(xiàn)象,使得上位機(jī)未能成功接收個(gè)別終端所發(fā)來(lái)的信息,造成信息丟失問(wèn)題。故基于TCP/IP協(xié)議的物聯(lián)網(wǎng)通信協(xié)議與無(wú)面向連接的通信協(xié)議不可取。故根據(jù)采樣終端和上位機(jī)工作的流程和特性,對(duì)COAP協(xié)議進(jìn)行修改。當(dāng)采樣終端完成數(shù)據(jù)采集和發(fā)送數(shù)據(jù)時(shí)會(huì)向上位機(jī)發(fā)送一個(gè)COAP協(xié)議的CON類型請(qǐng)求,不過(guò)該CON類型請(qǐng)求中是攜帶有數(shù)據(jù)的,請(qǐng)求目的是確認(rèn)自身還存在于網(wǎng)絡(luò)中,然后采樣終端會(huì)進(jìn)入局部低功耗的工作模式,僅將采樣數(shù)據(jù)暫時(shí)存儲(chǔ)在寄存器并等待接收模塊接收上位機(jī)的ACK響應(yīng)。正常工作下,上位機(jī)收到CON類型請(qǐng)求后,經(jīng)確認(rèn)無(wú)誤將會(huì)發(fā)送一個(gè)類似于COAP類型的響應(yīng)幀,該響應(yīng)幀中包含操作碼等功能設(shè)置,采樣終端收到響應(yīng)幀將會(huì)根據(jù)幀內(nèi)容進(jìn)入對(duì)采樣周期、喚醒時(shí)間、采樣設(shè)備的設(shè)置或進(jìn)入低功耗模式,斷開(kāi)所有外設(shè)、系統(tǒng)時(shí)鐘供電,等待實(shí)時(shí)時(shí)鐘的喚醒再重新初始化所有外設(shè)和系統(tǒng)時(shí)鐘;非正常工作情況有兩種,第一種上位機(jī)未收到數(shù)據(jù),第二種下位機(jī)未收到響應(yīng)。當(dāng)?shù)谝环N情況時(shí),由于終端與上位機(jī)經(jīng)初次通信后,上位機(jī)保留有終端的采樣周期,故當(dāng)約定時(shí)間下,上位機(jī)未收到終端信息,上位機(jī)將主動(dòng)向頻道內(nèi)發(fā)送重傳指令,要求違約終端重新發(fā)送數(shù)據(jù),若多次重傳指令未能尋找回違約終端,將由人工介入完成對(duì)終端設(shè)備的檢查工作。當(dāng)處于第二種情況時(shí),下位機(jī)未能收到上位機(jī)的所發(fā)送的響應(yīng)幀,此時(shí)違約方為上位機(jī),下位機(jī)將會(huì)再次向頻道內(nèi)發(fā)送數(shù)據(jù),然后繼續(xù)等待上位機(jī)發(fā)送的響應(yīng)幀。上位機(jī)違約時(shí),下位機(jī)并不會(huì)一直重傳等待,當(dāng)違約次數(shù)達(dá)到一定時(shí),終端將會(huì)直接依照之前設(shè)定的喚醒周期進(jìn)入休眠,等待下一次喚醒。經(jīng)驗(yàn)證,部署合理的環(huán)境下,終端的通信發(fā)射次數(shù)減少,終端續(xù)航得到提高。流程圖如圖5所示。

      2.5 顯示子系統(tǒng)

      上位機(jī)軟件設(shè)計(jì)包含處理字節(jié)流數(shù)據(jù)的中間件設(shè)計(jì)、存放數(shù)據(jù)的數(shù)據(jù)庫(kù)設(shè)計(jì)以及用于數(shù)據(jù)可視化的軟件設(shè)計(jì)。

      表1

      當(dāng)上位機(jī)接收模塊接入上位機(jī)后,中間件程序則會(huì)打開(kāi)端口掃描并綁定上位機(jī)模塊端口,隨后將監(jiān)聽(tīng)是否有采樣終端進(jìn)行訪問(wèn),當(dāng)監(jiān)聽(tīng)到有字節(jié)流進(jìn)入時(shí),先對(duì)字節(jié)流進(jìn)行長(zhǎng)度判斷,數(shù)據(jù)有效性判斷,隨后對(duì)其發(fā)送響應(yīng)幀,可完成對(duì)采樣終端的再配置以及對(duì)數(shù)據(jù)的接收。中間件完成對(duì)原始字節(jié)流數(shù)據(jù)的接收后,將其從十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制數(shù)據(jù),由于光照強(qiáng)度的范圍在0-200000,在數(shù)據(jù)幀中只占有兩位,故采樣終端需要對(duì)光照強(qiáng)度的采樣值進(jìn)行簡(jiǎn)單壓縮,以及由中間件完成數(shù)據(jù)還原,并將處理好的數(shù)據(jù)插入至數(shù)據(jù)庫(kù)中,完成對(duì)數(shù)據(jù)的存儲(chǔ)工作。中間件程序流程圖如圖6所示。

      圖5 通信流程圖

      圖6 中間件程序流程圖

      本系統(tǒng)的可視化軟件僅使用到一張數(shù)據(jù)庫(kù)表,其表內(nèi)數(shù)據(jù)包含索引主鍵ID、信息接收時(shí)間、設(shè)備ID、采樣周期、溫度、濕度、土壤溫度、土壤電導(dǎo)率、光照強(qiáng)度、土壤酸堿度、電池電量信息。

      可視化軟件是通過(guò)C#開(kāi)發(fā)的桌面應(yīng)用軟件,軟件通過(guò)對(duì)MySQL數(shù)據(jù)庫(kù)的數(shù)據(jù)訪問(wèn),將數(shù)據(jù)存儲(chǔ)于一個(gè)緩存中,在圖形界面中顯示,從而完成了數(shù)據(jù)和代碼分離。其效果圖如圖7所示。

      3 實(shí)驗(yàn)分析

      3.1 傳感器測(cè)試

      圖8為采樣終端對(duì)溫濕度傳感器的數(shù)據(jù)訪問(wèn)返回結(jié)果,返回?cái)?shù)據(jù)空氣濕度為0x02 0x77,換算后為631,除以10后可得空氣濕度為63.1%RH,空氣溫度為0x00 0XE8,換算后為232,除以10可得空氣溫度為23.2℃。即溫濕度傳感器初始化、讀寫訪問(wèn)等功能經(jīng)測(cè)試無(wú)異常。

      圖7 可視化軟件效果圖

      圖8 溫濕度傳感器數(shù)據(jù)返回結(jié)果

      圖9 土壤酸堿度傳感器PH值數(shù)據(jù)返回結(jié)果

      圖10 土壤溫度數(shù)據(jù)返回結(jié)果

      圖9和圖10與圖8的計(jì)算方式相同,通過(guò)對(duì)第五第六位數(shù)據(jù)進(jìn)行從十六進(jìn)制轉(zhuǎn)10進(jìn)制后除以10,便可獲得有效數(shù)據(jù)。

      3.2 通信模塊收發(fā)測(cè)試

      對(duì)比圖11與圖12的數(shù)據(jù)發(fā)送和接收內(nèi)容,數(shù)據(jù)發(fā)送與接收一致,通信模塊測(cè)試完成,測(cè)試結(jié)果表明通信模塊工作正常。

      圖11 終端發(fā)送數(shù)據(jù)內(nèi)容

      圖12 上位機(jī)接收數(shù)據(jù)內(nèi)容

      3.3 系統(tǒng)軟件測(cè)試

      本次測(cè)試通過(guò)上位機(jī)重置設(shè)備采樣周期的小時(shí)、分鐘、設(shè)備編號(hào),F(xiàn)1為操作碼,F(xiàn)F為幀頭。采樣終端接收并設(shè)置完后,并返回設(shè)置后的結(jié)果。由圖13中的收發(fā)數(shù)據(jù)表明,該功能有效。

      圖13 上位機(jī)設(shè)置終端操作圖

      圖14為上位機(jī)對(duì)下位機(jī)重傳測(cè)試。通過(guò)上位機(jī)向終端發(fā)送的響應(yīng)幀階段,發(fā)送重傳指令,并能成功接收重傳數(shù)據(jù),測(cè)試結(jié)果表明該功能有效。

      圖14 下位機(jī)對(duì)上位機(jī)重傳指令響應(yīng)

      圖15 中間件數(shù)據(jù)處理測(cè)試

      圖15為數(shù)據(jù)流入中間件時(shí)處理前后的結(jié)果,其中“FF 02 63 00 F0 00”等是終端發(fā)送的原始數(shù)據(jù),數(shù)據(jù)類型為16進(jìn)制。經(jīng)過(guò)中間件處理得到基礎(chǔ)信息和采樣信息,并由中間件完成數(shù)據(jù)的存儲(chǔ)操作。存儲(chǔ)結(jié)果如圖16所示。表明中間件功能測(cè)試成功,結(jié)果有效。

      圖16 存儲(chǔ)測(cè)試圖

      圖17 數(shù)據(jù)顯示測(cè)試圖

      當(dāng)圖15和圖16的操作完成后,數(shù)據(jù)將會(huì)在可視化軟件中實(shí)時(shí)顯示,圖17的黃色標(biāo)記為空氣濕度的實(shí)時(shí)值。表明可視化軟件的實(shí)時(shí)性測(cè)試成功,且結(jié)果有效。

      本次檢查終端的采樣周期是否與設(shè)置值匹配,經(jīng)圖18中的數(shù)據(jù)表明,20為采樣周期(分鐘),第二列為數(shù)據(jù)接收時(shí)間。對(duì)相鄰兩次時(shí)間做差對(duì)比,其采樣周期的誤差在10秒內(nèi),該時(shí)間主要受傳輸距離、傳輸速率影響。故本次測(cè)試成功,結(jié)果有效。

      圖18 周期采樣測(cè)試結(jié)果圖

      4 結(jié)語(yǔ)

      隨著人們對(duì)智慧城市、智能家居等物聯(lián)網(wǎng)應(yīng)用的認(rèn)識(shí)提升,將物聯(lián)網(wǎng)應(yīng)用落地于工業(yè)生產(chǎn)、農(nóng)業(yè)生產(chǎn)中的需求量也逐漸提高。由此更低功耗、更穩(wěn)定的、適用范圍更廣的農(nóng)業(yè)低功耗監(jiān)測(cè)系統(tǒng)對(duì)智慧農(nóng)業(yè)的發(fā)展有著重大意義。文中描述了基于LoRa的戶外低功耗監(jiān)測(cè)終系統(tǒng)設(shè)計(jì),通過(guò)嵌入式技術(shù)將多種不同協(xié)議的傳感器集成在一起,用以實(shí)現(xiàn)對(duì)戶外農(nóng)業(yè)生產(chǎn)中的環(huán)境數(shù)據(jù)采樣,并將數(shù)據(jù)經(jīng)一系列處理后,通過(guò)LoRa上傳至上位機(jī)接收模塊,由上位機(jī)的中間件完成數(shù)據(jù)的處理和存儲(chǔ)任務(wù),最終在應(yīng)用中完成數(shù)據(jù)可視化。這一系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā),有助于生產(chǎn)者在降低人力成本的同時(shí),還能第一時(shí)間內(nèi)了解作物生長(zhǎng)的環(huán)境情況,更高效的對(duì)作物的生長(zhǎng)過(guò)程進(jìn)行干預(yù),為作物產(chǎn)量、品質(zhì)提供有利的保障。

      猜你喜歡
      中間件低功耗上位
      一種高速低功耗比較器設(shè)計(jì)
      RFID中間件技術(shù)及其應(yīng)用研究
      電子制作(2018年14期)2018-08-21 01:38:10
      特斯拉 風(fēng)云之老阿姨上位
      車迷(2018年12期)2018-07-26 00:42:22
      基于VanConnect中間件的設(shè)計(jì)與開(kāi)發(fā)
      “三扶”齊上位 決戰(zhàn)必打贏
      基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
      以新思路促推現(xiàn)代農(nóng)業(yè)上位
      中間件在高速公路領(lǐng)域的應(yīng)用
      ADI推出三款超低功耗多通道ADC
      IDT針對(duì)下一代無(wú)線通信推出低功耗IQ調(diào)制器
      赤壁市| 永寿县| 庆阳市| 前郭尔| 勃利县| 伊金霍洛旗| 临夏县| 潢川县| 名山县| 沈阳市| 仙游县| 沐川县| 韩城市| 章丘市| 霞浦县| 岑溪市| 阳泉市| 田阳县| 北安市| 三亚市| 太白县| 三门峡市| 双桥区| 淄博市| 额济纳旗| 梁山县| 桑日县| 宁海县| 陆河县| 盐山县| 三门峡市| 泾源县| 东明县| 乌拉特后旗| 济源市| 汝州市| 华坪县| 张家港市| 城口县| 大渡口区| 石渠县|