今年3月中,由騰訊TencentOS團(tuán)隊(duì)聯(lián)合恩智浦半導(dǎo)體、安謀科技(Arm China)發(fā)起的線上開發(fā)者活動(dòng)——TencentOS Tiny AIoT 應(yīng)用創(chuàng)新大賽,評(píng)選出了優(yōu)勝獲獎(jiǎng)?wù)?,本文介紹其中一個(gè)獲獎(jiǎng)作品。
一、總體設(shè)計(jì)家居自動(dòng)澆灌監(jiān)控系統(tǒng)主要實(shí)現(xiàn)了,在室內(nèi)環(huán)境下植物的濕度監(jiān)測(cè)和自動(dòng)澆灌。
系統(tǒng)基于TencentOS Tiny EVB_AIoT開發(fā)板和NXP的MCUXpresso IDE,使用了土壤濕度傳感器監(jiān)測(cè)土壤濕度,并通過TencentOS Tiny的MQTT模塊,傳輸至騰訊云物聯(lián)網(wǎng)開發(fā)平臺(tái)(IoT Explorer),可根據(jù)設(shè)定閾值由外接的水泵對(duì)上述環(huán)境變量進(jìn)行控制,系統(tǒng)連接騰訊云后可以實(shí)時(shí)遠(yuǎn)程觀測(cè)植物土壤濕度并手動(dòng)控制水泵啟停。
二、具體設(shè)計(jì)與實(shí)現(xiàn)(一)硬件方案
系統(tǒng)基于TencentOS Tiny AIoT開發(fā)套件,套件核心板采用NXP i.MX RT1062處理器,套件自帶物聯(lián)網(wǎng)俱樂部的,基于WAN Interface接口的ESP8266模組和E53模塊,額外模組有fly-fish的土壤濕度采集模塊,水泵由于過年不發(fā)貨,年后又由于疫情不發(fā)貨,導(dǎo)致遲遲不能到位,眼看交作業(yè)日期一天天臨近,于是打上了E53模組上的LED燈的主意,假設(shè)為水泵吧,反正都是一個(gè)針腳IO控制。
(二)軟件方案與實(shí)現(xiàn)
1. MQTT線程,負(fù)責(zé)連接騰訊云,接收土壤濕度數(shù)據(jù)并轉(zhuǎn)發(fā)至騰訊云,接收騰訊云的控制命令,啟停水泵。
2. ADC線程,負(fù)責(zé)采集土壤濕度采集模塊的數(shù)據(jù)并通過消息隊(duì)列轉(zhuǎn)發(fā)至MQTT線程,經(jīng)測(cè)試ADC數(shù)據(jù)只能在2900(水中)到4096(空氣中)之間變化,所以做了個(gè)簡(jiǎn)單的量化數(shù)據(jù)計(jì)算公式(100 - (adcVal - 3096)/10),按照濕度百分比來計(jì)算。
3. PUMP線程,接受來自MQTT線程的命令,啟停水泵,本案例中是亮滅E53模塊的LED燈。
4. LED線程,按照每1s切換一次的頻率,點(diǎn)亮、熄滅板子上的藍(lán)色LED燈,指示系統(tǒng)是否正常工作。
三、功能展示(一)總體展示
業(yè)務(wù)邏輯實(shí)現(xiàn)。
歷史數(shù)據(jù)展示:
(二)數(shù)據(jù)采集+本地控制
土壤濕度超過一定值,水泵(E53 LED)停止工作,同時(shí)往騰訊云上報(bào)的數(shù)據(jù)如下圖。
土壤濕度低于一定值,水泵(E53 LED)開始工作,同時(shí)往騰訊云上報(bào)的數(shù)據(jù)如下圖。
(三)云端控制
如果需要人工控制水泵的話,直接在云端下發(fā)命令,人工接管水泵工作。
(四)騰訊連連
四、一些想法和建議(一)關(guān)于RT1062和IDE
i.MX RT1062這顆U很強(qiáng)大很贊,譬如跑個(gè)RTOS,別家的U在這個(gè)負(fù)荷已經(jīng)開始燙手了,得益于更先進(jìn)的制程,1062一點(diǎn)溫度都沒有感覺到。MCUXpresso IDE的Pins模塊,對(duì)于不熟悉NXP產(chǎn)品的人來說,尤其是默認(rèn)路由功能,真的是救星一般,單論針腳選擇和初始化生成,感覺比CUBEMX還要好用一點(diǎn)。
同樣的,缺點(diǎn)(或者是不習(xí)慣的地方)也很明顯,一方面是MCU的針腳命名,去尋找一個(gè)針腳真心費(fèi)勁;另一方面是資料,相關(guān)資料較少,譬如網(wǎng)上找了很多資料關(guān)于FlexRAM配置都有點(diǎn)不痛不癢,很希望有個(gè)類似Pins這樣的圖形化生成小工具。
(二)關(guān)于TencentOS Tiny和IoT Explorer
TencentOS Tiny的確很Tiny,各項(xiàng)資源開銷都很小,幾個(gè)組件的確穩(wěn)定,譬如這次用到的MQTT組件,對(duì)比別家的跑著跑著一天內(nèi)就掉線,Tiny的沒有這現(xiàn)象。
Tiny的一個(gè)問題不得不說,就是文檔不知道是不是太老舊還是不同步,資料不全,譬如想知道消息隊(duì)列的案例,gitee上給的是指向github的鏈接,因?yàn)闆]有梯子,只能國內(nèi)的找找,到底是用tos_msg_q_create()還是tos_msg_queue_create()亦或者用tos_queue_create()創(chuàng)建MQ,哪個(gè)是最新的?
最后,感謝騰訊提供這么一次機(jī)會(huì)近距離實(shí)戰(zhàn)體驗(yàn)RT1062和TencentOS Tiny。
原文標(biāo)題:AIoT應(yīng)用創(chuàng)新大賽獲獎(jiǎng)作品精選:智能家居自動(dòng)澆灌監(jiān)控系統(tǒng)
文章出處:【微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
審核編輯:湯梓紅
-
監(jiān)控系統(tǒng)
+關(guān)注
關(guān)注
21文章
3921瀏覽量
175061 -
智能家居
+關(guān)注
關(guān)注
1928文章
9571瀏覽量
185328 -
恩智浦半導(dǎo)體
+關(guān)注
關(guān)注
0文章
80瀏覽量
18652 -
安謀科技
+關(guān)注
關(guān)注
0文章
104瀏覽量
7556
原文標(biāo)題:AIoT應(yīng)用創(chuàng)新大賽獲獎(jiǎng)作品精選:智能家居自動(dòng)澆灌監(jiān)控系統(tǒng)
文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論