劉嘯松
【摘 要】論文兼顧成本低、設(shè)備體積小、功耗低等因素,提出了基于OneNET云服務(wù)平臺(tái)的溫濕度遠(yuǎn)程監(jiān)測(cè)系統(tǒng)。采用Cortex-M3內(nèi)核32位處理芯片STM32F103C8T6作為主控制器,采用GA6通信模塊,基于WiFi無(wú)線傳輸技術(shù)的搭載ESP8266芯片的ESP-01S通信模塊,結(jié)合傳感器 DHT11,實(shí)時(shí)采集數(shù)據(jù),同時(shí)上傳數(shù)據(jù)至OneNET云服務(wù)平臺(tái)。搭載Web服務(wù)及終端APP能夠隨時(shí)隨地查看數(shù)據(jù)。
【Abstract】Considering the factors of low cost, small equipment size and low power consumption, this paper proposes a remote temperature and humidity monitoring system based on OneNET cloud service platform. This system uses the Cortex-M3 kernel 32-bit processing chip STM32F103C8T6 as the main controller, uses GA6 communication module, uses ESP-01S communication module with ESP8266 chip based on WiFi wireless transmission technology, and combines with sensor DHT11 to collect data in real time and upload data to OneNET cloud service platform.Web services and terminal APP can view data anytime and anywhere.
【關(guān)鍵詞】STM32F103C8T6;GPRS;WiFi;OneNET;云平臺(tái)
【Keywords】STM32F103C8T6; GPRS; WiFi; OneNET; cloud platform
【中圖分類(lèi)號(hào)】TP319? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【文獻(xiàn)標(biāo)志碼】A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【文章編號(hào)】1673-1069(2019)07-0141-02
1 問(wèn)題現(xiàn)狀
短距離通信技術(shù)中,無(wú)線數(shù)據(jù)傳輸模塊的傳輸誤碼率高,可靠性差;ZigBee以低功耗、自組網(wǎng)的特點(diǎn)而受到物聯(lián)網(wǎng)的關(guān)注,但是專用協(xié)議無(wú)線網(wǎng)絡(luò),傳輸速率低,開(kāi)發(fā)難;WiFi是以太網(wǎng)的一種無(wú)線擴(kuò)展技術(shù),用戶可以共享寬帶,但是其傳輸速率低,在此基礎(chǔ)上發(fā)展起來(lái)的WIGIG技術(shù),傳輸速率可以達(dá)到1Gbps以上,但是不能穿過(guò)墻壁,且功耗高;藍(lán)牙技術(shù)已進(jìn)入低功耗時(shí)代,能在包括移動(dòng)電話、PDA、無(wú)線耳機(jī)、筆記本電腦、相關(guān)外設(shè)等眾多設(shè)備之間進(jìn)行無(wú)線信息交換。但是這些短距離技術(shù)覆蓋范圍有限,對(duì)于大范圍或移動(dòng)性布局的物聯(lián)網(wǎng)設(shè)備無(wú)能為力[1]。
2 解決方案
2.1 GPRS
GPRS允許用戶在端到端分組模式下發(fā)送和接收數(shù)據(jù),而不需要利用電路交換模式的網(wǎng)絡(luò)資源,從而提供了一種高效、低成本的無(wú)線分組數(shù)據(jù)業(yè)務(wù),和GSM通信網(wǎng)絡(luò)相比,技術(shù)特點(diǎn)如下:①資源利用率高;②傳輸速率高(64~128Kbps);③接入時(shí)間短;④支持IP協(xié)議和X.25協(xié)議;⑤低成本,以通信的數(shù)據(jù)量為主要依據(jù)進(jìn)行計(jì)費(fèi)。
2.2 WiFi
WiFi最主要的優(yōu)勢(shì)在于不需要布線,可以不受布線條件的限制,發(fā)射信號(hào)功率低于100mw,低于手機(jī)發(fā)射功率。WiFi具有如下技術(shù)特點(diǎn):更寬的帶寬、更強(qiáng)的射頻信號(hào)、更低的功耗、改進(jìn)的安全性。
3 設(shè)計(jì)任務(wù)
從覆蓋范圍、傳輸速率、基本業(yè)務(wù)類(lèi)別、可移動(dòng)速率、前向擴(kuò)展、演進(jìn)走向等多方面綜合分析,本設(shè)計(jì)提出一種基于WiFi和GPRS的DHT11溫濕度遠(yuǎn)程監(jiān)測(cè)系統(tǒng),具有傳輸誤碼率低、成本低及覆蓋范圍廣等優(yōu)點(diǎn),并且可與監(jiān)測(cè)人員的手機(jī)綁定,實(shí)現(xiàn)隨時(shí)、隨地地移動(dòng)監(jiān)測(cè)。設(shè)計(jì)主要內(nèi)容包括:①利用嵌入式開(kāi)發(fā)技術(shù)、TCP/IP網(wǎng)絡(luò)協(xié)議等,設(shè)計(jì)出了基于OneNET的環(huán)境監(jiān)控系統(tǒng),該系統(tǒng)以O(shè)neNET為協(xié)調(diào)中心,實(shí)現(xiàn)了環(huán)境變量檢測(cè)數(shù)據(jù)上傳,與控制命令下達(dá)的閉環(huán)控制系統(tǒng)。②設(shè)計(jì)開(kāi)發(fā)了以HTTP協(xié)議為接入方式、以WiFi連接和GPRS網(wǎng)絡(luò)作為數(shù)據(jù)傳輸渠道的智能終端,外接溫濕度傳感器,使終端具有感知能力。③增加了電源對(duì)系統(tǒng)進(jìn)行供電。
4 系統(tǒng)總體方案分析與設(shè)計(jì)
4.1 系統(tǒng)需求分析
溫濕度遠(yuǎn)程監(jiān)測(cè)系統(tǒng)是在物聯(lián)網(wǎng)下,可以通過(guò)PC、手機(jī)等移動(dòng)設(shè)備端實(shí)時(shí)監(jiān)測(cè)溫濕度值,能夠?qū)崟r(shí)采集溫度和濕度,溫度的監(jiān)測(cè)范圍為-20~+80℃,測(cè)量精度為±0.5℃,濕度的監(jiān)測(cè)范圍為0%RH~100%RH,測(cè)量精度為±3%RH。系統(tǒng)的設(shè)計(jì)應(yīng)用需求有系統(tǒng)低成本要求、系統(tǒng)低功耗要求、系統(tǒng)穩(wěn)定性要求和系統(tǒng)實(shí)時(shí)性要求。
4.2 系統(tǒng)總體實(shí)現(xiàn)方案
系統(tǒng)的整體設(shè)計(jì)流程包括:①各種通信方案的比較、方案確定及傳感器選型;②系統(tǒng)硬件數(shù)據(jù)處理電路、低功耗方案確定、系統(tǒng)程序功能實(shí)現(xiàn);③OneNet物聯(lián)網(wǎng)云平臺(tái)、API接口開(kāi)發(fā)。
5 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的數(shù)據(jù)采集和發(fā)送使用的編程工具是C語(yǔ)言和Keil編輯器。在使用電腦或手機(jī)在服務(wù)端查看遠(yuǎn)程監(jiān)測(cè)的溫濕度系統(tǒng)時(shí),嵌入式軟件必須與上文中的硬件系統(tǒng)緊密結(jié)合,從而實(shí)現(xiàn)溫濕度的實(shí)時(shí)監(jiān)測(cè)。
5.1 系統(tǒng)功能實(shí)現(xiàn)流程
本系統(tǒng)設(shè)計(jì)采用接受OneNET云服務(wù)平臺(tái)指令,與定時(shí)器定時(shí)發(fā)送兩種方式來(lái)發(fā)送溫濕度數(shù)據(jù)。判斷是否連接上WiFi,當(dāng)未搜索到默認(rèn)WiFi時(shí),可以由用戶連接ESP-01S的AP,通過(guò)訪問(wèn)192.168.4.1對(duì)ESP-01S進(jìn)行配置。若當(dāng)前無(wú)法使用WiFi,則轉(zhuǎn)到STM32作為控制器的GPRS通信模式。進(jìn)行系統(tǒng)初始化,包括所有外設(shè)的復(fù)位,定時(shí)器的初始化,配置系統(tǒng)時(shí)鐘,輸入輸出口的初始化,設(shè)置當(dāng)前時(shí)間。然后通過(guò)“AT”指令與服務(wù)端口嘗試握手連接,保證指令能夠發(fā)送成功。判斷定時(shí)時(shí)間到或者收到發(fā)送指令時(shí),獲取傳感器數(shù)據(jù)并發(fā)送給服務(wù)器,判斷數(shù)據(jù)是否發(fā)送成功,若發(fā)送成功,獲取當(dāng)前時(shí)間并重新判斷。否則,重新獲取傳感器數(shù)據(jù)并發(fā)送到服務(wù)器。
5.2 DHT11數(shù)據(jù)處理
DHT11是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。DATA用于微處理器與DHT11之間的通訊與同步,單總線數(shù)據(jù)格式,單詞通訊時(shí)間為4ms左右,數(shù)據(jù)分小數(shù)和整數(shù)部分。
5.3 GA6模塊
數(shù)據(jù)的GPRS通信主要是對(duì)GA6模塊進(jìn)行控制,主要包括握手程序、發(fā)送數(shù)據(jù)程序、數(shù)據(jù)監(jiān)測(cè)服務(wù)程序等。
①握手連接。在與GA6模塊進(jìn)行通信前需要先握手來(lái)判斷STM32與GA6模塊是否建立連接,以保證信息能夠傳輸成功。發(fā)送AT指令,如果返回值為OK則證明握手成功,否則程序無(wú)法往下進(jìn)行而是繼續(xù)進(jìn)行握手,直到成功為止。②AT發(fā)送數(shù)據(jù)。通過(guò)STM32的串口輸出AT指令來(lái)控制GA6模塊的相應(yīng)動(dòng)作,將模塊設(shè)置為透?jìng)髂J?,這樣經(jīng)過(guò)STM32串口發(fā)送的數(shù)據(jù)在模塊連接TCP成功之后可發(fā)送至模塊的串口上,模塊通過(guò)GPRS自動(dòng)將這些數(shù)據(jù)發(fā)送至服務(wù)端,有利于控制軟件流程[2]。
5.4 ESP-01S模塊
程序的WiFi通信主要是對(duì)ESP-01S進(jìn)行控制,主要包括配置WiFi、構(gòu)建AP、處理和上傳數(shù)據(jù)三部分。
①配置WiFi。ESP-01S采用了事件響應(yīng)的方式。ESP-01S可以設(shè)置自動(dòng)連接,這里只需要調(diào)用固件庫(kù)中的函數(shù)就可以實(shí)現(xiàn)掉線重連,當(dāng)配置的WiFi有效時(shí),ESP-01S便能自動(dòng)連入??梢越Y(jié)合監(jiān)聽(tīng)器用LED顯示連接狀態(tài)。②構(gòu)建AP。ESP-01S在自身開(kāi)放的AP局域網(wǎng)中的默認(rèn)IP地址是192.168.4.1。給HttpServer添加中間件,當(dāng)訪問(wèn)'/scanap'時(shí),使用wifi.sta.getap()獲取AP列表再轉(zhuǎn)換到JSON格式返回。前端使用了輕量的Zepto.js來(lái)搭建前端頁(yè)面,通過(guò)AJAX來(lái)請(qǐng)求數(shù)據(jù)。③處理和上傳數(shù)據(jù)。溫濕度傳感器DHT11,通過(guò)對(duì)IO管腳的讀寫(xiě),讀取傳感器數(shù)據(jù),并通過(guò)WIFIAPI將數(shù)據(jù)上傳到ONENET平臺(tái)。在init.lua腳本里面周期性通過(guò)dofile()函數(shù)來(lái)調(diào)用dht11.lua函數(shù)來(lái)讀取數(shù)據(jù)。將讀取到的數(shù)據(jù)按照OneNET平臺(tái)HTTP API接口的要求打包成數(shù)據(jù)包,并通過(guò)WiFi上傳到云平臺(tái)。
6 結(jié)語(yǔ)
①關(guān)于WiFi模塊與DHT11模塊的測(cè)試。先通過(guò)手機(jī)或者電腦連接ESP-01S(微控制器)的AP,通關(guān)訪問(wèn)192.168.4.1來(lái)對(duì)ESP-01S所要連接的WiFi進(jìn)行配置。訪問(wèn)前端Web頁(yè)面進(jìn)行WiFi的連接。可以手動(dòng)輸入密碼,也可以掃描熱點(diǎn)然后進(jìn)行選擇。連接上WiFi后,ESP-01S會(huì)自動(dòng)獲取并處理DHT11傳輸過(guò)來(lái)的數(shù)據(jù),然后向OneNET云平臺(tái)進(jìn)行數(shù)據(jù)傳送,在手機(jī)端和網(wǎng)頁(yè)端進(jìn)行結(jié)果查看,預(yù)測(cè)結(jié)果為當(dāng)前環(huán)境中的溫度與濕度。由數(shù)據(jù)可以看出,傳送的數(shù)據(jù)與環(huán)境中的數(shù)據(jù)大致相等,結(jié)果無(wú)誤。②關(guān)于GPRS模塊與USB轉(zhuǎn)TTL模塊的測(cè)試。GPRS模塊通過(guò)流量傳送數(shù)據(jù),模擬DHT11測(cè)試的數(shù)據(jù),傳送給GPRS模塊,通過(guò)AT指令發(fā)送至OneNET平臺(tái)。在手機(jī)與網(wǎng)頁(yè)端進(jìn)行結(jié)果查看與預(yù)測(cè)結(jié)果接近。③關(guān)于STM32模塊、GPRS模塊與DHT11模塊的測(cè)試。先進(jìn)行通信測(cè)試,電腦與STM32之間的通信成功,STM32能正確地將數(shù)據(jù)傳送給GPRS模塊,并發(fā)送到云端。但GPRS的數(shù)據(jù)回傳到STM32的數(shù)據(jù)稍有問(wèn)題,不能很好地展示當(dāng)前的狀態(tài)和執(zhí)行的指令。可以從串口中打印的數(shù)據(jù)看到,GPRS可將接收到的數(shù)據(jù)發(fā)送到云平臺(tái),不過(guò)會(huì)傳到STM32的數(shù)據(jù)只能顯示指令,不能顯示指令的處理結(jié)果。
【參考文獻(xiàn)】
【1】康華光.電子技術(shù)基礎(chǔ)(第五版)[M].武漢:華中科技大學(xué)電子技術(shù)課程組,2013.
【2】謝自美.電子線路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試(第三版)[M].武漢:華中科技大學(xué)出版社,2006.