1、IoT Studio平台
IoT Studio是阿里云AIoT针对物联网场景提供的生产力工具,是阿里云AIoT物联网平台的一部分,覆盖了各个物联网行业核心应用场景,帮助开发者高效经济地完成物联网数据分析、设备、服务及应用开发,加速物联网SaaS构建。
2、为什么使用IoT Studio
本Demo中在识别到老板后,将事件上报到IoT Studio平台,通过IoT Studio平台中的业务逻辑开发,触发钉钉机器人预警。
3、IoT Studio平台使用
登陆https://studio.iot.aliyun.com
3.1 新建产品
IoT Studio目前也可以直接创建产品和设备,无需到物联网平台创建,为了让设备端通过Linkkit连接到物联网平台,在IoT Studio平台上创建HaaS EDK产品,如果使用HaaS100,可以创建名称为HaaS100的产品名称。
3.2 新建设备
产品创建后以后,在该产品下创建一个HaaS EDK的设备。
点击上图按键获取如下信息:
{ "ProductKey": "a1xNKH4LkSm", "DeviceName": "HaaS-EDK-Device", "DeviceSecret": "2175cc4a4393de5d7fbef1bb5e8ef805" }
3.3 增加事件
HaaS开发板获取到识别成功的结果时会触发一个事件上报,在产品中需要定义一个事件进行关联。
Linkkit在上报事件时需要通过该标识符进行识别,这里的标识符boss_face_detection也就是代码中的event_id。
3.4 增加参数
该参数与Linkkit代码中上报的event_payload保持一致,IoT Studio平台会解析该字段判断是否是老板来了。
3.5 发布产品
在创建好事件后需要发布产品上线才能生效。
3.6 新建项目
创建一个名为Cloud-AI-Demo项目。
3.7 新建业务服务
3.8 添加钉钉机器人
A. 在群组中添加钉钉机器人:
B. 选择自定义机器人:
C. 配置钉钉机器人,安全设置为自定义关键词,其他安全设置不用做:
3.9业务逻辑开发
A. 将设备触发拖到可视化界面中:
B. 选择关联产品:
C. 选择关联设备:
D. 选择关联事件:
E. 添加钉钉机器人到可视化界面中,并将设备触发与之关联:
F. 配置钉钉机器人,将前面群组添加机器人中的Webhook填入配置中,选择固定文案,内容需要与前面钉钉机器人中自定义关键词保持一致,否则不能触发钉钉机器人预警:
4、Linkkit SDK应用开发
4.1 获取ProductSecret
4.2 获取DeviceSecret
4.3 配置Linkkit SDK
代码中填入4.2中获取到的信息到sdkconfig.h中。
当设备上电并上网后Linkkit通过MQTT连接物联网平台实现上线,上线后在HaaS开发板Log输出:
并且在设备状态页面看大HaaS EDK处于上线状态:
4.4 事件上报
在收到置信度>60时,表示人脸比对成功,通过user_post_event上报给IoT Studio平台。
-
void user_post_event(char type_t)
-
{
-
int res = 0;
-
char *event_id = "boss_face_detection";
-
char *event_payload;
-
-
if(type_t == 0){
-
event_payload = "{\"face_detected\": 0}";
-
}
-
else{
-
event_payload = "{\"face_detected\": 1}";
-
}
-
res = IOT_Linkkit_TriggerEvent(EXAMPLE_MASTER_DEVID, event_id, strlen(event_id),
-
event_payload, strlen(event_payload));
-
EXAMPLE_TRACE("Post Event Message ID: %d", res);
-
}
-
void do_comparing_facebody_process(void)
-
{
-
......
-
/*do facebody detection*/
-
facebody_ai_detection(urlA, p_urlB, &confidence, &face_rect);
-
/*judge if boss is coming*/
-
if (confidence > 60) {
-
LOG("==============================================\n");
-
LOG("=================boss is coming===============\n");
-
LOG("==============================================\n");
-
/*post event to Iot platform*/
-
user_post_event(1);
-
......
-
}
当事件上报后,IoT Studio将触发钉钉机器人发送消息到钉钉预警群中:
5、总结
通过IoT Studio可以实现云端钉一体化,将HaaS开发板端侧的事件上报云端并消息流转给钉钉,当然你也可以通过短信等方式进行事件的通知,是不是非常方便,期待你发挥想象搭建属于你的AI应用场景。
6、开发者技术支持
如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号
更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/
转载:https://blog.csdn.net/HaaSTech/article/details/113404395