概述:
冬天靠燒煤取暖的季節,雖然我們大南方還不知道啥時候才能享受到北方小伙伴一樣的集中供暖,但是冬天的霾卻不分彼此的席卷了全國各地。本方案使用的是RT-Thread的嵌入式實時系統,通過PMS70003傳感器采集空氣中的PM2.5濃度數據,并通過WiFi傳輸到移動onenet平臺上,可以遠程查看PM2.5實時數據。
開發環境:
RT-Thread版本:4.0.3
開發工具:使用RT-Thread Studio2.0.0
硬件平臺:基于RT-Thread官方ART-Pi開發板+自制傳感器拓展板
RT-Thread使用情況概述:
本項目基于RT-Thread內核版本:Ver 4.0.3開發,使用RT-Thread Studio V2.0.0開發,使用的軟件包包括cjson、onenet、webclient、pahomqtt、fal、easyflash、u8g2;
打開的組件和服務層有:finsh命令、DFS、ulog日志、C++、lwIP、POSIX、libc、ymodem,以及串口、Pin、SPI、SFUD、SDIO。
硬件框架:
本項目使用的是官方的Art-Pi開發板+自己做的傳感器拓展板制作的,拓展板上包含了一個SHT20的溫濕度傳感器,一個攀藤的PMS7003PM2.5傳感器、一個煒盛的MQ-4B半導體可燃氣體傳感器、一個0.91”Oled單色顯示屏,以及一個撥盤按鍵。其中PMS7003是通過串口把采集到的數據傳輸到ART-PI上,由板載WiFi連接到移動onenet云上實現數據上傳。SHT20和OLED共用一組IIC數據總線,可燃氣體傳感器占用了兩個ADC口(一組檢測氣體濃度,一組檢測傳感器失效),并且可以通過背面跳線選擇ADC口。按鍵占用了額外的三個GPIO用于設定一些配置信息。
軟件框架說明:
首先RT-Thread啟動后,對各部分外設進行初始化,然后進入pms7003的讀取線程,該線程負責采集PMS7003上傳上來的PM2.5濃度數據,并在線程里對數據進行校驗求解后,通過onenet線程,我們把采集到的數據通過WiFi定時推送到移動onenet云平臺,推送頻率為2S/次。通過后臺的數據流信息頁面,可以看到實時的濃度數據信息。
軟件模塊說明:
軟件采用的RTT4.0.3為內核基礎,使用了一個獨立線程來讀取PMS傳感器的數據,一個onenet軟件包來實現聯網推送的服務,最后由板載的WiFi模塊負責連接到網絡并把數據推送上去。
演示效果:
附上視頻效果:
比賽感悟:
在使用rt-thread實時系統以前,我一直都是簡單的使用裸機開發,純粹的單流水線模式,經常會因為各種時間任務分配問題搞得頭大,每種硬件使用起來得先仔細了解數據手冊,了解器件性質,功能,然后才敢上板子,擼代碼。
這次其實也是我第一次接觸嵌入式實時操作系統這么一個方式來開發單片機,講真,里面走了不少的彎路,也有很多沒遇到過的坑。不得不說,RT-Thread的文檔支持工作做的還是非常到位的,每個細節、功能都做了詳細的介紹,但是誠如此還是有一部分我沒太想明白的地方,這里就多虧了官方的比賽群以及我的小伙伴們,遇到很多事情找他們幫忙都能很快的解決掉。
本次比賽我還是學到了很多的新鮮知識,而且RTT的使用的便捷性給我了很大的震撼,有許多代碼例程寫的都很經典,后面板子上的幾個設備我還要繼續調試下去,爭取把這個項目繼續走下去,把rtt學得更深入一些。希望以后也能自己獨立開發一些項目。把自己平時那么多奇奇怪怪的小點子都實現出來。
責任編輯:lq
-
傳感器
+關注
關注
2551文章
51163瀏覽量
754143 -
線程
+關注
關注
0文章
505瀏覽量
19700 -
RT-Thread
+關注
關注
31文章
1293瀏覽量
40193
原文標題:【RT-Thread開源作品秀】PM2.5顆粒物檢測儀電路方案設計
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論