一、前言
在物联网工农业场景下有很多应用需要视觉技术来辅助完成应用开发,随着AI技术的不断发展,AI应用的长尾细分领域越来越广泛,在比如纺织业检测瑕疵品、农业中虫害检测等等AI将大有可为。为此我们在HaaS物联网开发板上做了很多AI的探索来帮助各行各业的开发者们来打造他们的AI应用场景。AIoT设备由于成本及应用场景的限制,硬件性能如CPU、内存、Flash等存在差异,怎么样让端侧也能充分发挥AI的能力,需要权衡硬件成本和云端成本及应用场景来综合决定,为了让开发者有更多选择,我们在HaaS开发板上整合了云端AI的能力,只要能上网就能有AI。今天就先给大家介绍如何利用云端AI能力打造云端钉一体的AI应用—老板来了!一起来看看Demo效果吧!
HaaS AI之老板来了
二、方案简介
2.1 方案组成
看了上面的Demo,是不是很想了解一下整体是怎么实现的呢?整个方案由HaaS100、WiFi摄像头、LCD组成。LCD与HaaS100通过SPI连接,HaaS100通过Http请求获取到JPEG数据最终显示到LCD上。
2.1.1 WiFi摄像头选型
市面上的WiFi摄像头比较多,在本例中WiFi摄像头采用ESP官方的ESP32-EYE进行适配,ESP32-CAM是ESP32第三方厂商开发的一款低成本方案,应用也比较广泛,开发者也可以选择它作为方案之一,万能的淘宝上有很多卖家,商家也会提供相应的资料,购买链接如下:
ESP32-EYE: https://detail.tmall.com/item.htm?spm=a230r.1.14.1.150d6a6ftZ6h4K&id=611790371635&ns=1&abbucket=3
ESP32-CAM: https://detail.tmall.com/item.htm?spm=a230r.1.14.1.3f543b21XaGDay&id=581256720864&ns=1&abbucket=3
https://item.taobao.com/item.htm?spm=a230r.1.14.33.150d6a6ftZ6h4K&id=586201030146&ns=1&abbucket=3#detail
2.1.2 LCD适配
LCD的驱动适配请参考《HaaS100复古机来了》。
购买链接https://item.taobao.com/item.htm?spm=a1z09.2.0.0.768d2e8d9D3S7s&id=316b5d8842179442&_u=m1tg6s6048c2
HaaS扩展口 LCD与HaaS100对应pin脚
2.2 整体框架
整体上看方案涉及的模块较多,不过后面通过拆解各个模块来展示如何将这些模块打通实现AI Demo的,学完后保证你可以打造属于自己的AI应用。
三、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对象存储的密钥信息,在后续的系列文章中将详细教你如何使用OSS对象存储平台。
视觉智能节点访问配置
AI Agent的密钥主要获取到REGION_ID、ENDPOINT相关信息。在后续的系列文章中将详细教你如何使用视觉智能平台。
Linkkit三元组信息配置
在人脸比对成功后,需要通过IoT Studio平台通知钉钉机器人,请在IoT Studio中获取设备三元组信息,在后续的文章中将详细教你如何使用IoT Studio平台。
WiFi摄像头访问配置
配置WiFi摄像头的图像流地址。
AI模型配置
当前支持多个AI模型,这里选择AI_TYPE_COMPARING_FACEBODY人脸比对模型。
老板照片路径配置
首先开通OSS上传老板照片,后续系列文章中会详细指导如何开启OSS功能。
假如老板照片是myface.png,上传后将路径则填入:
3.3 代码编译
$aos make distclean$aos make ucloud_ai_demo@haas100 -c config$aos make
3.3 代码烧录
如果是使用的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.4 网络连接
因为HaaS开发板需要连接到云端,因此需要连接到一个可以上外网的路由器,WiFi摄像头也只能使用Station模式连接到同一台路由器。
$netmgr -t wifi -c haas_test 12345678
3.5 识别结果响应
识别到后输出置信度的值,人脸位置以及“boss is coming”字样:
3.5.1 字幕提醒
在HaaS EDU K1的OLED上显示:
在HaaS 100的扩展屏上显示:
3.5.2 蜂鸣器报警
在HaaS EDU K1上当检测到老板来了,同时触发蜂鸣器报警。
四、总结
在HaaS开发板上整合了云端多样化的AI能力,通过AI Agent调用云端AI接口,人脸比对仅仅是其中一个案例,后面将逐一分解讲解从前端摄像头数据输入到图像识别再到后端输出显示的完整流程,让你能够举一反三地实现更多AI场景案例,敬请期待哦。
五、开发者技术支持
如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号
更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/