HaaS AI应用实践“老板来了”系列之五:IoT Studio应用

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的产品名称。

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第1张图片

3.2 新建设备

产品创建后以后,在该产品下创建一个HaaS EDK的设备。

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第2张图片

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第3张图片

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第4张图片

点击上图按键获取如下信息:

{   "ProductKey": "a1xNKH4LkSm",   "DeviceName": "HaaS-EDK-Device",   "DeviceSecret": "2175cc4a4393de5d7fbef1bb5e8ef805" }

3.3 增加事件

HaaS开发板获取到识别成功的结果时会触发一个事件上报,在产品中需要定义一个事件进行关联。

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第5张图片

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第6张图片

Linkkit在上报事件时需要通过该标识符进行识别,这里的标识符boss_face_detection也就是代码中的event_id。

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第7张图片

3.4 增加参数

该参数与Linkkit代码中上报的event_payload保持一致,IoT Studio平台会解析该字段判断是否是老板来了。

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第8张图片

3.5 发布产品

在创建好事件后需要发布产品上线才能生效。HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第9张图片

3.6 新建项目

创建一个名为Cloud-AI-Demo项目。

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第10张图片

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第11张图片

3.7 新建业务服务

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第12张图片

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第13张图片

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第14张图片

3.8 添加钉钉机器人

A. 在群组中添加钉钉机器人:

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第15张图片

B. 选择自定义机器人:

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第16张图片

C. 配置钉钉机器人,安全设置为自定义关键词,其他安全设置不用做:

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第17张图片

3.9业务逻辑开发

A. 将设备触发拖到可视化界面中:

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第18张图片

B. 选择关联产品:

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第19张图片

C. 选择关联设备:

image.png

D. 选择关联事件:

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第20张图片

E. 添加钉钉机器人到可视化界面中,并将设备触发与之关联:

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第21张图片

F. 配置钉钉机器人,将前面群组添加机器人中的Webhook填入配置中,选择固定文案,内容需要与前面钉钉机器人中自定义关键词保持一致,否则不能触发钉钉机器人预警:

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第22张图片

4、Linkkit SDK应用开发

4.1 获取ProductSecret

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第23张图片

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第24张图片

4.2 获取DeviceSecret

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第25张图片

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第26张图片

4.3 配置Linkkit SDK

代码中填入4.2中获取到的信息到sdkconfig.h中。

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第27张图片

当设备上电并上网后Linkkit通过MQTT连接物联网平台实现上线,上线后在HaaS开发板Log输出:

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第28张图片

并且在设备状态页面看大HaaS EDK处于上线状态:

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第29张图片

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将触发钉钉机器人发送消息到钉钉预警群中:

HaaS AI应用实践“老板来了”系列之五:IoT Studio应用_第30张图片

5、总结

通过IoT Studio可以实现云端钉一体化,将HaaS开发板端侧的事件上报云端并消息流转给钉钉,当然你也可以通过短信等方式进行事件的通知,是不是非常方便,期待你发挥想象搭建属于你的AI应用场景。

6、开发者技术支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号

更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/

你可能感兴趣的:(HaaS,AI,物联网,HaaS,人工智能,ai,嵌入式)