加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

【RT-Thread作品秀】基于物聯(lián)網(wǎng)云平臺的智能環(huán)境監(jiān)測設(shè)計

2020/12/05
746
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
方塊圖(3)
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

【RT-Thread作品秀】基于物聯(lián)網(wǎng)云平臺的智能環(huán)境監(jiān)測設(shè)計

作者:趙帥

概述

 

智能環(huán)境監(jiān)測系統(tǒng)基于 STM32H7系列芯片開發(fā),通過光照傳感器溫濕度傳感器采集環(huán)境中的光照與溫濕度數(shù)據(jù),通過WIFI將系統(tǒng)采集到的環(huán)境數(shù)據(jù)實(shí)時的上傳至物聯(lián)網(wǎng)云平臺,也可以通過PC端軟件實(shí)時的監(jiān)控環(huán)境數(shù)據(jù)。該系統(tǒng)適用于家庭、辦公室、教室等場所的進(jìn)行環(huán)境監(jiān)控,該系統(tǒng)具有實(shí)時性高、功耗低,丟包率低,隨時隨地監(jiān)控數(shù)據(jù)等特點(diǎn),是一個實(shí)用的設(shè)計。

開發(fā)環(huán)境

下位機(jī):

 

硬件stm32f407-atk-explorer

擴(kuò)展板:DHT11溫濕度傳感器,BH1750光照傳感器,板載AP6212 WIFI模塊

RT-Thread版本:RT-Thread V 4.0.3

開發(fā)工具及版本:RT-Sudio

上位機(jī)

Qt版本:Qt5

開發(fā)工具:Qt Creator4.11.0

RT-Thread使用情況概述

 

內(nèi)核部分:調(diào)度器,信號量,事件集

調(diào)度器:創(chuàng)建多個線程來實(shí)現(xiàn)不同的工作。

信號量:用來同步線程。

事件集:通知數(shù)據(jù)采集完成

組件部分:IIC框架, Sensor框架,SAL 套接字抽象層

IIC框架:驅(qū)動光照傳感器,獲取光照強(qiáng)度數(shù)據(jù)

Sensor框架:將溫濕度傳感器注冊到sensor上。使用該框架提高了代碼的復(fù)用性。

SAL 套接字抽象層:該組件實(shí)現(xiàn)了對不同網(wǎng)絡(luò)協(xié)議?;蚓W(wǎng)絡(luò)實(shí)現(xiàn)接口的抽象,并對上層提供一組標(biāo)準(zhǔn)的API接口,方便網(wǎng)絡(luò)應(yīng)用的開發(fā)與穩(wěn)定性。

軟件包部分:

cJSONC語言實(shí)現(xiàn)的極簡的解析 JSON 格式的軟件包。

Onenet RT-Thread 針對 OneNET 平臺連接做的的適配,通過這個軟件包,可以讓設(shè)備在 RT-Thread 上非常方便的連接 OneNet 平臺,完成數(shù)據(jù)的發(fā)送、接收、設(shè)備的注冊和控制等功能。

pahomqtt,本軟件包是在 Eclipse paho-mqtt 源碼包的基礎(chǔ)上設(shè)計的一套 MQTT 客戶端程序。

Webclient提供設(shè)備與 HTTP Server 的通訊的基本功能。

硬件框架

 

使用stm32h7做為系統(tǒng)主控,通過外接dht11傳感器、bh1750傳感器來采集外界的溫濕度數(shù)據(jù)與光照強(qiáng)度。

使用AP6211wifi模塊,實(shí)現(xiàn)設(shè)備的聯(lián)網(wǎng),以及連接云平臺的功能。

軟件框架說明

 

下位機(jī)流程圖:

上位機(jī)流程圖:

上位機(jī)數(shù)據(jù)的獲取是通過調(diào)用OneNet云平臺的API接口來獲取數(shù)據(jù),因此需要使用HTTP協(xié)議。在QT中,QNetworkAccessManager類可以完成基于HTTP協(xié)議的數(shù)據(jù)傳輸。既可以向網(wǎng)絡(luò)發(fā)送請求,也可以接收網(wǎng)絡(luò)的應(yīng)答。但是,具體的網(wǎng)絡(luò)請求需要通過QNetworkRequest類實(shí)現(xiàn),網(wǎng)絡(luò)的應(yīng)答通過QNetworkReply類來實(shí)現(xiàn)。在數(shù)據(jù)獲取成功之后,通過調(diào)用QT中JSON相關(guān)的API函數(shù),根據(jù)數(shù)據(jù)格式匹配出相應(yīng)的環(huán)境數(shù)據(jù)。之后發(fā)送dataSignal()信號,執(zhí)行setVallue槽函數(shù)將數(shù)據(jù)顯示在用戶界面上。通過定時器來定時發(fā)送get請求,實(shí)現(xiàn)數(shù)據(jù)實(shí)時更新的目的。流程圖如下圖所示。

軟件模塊說明

art_mqtt_init_entry:初始化 mqtt,初始化成功后,釋放信號量,通知ArtOneNetUploadThread線程可以向OneNet發(fā)送數(shù)據(jù)。

art_onenet_upload_entry:線程接收到事件后,將數(shù)據(jù)發(fā)送至OneNet云平臺

art_dht11_read_entry:溫濕度數(shù)據(jù)采集線程,采集到數(shù)據(jù)后發(fā)送事件

art_bh1750_read_entry:光照采集線程,采集到數(shù)據(jù)后發(fā)送事件

演示效果

演示視頻

  • 代碼地址.rar
    描述:代碼地址
  • 基于物聯(lián)網(wǎng)云平臺的智能環(huán)境監(jiān)測設(shè)計.docx
    描述:說明文檔

相關(guān)推薦

電子產(chǎn)業(yè)圖譜