今年3月中,由騰訊TencentOS團(tuán)隊聯(lián)合恩智浦半導(dǎo)體、安謀科技(Arm China)發(fā)起的線上開發(fā)者活動——TencentOS Tiny AIoT 應(yīng)用創(chuàng)新大賽,評選出了優(yōu)勝獲獎?wù)?,本文介紹其中一個獲獎作品。
有關(guān)本次活動的相關(guān)消息,請見:
《i.MX RT1062助力TencentOS Tiny AIoT應(yīng)用創(chuàng)新大賽》
《2021 TencentOS Tiny AIoT應(yīng)用創(chuàng)新大賽開啟報名!》
一、背景介紹傳統(tǒng)的公司會議室預(yù)約管理系統(tǒng)存在諸多問題,如:
部分人員不預(yù)定即使用,系統(tǒng)形同虛設(shè)。
提前結(jié)束會議后,很難準(zhǔn)確釋放會議室資源,造成浪費(fèi)。
會議存在超時后,未及時預(yù)約或被搶先預(yù)約,被后來人打擾,浪費(fèi)雙方時間。
隨性預(yù)定,實則未使用,實際使用率低。
管理人員難以管理,大量耗費(fèi)人力管理成本。
難以統(tǒng)計真實使用情況,無法為管理提供有效數(shù)據(jù)。
諸如會議室等隱私場所,不能通過單純的安裝監(jiān)控進(jìn)行管理,實際管理中卻又想得知是否有人在使用。為解決此類問題,會議室使用小助手橫空出世。
二、項目介紹
本設(shè)備既可以單獨(dú)使用,借助騰訊云平臺也可以對接其他會議室管理系統(tǒng)使用,具有以下亮點(diǎn):
支持人體檢測,判斷范圍內(nèi)有無人員活動
本地運(yùn)行模型,圖像用完即銷毀,且無法導(dǎo)出,不存在隱私泄露問題
識別數(shù)據(jù)上傳騰訊云,可接入第三方設(shè)備使用
支持騰訊連連小程序查看會議室使用情況與配置設(shè)備
支持定時喚醒識別(可配置開關(guān),間隔時間)
支持聲音觸發(fā)識別(可配置開關(guān),聲音采樣時間)
支持外接兩個傳感器或控制器使用(獨(dú)立配置,支持設(shè)置觸發(fā)與開關(guān)模式)
低功耗設(shè)計,電池供電(受限于板卡設(shè)計暫不支持)
支持屏幕顯示圖像與識別情況(調(diào)試使用,實際部署沒有屏幕)
三、整體框圖
四、硬件部分4.1 硬件框圖
4.2 硬件組件
4.2.1 TencentOS Tiny AIoT開發(fā)套件
內(nèi)置TencentOS Tiny開源物聯(lián)網(wǎng)操作系統(tǒng)。
核心板采用的i.MX RT1062處理器屬于i.MX RT系列MCU,是由恩智浦推出的跨界處理器,跨界是指該系列MCU的定位既非傳統(tǒng)的微控制器、也非傳統(tǒng)的微處理器,i.MX RT系列MCU則綜合了兩者的優(yōu)勢,既具備高頻率(最高主頻600M)、高處理性能,也具備中斷響應(yīng)迅速、實時性高的特點(diǎn)。
1M RAM 16M SDRAM 64MB qspi flash 128MB spi flash。
板載PCIE接口,可擴(kuò)展4G類物聯(lián)網(wǎng)模組。
板載物聯(lián)網(wǎng)俱樂部WAN Interface接口,可支持NB-IoT、WiFi、4G cat1、LoRa等模組。
板載物聯(lián)網(wǎng)俱樂部E53 Interface接口,可擴(kuò)展全系E53傳感器。
板載標(biāo)準(zhǔn)24P DVP攝像頭接口,可支持最高500萬像素攝像頭。
板載RGB顯示接口,可轉(zhuǎn)換HDMI輸出。
預(yù)留SD卡、用戶按鍵、SPI Flash。
4.2.2 OV5640
4.2.3 LCD屏幕
4.2.4 ESP8266模組
4.2.5 外部傳感器
(以上器件介紹部分省略,有興趣的讀者可查看原文)
五、軟件部分5.1 代碼邏輯框圖
5.2 代碼組件
5.2.1 TencentOS tiny物聯(lián)網(wǎng)操作系統(tǒng)
TencentOS tiny是騰訊面向物聯(lián)網(wǎng)領(lǐng)域開發(fā)的實時操作系統(tǒng),現(xiàn)已捐贈給開放原子開源基金會進(jìn)行孵化,具有低功耗,低資源占用,模塊化,安全可靠等特點(diǎn),可有效提升物聯(lián)網(wǎng)終端產(chǎn)品開發(fā)效率。TencentOS tiny 提供精簡的 RTOS 內(nèi)核,內(nèi)核組件可裁剪可配置,可快速移植到多種主流 MCU (如NXP Arm Cortex-M 全系列)及模組芯片上。而且,基于RTOS內(nèi)核提供了豐富的物聯(lián)網(wǎng)組件,內(nèi)部集成主流物聯(lián)網(wǎng)協(xié)議棧(如 CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等),可助力物聯(lián)網(wǎng)終端設(shè)備及業(yè)務(wù)快速接入騰訊云物聯(lián)網(wǎng)平臺。
資源占用極少
TencentOS Tiny 內(nèi)核具有超低資源占用的特點(diǎn),RAM 0.8KB,ROM 1.8KB;在類似煙感和紅外等實際場景下,TencentOS tiny 的資源占用僅為:RAM 2.69KB、ROM 12.38KB。
高效功耗管理框架
完整包含 MCU 和外圍設(shè)備功耗管理,用戶可以根據(jù)業(yè)務(wù)場景選擇可參考的低功耗方案,有效降低設(shè)備耗電,延長設(shè)備壽命。
自動移植工具
TencentOS tiny 提供多種編譯器快速移植指南和移植工具,可實現(xiàn)向新硬件開發(fā)板的一鍵移植,省時省力,有效提升開發(fā)效率。
最后一屏調(diào)試工具
TencentOS tiny 可以自動獲取故障現(xiàn)場信息,并保持在端側(cè)存儲設(shè)備中,觸發(fā)重啟后會自動上傳故障信息,可有效解決遠(yuǎn)程物聯(lián)網(wǎng)設(shè)備故障信息獲取難題,提升故障分析解決效率。
安全分級方案
TencentOS tiny 提供了多個等級的 IoT 安全方案。您可以根據(jù)業(yè)務(wù)場景和成本要求選擇合適的安全解決方案,方便客戶在安全需求和成本控制之間進(jìn)行有效平衡。
5.2.2 TensorFlow Lite for Microcontrollers
TensorFlow Lite for Microcontrollers 是 TensorFlow Lite 的一個實驗性移植版本,它適用于微控制器和其他一些僅有數(shù)千字節(jié)內(nèi)存的設(shè)備。
適用于微控制器的 TensorFlow Lite 專門用于在微控制器和其他只有幾千字節(jié)內(nèi)存的設(shè)備上運(yùn)行機(jī)器學(xué)習(xí)模型。核心運(yùn)行時可以放入 Arm Cortex M3 上 16 KB 的存儲空間中,并且可以運(yùn)行許多基本模型。它不需要操作系統(tǒng)支持、任何標(biāo)準(zhǔn) C/C++ 庫或動態(tài)內(nèi)存分配。
它可以直接在“裸機(jī)”上運(yùn)行,不需要操作系統(tǒng)支持、任何標(biāo)準(zhǔn) C/C++ 庫和動態(tài)內(nèi)存分配。核心運(yùn)行時(core runtime)在 Cortex M3 上運(yùn)行時僅需 16KB,加上足以用來運(yùn)行語音關(guān)鍵字檢測模型的操作,也只需 22KB 的空間。
功能和組件
C++ API,其運(yùn)行時(runtime)在 Cortex M3 上僅需 16KB
使用標(biāo)準(zhǔn)的 TensorFlow Lite FlatBuffer 架構(gòu)(schema)
為 Arduino、Keil 和 Mbed 等較為流行的嵌入式開發(fā)平臺預(yù)生成的項目文件
針對多個嵌入式平臺優(yōu)化
演示口語熱詞檢測的示例代碼
5.2.3 其他組件
MQTT、cJSON由TencentOS提供,用于MQTT通信實現(xiàn),JSON數(shù)據(jù)打包解包。
5.3 任務(wù)代碼實現(xiàn)
5.3.1 主函數(shù)
初始化外設(shè)
初始化任務(wù)
啟動TencentOS
5.3.2 默認(rèn)任務(wù)
獲取兩個外接傳感器電平狀態(tài)
根據(jù)當(dāng)前配置選項以及數(shù)據(jù)狀態(tài)確定是否觸發(fā)人體識別
休眠(當(dāng)前暫未實現(xiàn))
5.3.3 識別任務(wù)
進(jìn)行攝像頭圖像采集
運(yùn)行人體識別模型
將識別完成信號傳遞給mqtt數(shù)據(jù)上傳任務(wù)
顯示攝像頭圖像,與人體識別情況,調(diào)試用
5.3.4 mqtt數(shù)據(jù)上傳任務(wù)
與esp8266模塊進(jìn)行AT通信,進(jìn)行wifi連接
登錄mqtt服務(wù)器,并訂閱mqtt發(fā)布
根據(jù)識別任務(wù)的信號發(fā)布會議室狀態(tài)消息到騰訊云
5.3.5 mqtt數(shù)據(jù)接受任務(wù)
接受并解析下行的MQTT數(shù)據(jù)
有效解析結(jié)果配置到設(shè)備設(shè)置
5.3.6 聲音采集任務(wù)
進(jìn)行聲音的采集
確定當(dāng)前外部聲音狀態(tài),并將完成信號傳遞給默認(rèn)任務(wù)
(以上小節(jié)的代碼部分省略,有興趣的讀者可查看原文)
六、服務(wù)器部分6.1 云端
云端采用騰訊云IoT explorer平臺,設(shè)備通過esp8266模塊連接wifi入網(wǎng)。
6.2 客戶端
客戶端騰訊連連微信小程序,開發(fā)使用了標(biāo)準(zhǔn)面板,可以說超級超級簡單了,而且效果還不錯。
七、后記在開發(fā)中感覺TencentOS tiny特點(diǎn),就是簡單,無論是API的設(shè)計,還是部署的復(fù)雜度上都大大降低,源碼的可讀性也比較高,配套資料也很齊全,新手也能快速憑借文檔入門。
騰訊云IoT explorer平臺可以說是做到一站式開發(fā),讓我這個沒有接觸過云的新手也能快速上手,而且效果還不錯,進(jìn)階開發(fā)也提供了相對應(yīng)的接口,挺好的,之后的量產(chǎn)階段并沒有體驗,不過看起來也是十分完善。
這個項目定位就是接入現(xiàn)有的會議室系統(tǒng),讓整個系統(tǒng)能夠更好的形成閉環(huán),因此在界面設(shè)計的時候就比較草率,不過好像也能考慮單獨(dú)使用啊。
本來也想對手上的項目進(jìn)一步優(yōu)化,但是無奈年后實在沒時間,只能暫時到此了,后期自行設(shè)計板卡時,會增加電子開關(guān)關(guān)斷外部外設(shè),追加藍(lán)牙通信方式,增加深度休眠功能,充分發(fā)揮MCU低功耗特點(diǎn),讓設(shè)備也能部署于供電不方便的地方。
原文標(biāo)題:AIoT應(yīng)用創(chuàng)新大賽獲獎作品精選:基于TencentOS Tiny 的會議室使用小助手
文章出處:【微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
審核編輯:湯梓紅
-
mcu
+關(guān)注
關(guān)注
146文章
16667瀏覽量
347787 -
恩智浦半導(dǎo)體
+關(guān)注
關(guān)注
0文章
75瀏覽量
17962 -
TencentOS
+關(guān)注
關(guān)注
0文章
8瀏覽量
7298
原文標(biāo)題:AIoT應(yīng)用創(chuàng)新大賽獲獎作品精選:基于TencentOS Tiny 的會議室使用小助手
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論