一、前言
在物聯網工農業場景下有很多應用需要視覺技術來輔助完成應用開發,隨著AI技術的不斷發展,AI應用的長尾細分領域越來越廣泛,在比如紡織業檢測瑕疵品、農業中蟲害檢測等等AI將大有可為,為此我們在HaaS物聯網開發板上做了很多AI的探索來幫助各行各業的開發者們來打造他們的AI應用場景,AIoT設備由于成本及應用場景的限制,硬體性能如CPU、記憶體、Flash等存在差異,怎么樣讓端側也能充分發揮AI的能力,需要權衡硬體成本和云端成本及應用場景來綜合決定,為了讓開發者有更多選擇,我們在HaaS開發板上整合了云端AI的能力,只要能上網就能有AI,今天就先給大家介紹如何利用云端AI能力打造云端釘一體的AI應用---老板來了!一起來看看Demo效果吧!
HaaS AI之老板來了
二、解決方案
看了上面的Demo,是不是很想了解一下整體是怎么實作的呢?整體的方案如下圖所示:
如上面的解決方案,可以看到整個方案涉及到的模塊比較多,整個流程涉及:
a. Http Client向WiFi攝像頭請求JPEG資料;
b. OSS Client上傳JPEG圖片到OSS服務端;
c. JPEG解碼為RGB565顯示在LCD螢屏;
d. AI Agent上報OSS Client獲取的OSS圖片鏈接給視覺平臺;
e. AI Agent獲取識別結果后根據結果決定是否通過Linkkit上報事件給物聯網平臺,以及觸發蜂鳴器報警;
f. IoT Studio根據配置規則決定是否將物聯網收到的事件通知到釘釘機器人;
g. 釘釘機器人發訊息通知到系結的群組,
以上是整個Demo的基本流程,后續文章將通過拆解各個模塊來展示如何將這些模塊打通實作AI Demo的,HaaS100和HaaS EDU K1均有實作,
三、Demo體驗
3.1 下載代碼
參考《HaaS100快速開始》下載AliOS Things代碼,
3.2 代碼配置
3.2.1 HaaS100
如果使用HaaS100的板子,配置aos.mk如下:
配置Config.in檔案如下:
3.2.2 HaaS EDU K1
如果使用HaaS EDU K1的板子,配置aos.mk如下:
配置Config.in檔案如下:
3.2.3 AI Agent配置
整個Demo所有的云端相關配置資訊都在sdkconfig.h中進行配置即可,簡化你的操作,
OSS節點訪問配置
AI Agent涉及到oss物件存盤的密鑰資訊,
視覺智能節點訪問配置
AI Agent的密鑰主要獲取到REGION_ID、ENDPOINT相關資訊,
Linkkit三元組資訊配置
在人臉比對成功后,需要通過IoT Studio平臺通知釘釘機器人,請在IoT Studio中獲取設備三元組資訊,
WiFi攝像頭訪問配置
配置WiFi攝像頭的影像流地址,
AI模型配置
當前支持多個AI模型,這里選擇AI_TYPE_COMPARING_FACEBODY人臉比對模型,
對比照片路徑配置
人臉比對需要一張待對比照片,上傳后將路徑填入:
3.3 代碼編譯
$aos make distclean
$aos make ucloud_ai_demo@haas100 -c config
$aos make
3.4 代碼燒錄
如果是使用的Window燒錄工具參考《HaaS100快速開始》,燒錄的檔案位于:
$./out/ucloud_ai_demo@haas100/binary/ucloud_ai_demo@haas100.bin
$./platform/mcu/haas1000/release/write_flash_tool/ota_bin/littlefs.bin
將檔案ucloud_ai_demo@haas100.bin和littlefs.bin分別替換write_flash_gui/ota_bin/ota_rtos.bin和write_flash_gui/ota_bin/littlefs.bin,
如果使用的是docker環境參考《一步搞定AliOS Things開發環境安裝》4.3燒錄韌體,
3.5 網路連接
因為HaaS開發板需要連接到云端,因此需要連接到一個可以上外網的路由器,WiFi攝像頭也只能使用Station模式連接到同一臺路由器,
$netmgr -t wifi -c haas_test 12345678
3.6 識別結果回應
識別到后輸出置信度的值,人臉位置以及“boss is coming”字樣:
3.6.1 字幕提醒
在HaaS EDU K1的OLED上顯示:
OLED_Clear();
OLED_Show_String(24, 12, "Warning!!!", 12, 1);
OLED_Show_String(12, 36, "Boss is coming!", 12, 1);
OLED_Refresh_GRAM();
在HaaS 100的擴展屏上顯示:
graphics_draw_string("Warning!!!", 120, 100);
graphics_draw_string("boss is coming!!!", 100, 120);
3.5.2 蜂鳴器報警
在HaaS EDK上當檢測到老板來了,同時觸發蜂鳴器報警,
beeper_start();
停止蜂蜜器報警:
beeper_stop();
四、總結
在HaaS開發板上整合了云端多樣化的AI能力,通過AI Agent呼叫云端AI介面,人臉比對僅僅是其中一個案例,通過學習該案例,您可以學習到在AIoT設備中如何從前端攝像頭資料輸入到后端輸出的完整流程,舉一反三地實作更多AI場景案例,期待您的作品,
五、開發者技術支持
如需更多技術支持,可加入釘釘開發者群,或者關注微信公眾號

更多技術與解決方案介紹,請訪問阿里云AIoT首頁https://iot.aliyun.com/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/253001.html
標籤:其他
上一篇:STM32MP157 韋東山學習板 學習筆記 (一)
下一篇:linux檔案屬性的查看

