• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

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

2020/12/05
581
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

代碼地址.rar

共2個文件

【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ù)實時的上傳至物聯(lián)網(wǎng)云平臺,也可以通過PC端軟件實時的監(jiān)控環(huán)境數(shù)據(jù)。該系統(tǒng)適用于家庭、辦公室、教室等場所的進(jìn)行環(huán)境監(jiān)控,該系統(tǒng)具有實時性高、功耗低,丟包率低,隨時隨地監(jiān)控數(shù)據(jù)等特點(diǎn),是一個實用的設(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)建多個線程來實現(xiàn)不同的工作。

信號量:用來同步線程。

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

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

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

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

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

軟件包部分:

cJSONC語言實現(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模塊,實現(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類實現(xiàn),網(wǎng)絡(luò)的應(yīng)答通過QNetworkReply類來實現(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請求,實現(xiàn)數(shù)據(jù)實時更新的目的。流程圖如下圖所示。

軟件模塊說明

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)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時響應(yīng)!