999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32的室內環境監測系統設計

2021-07-01 05:21:38朱兆豐劉靜琦周振虎劉靜波余澤滔
物聯網技術 2021年6期
關鍵詞:指令微信

朱兆豐,劉靜琦,周振虎,劉靜波,余澤滔,時 飛

(南京工程學院 信息與通信工程學院,江蘇 南京 211167)

0 引 言

室內空氣質量對于人體健康具有直接的影響。隨著生活水平的提高,人們越來越重視室內環境的空氣質量、環境參數等,特別是各種有害氣體,嚴重危害了人體健康[1]。人們采取相關監測方法獲取室內溫濕度、VOC、PM2.5等環境參數,監測方法大致經歷了幾個階段:人工現場監測、在線監測、基于ZigBee和GPRS方式監測等[2-3]。隨著網絡技術的發展以及智能手機的普及,多采用智能硬件終端監測環境參數、采集數據,并通過WiFi模塊傳輸至云平臺,同時采用微信小程序實時查詢數據,發出控制指令控制硬件終端已成為一種趨勢。采用不同的主控芯片與云平臺構建的遠程監測系統具有不同的應用特點[4],本文設計的室內環境參數監測系統采用STM32主控芯片,通過WiFi模塊上傳數據至貝殼物聯云平臺,完成數據采集、存儲、上傳和微信小程序實時查詢數據、發出控制指令等應用。

1 系統總體組成

系統總體組成如圖1所示,其中虛線部分為硬件終端。主控芯片采用STM32F103RCT6,這是以32位Cortex-M3為核心的高性能處理器,主頻為72 MHz,集成了多種外設,片上資源豐富[5]。采用高精度、低功耗的溫濕度傳感器HDC1080采集溫濕度數據,采用ZPH01型傳感器檢測VOC和PM2.5數據信息。ZPH01型傳感器可以配置成2種數據輸出模式,一種是串口方式,另一種以PWM波形中低電平占空比的表示輸出數據,使用靈活。WiFi模塊選用ESP8266,ESP8266可配置成多種模式,與STM32單片機通過串口連接。硬件終端采集數據,定時發送至貝殼物聯云平臺。在貝殼物聯注冊的同一個用戶ID下,電腦端和微信小程序同步接收并更新數據。微信小程序可以查詢數據信息,也可以發送指令,進而控制硬件終端數據存儲與報警閾值的設定等。系統中接有時鐘芯片DS3231,這是一款帶有溫度補償的高精度時鐘芯片[6],用以提供系統運行的時間信息、定時時間間隔的控制設定等。

圖1 系統總體組成

2 系統硬件設計

2.1 硬件終端組成與接口電路

硬件終端包括主控芯片STM32F103RCT6。主控芯片的PC11和PC12作為I2C總線掛載了3個功能模塊,分別是溫濕度傳感器HDC1080、時鐘芯片DS3231和E2PROM存儲芯片AT24C02,STM32主控芯片通過訪問不同的器件地址[7],可以對芯片進行配置與讀寫。空氣質量傳感器ZPH01連接到串口1的PA9和PA10上;WiFi模塊ESP8266連接到串口2的PA2和PA3上。系統配置了一塊320×240分辨率的TFT彩屏,其16位數據口連接到STM32的PB端口,GT32L32字庫芯片掛載到STM32的SPI1總線上,方便顯示中英文信息。

圖2所示為硬件終端組成與接口連接示意圖,其中I2C總線上PC11為SDA數據線,PC12為SCL時鐘線。ESP8266的復位引腳由STM32的PA12控制。DS3231的INT引腳可以軟件配置為輸出1 Hz的信號,連接于STM32的PC6引腳上作外部中斷信號,由此進入外部中斷服務程序??諝赓|量傳感器的MOD模式控制端接口處于串口模式時讀取數據,ZPH01與單片機之間的數據讀取以串口1方式進行。

圖2 硬件終端組成與接口電路

2.2 WiFi接口模塊ESP8266

ESP8266是一款高集成度的WiFi模塊,它是一個32位的MCU系統,可獨立運行訪問網絡,或者作為通信模塊搭載于其他主控芯片上,幫助其他主控芯片接入互聯網[8]。ESP8266模塊符合IEEE802.11b/g/n標準,支持TTL電平,板載PCB天線[9],與STM32通過串口2連接,ESP8266模塊可配置成AP,STA或AP+STA模式。

(1)AP模式是指把ESP8266作為熱點,允許其他外設接入ESP8266模塊;

(2)STA模式是將ESP8266作為客戶端,用于將ESP8266接入其他熱點,例如無線路由器等;

(3)AP+STA模式是前兩種模式的整合,兼具熱點功能,為其他設備提供接入服務,同時也可以接入其他WiFi網絡。

本設計把ESP8266配置為STA工作模式,通過路由器連接網絡。

2.3 傳感器模塊

TI公司出品的HDC1080溫濕度傳感器具有高精度、低功耗的特點,可進行溫度與濕度監測,分辨率較高。相對濕度精度典型值為±2%RH,溫度精度典型值為±0.2 ℃,供電電壓為2.7~5.5 V。借助數字總線I2C接口與單片機進行數據讀寫:HDC1080讀寫遵守I2C協議,設備地址0x80(寫),0x81(讀)。測量溫度數據計算式見(1):

式中,TEMP[15:00]為溫度寄存器的十進制數。

測量濕度數據計算見式(2):

式中,HUMI[15:00]為濕度寄存器的十進制數。

ZPH01空氣質量傳感器可以同時提供VOC檢測和PM2.5檢測。VOC檢測單元對甲醛、苯等有機揮發氣體具有極高的靈敏度。ZPH01出廠經過標定校準,數據的傳輸方式由MOD引腳配置。當MOD引腳接地時,數據以串口方式輸出;當MOD懸空時,數據以PWM方式輸出,其中,以PWM波形低電平的占空比表示數據大小。ZPH01模塊通過串口1方式與STM32進行數據交互。該傳感器發送一次檢測數據的周期為1 s,包含VOC等級以及PM2.5等空氣質量數據。程序接收數據并通過校驗后得到PM2.5和VOC等級有效數據。

3 軟件設計

3.1 主程序流程

通過串口配置工具發送AT指令,配置ESP8266連接路由器,并確定是否連接成功。STM32單片機通過傳感器讀取室內環境參數,以固定的時長間隔存儲數據至E2PROM,同時通過ESP8266定時發送數據至貝殼物聯云平臺。貝殼物聯云平臺電腦端和微信小程序均可發送指令,硬件終端根據不同的指令解析指令含義,作出響應,系統主程序流程如圖3所示。程序將時間讀取、測量溫濕度、顯示溫濕度和存儲數據等放置在外中斷服務程序中,利用DS3231輸出的1 Hz信號連接STM32的PC6,提高主程序的效率。I2C總線下的溫濕度傳感器HDC1080、時鐘芯片DS3231和E2PROM存儲器AT24C02均按照應用手冊寫入控制字,先配置內部控制寄存器,之后讀出數據。在串口2中斷接收并解析收到的控制指令,串口2中斷接收到指令后給主程序一個標志位,之后進行判斷,并根據不同的指令完成相應的操作。可以通過電腦端或手機微信小程序下達指令進行遠程控制,控制數據上傳的時間間隔和輸出報警的閾值等。

圖3 主程序流程

3.2 硬件終端與貝殼物聯云平臺通信

貝殼物聯云平臺采用以TCP協議為主,UDP協議為輔的形式通信,兩種協議間信息可互通。TCP協議為遠程網絡控制系統提供可靠且面向多元化連接的傳輸控制協議[10],在TCP協議的基礎上,可以直接使用TCP建立長連接,定時發送心跳數據,保持用戶、設備在線期間與服務器可進行JSON字符串格式數據通信,也可采用HTTP(s)通信協議獲取用戶資源,向設備發送指令。

ESP8266具有硬件終端與貝殼物聯云平臺之間數據傳輸的功能,把STM32采集的數據按照平臺通信協議格式發送至云平臺,同時接收云平臺發送的JSON格式的指令,解析后執行不同的任務。ESP8266與平臺之間保持通信,定時發送心跳信號、檢查當前登錄狀態。當串口2中斷標志產生,意味著云平臺發出指令,這時STM32調用JSON解析函數解析接收的JSON字符串,得到有效指令。硬件終端根據上傳數據的最低時間間隔,按照通信協議上傳數據至云平臺,上傳數據的時間間隔可以根據不同指令增加或減小。

ESP8266配置為STA客戶端模式加透傳模式,其配置方式可以用串口2發送命令函數或用串口配置工具進行配置。輸入的指令“AT+SAVETRANSLINK”用于配置ESP8266上電后自主連接貝殼物聯云平臺。待AT指令發送成功后,ESP8266返回“OK”。

官方給出的上傳數據的協議格式為{"M":"update", "ID":"xx1","V":{"id1":"value1",...}} ,“xx1”表示注冊用戶的設備ID,“id1”和“value1”是掛在當前設備ID下的數據接口1和上傳數據1,“…”是該設備下的多個數據接口與數據。對照此格式,上傳數據的函數如下:

變量“did”表示注冊用戶的設備ID,“inpitid”是所屬設備ID下的數據接口ID,如果上傳多個數據,可以按照協議格式添加數據接口,由平臺給出數據接口ID,掛在當前所屬設備ID的其他數據接口?!癡alue”是上傳的數據,如溫濕度和PM2.5等。

貝殼物聯云平臺提供預先設定的按鈕,可以在電腦端和微信小程序里發送指令,指令封裝為JSON數據格式,例如用戶硬件終端接收到電腦端發出的“play”按鍵的數據格式是{"M":"say", "ID":"U*****", "NAME":"*****(web)", "C":"play","T":"1601725434"},其中“U*****”是用戶ID,NAME后的“*****”是用戶名,C后的“play”是解析的關鍵字,不同的按鍵指令含義即為C后的字符,包括stop、up、down等。T后的數字是服務器發送信息時的時間戳,為格林威治時間1970年01月01日00:00:00到當前時間的秒數。程序解析按鍵解析出不同的關鍵字,從而實現不同的功能選項。

3.3 ZHP01數據讀取

ZPH01可以配置為串口方式,發送數據至STM32串口1,每秒發送一幀數據,一幀數據共有9個字節,其中字節00為起始位,字節03和04是PM2.5顆粒物低脈沖率的整數和小數部分,最后乘以系數得到顆粒物濃度。07字節是VOC等級,08字節是01~07字節的校驗和,含義是01~07字節的和取反加1。串口1的中斷處理程序中,數據存放于數組aRxBuffer[RxCounter],當一幀數據結束后產生空閑總線中斷,給出中斷標志位ReceiveState,主程序根據中斷標志位ReceiveState讀取并組合字節03和字節04的數據,得到PM2.5濃度。程序代碼如下:

4 實際測試

通過對硬件終端采集、上傳數據進行測試,可以看到電腦端的貝殼物聯網平臺與手機微信小程序同步接收、顯示數據。測試過程中,通過平臺發布指令,調整數據上傳的時間間隔等。圖4所示為硬件終端顯示數據界面,圖5所示為微信小程序接收數據界面,圖6所示為電腦端溫度實時接收數據界面。

圖4 硬件終端顯示數據界面

圖5 微信小程序接收數據界面

圖6 溫度實時接收數據界面

5 結 語

本系統經過系統硬件設計、軟件編程配置和實際測試,實現了溫濕度、PM2.5和VOC數據的采集,并能將數據上傳貝殼物聯云平臺和手機微信小程序,從而實現同步遠程監測、發布指令的目的。測試表明,系統符合室內環境參數監測的要求,通過接入貝殼物聯云平臺實現了遠程監測,兼顧了成本、效率和實時性,滿足了實際應用需求。STM32豐富的接口和外設可以作為測量其他參數的監測接口,增加貝殼物聯云平臺的數據接口,上傳需要的數據,開啟平臺保存歷史數據、發送指令等功能,為系統進一步的拓展應用夯實了基礎。

猜你喜歡
指令微信
聽我指令:大催眠術
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
微信
微信
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
微信
微信
微信
微信
主站蜘蛛池模板: 亚洲成a人在线播放www| 欧美色99| 国产精品视频导航| 国产人免费人成免费视频| 欧美国产日韩另类| 国产激情在线视频| 成·人免费午夜无码视频在线观看| 欧美福利在线播放| 国产精品污视频| 国产成人福利在线| 婷婷综合色| 久久6免费视频| 99久久精品国产麻豆婷婷| 亚洲高清无在码在线无弹窗| 九九久久精品国产av片囯产区| 久久午夜夜伦鲁鲁片无码免费| 精品伊人久久大香线蕉网站| 欧美日韩国产系列在线观看| 日韩精品专区免费无码aⅴ| 色天天综合| 午夜免费视频网站| 美女一级免费毛片| 伊人中文网| 亚洲国产日韩一区| 久久黄色影院| 视频二区国产精品职场同事| 青青国产成人免费精品视频| 亚洲制服丝袜第一页| 欧美日本视频在线观看| 97久久免费视频| 青青草原国产精品啪啪视频| 国产精品福利尤物youwu | 国产成人乱码一区二区三区在线| 国产精品欧美在线观看| 国产毛片高清一级国语 | 99999久久久久久亚洲| 国产麻豆精品在线观看| 日韩色图在线观看| 国产精品久久自在自线观看| av免费在线观看美女叉开腿| 青青青伊人色综合久久| 无码国产偷倩在线播放老年人| 国产美女免费| 国产精品香蕉| 久久综合亚洲色一区二区三区| 国产区精品高清在线观看| 午夜不卡视频| 亚洲欧美日韩成人在线| 五月婷婷丁香综合| 无码精品福利一区二区三区| 日本黄网在线观看| 暴力调教一区二区三区| 欧美日韩午夜视频在线观看 | 国模视频一区二区| 在线日韩日本国产亚洲| 欧美国产日韩一区二区三区精品影视| 日韩欧美国产精品| 国产主播一区二区三区| 无码一区二区波多野结衣播放搜索| 国产凹凸视频在线观看| 一级毛片无毒不卡直接观看| 91在线精品免费免费播放| 久久久久亚洲AV成人网站软件| 国产精品亚洲一区二区三区在线观看| 九色在线视频导航91| 一级成人a做片免费| 国产精品林美惠子在线播放| 亚洲AV无码不卡无码| 伊人91在线| 久久亚洲AⅤ无码精品午夜麻豆| 国产成本人片免费a∨短片| 国产精品精品视频| 无码精品国产dvd在线观看9久| 国产一级在线观看www色| 日本AⅤ精品一区二区三区日| 亚洲综合片| 伊人精品视频免费在线| 亚洲第一黄片大全| 国产丝袜第一页| 四虎精品国产AV二区| 国产91熟女高潮一区二区| 免费人成视网站在线不卡|