AliOS Things 3.0应用笔记:摄像头配网 + 钉钉群通知 + 天气显示

简介: 摄像头配网 + 钉钉群通知 + 天气显示


AliOS Things 3.0应用笔记:摄像头配网 + 钉钉群通知 + 天气显示_第1张图片

给AliOS Things一颗STAR(前往GitHub关注我们)

目录

运行流程

效果展示

操作流程

环境配置

源码结构

配置

烧录运行

源码讲解

QR扫码部分

GUI部分

https client部分

运行流程

本示例有如下3个功能:

摄像头配网。

推送消息到钉钉群。

显示当天天气。

AliOS Things 3.0应用笔记:摄像头配网 + 钉钉群通知 + 天气显示_第2张图片

效果展示



效果展示

操作流程

环境配置

AliOS Things环境安装,参考:AliOS-Things-Environment-Setup。

AliOS Things 3.0应用开发环境搭建,参考AliOS Things 3.0 应用开发指南。

准备developerkit开发板。

下载应用开发源码:developerkit_app.zip 。

使用vscode打开developerkit_app 源码。

源码目录结构

.├── Config.in├── README.md├── aos.mk├── gui# gui显示,包括进度条、天气界面等├──http# https client应用,包括上报消息到钉钉群,获取天气数据等├── k_app_config.h├── main.c# 主入口函数└── qr_decode# 摄像头扫码识别

配置

更改AOS_SDK_PATH路径

编辑 .aos:

AOS_SDK_PATH=/Users/xxw/workspace/github/AliOS-ThingsDEPENDENCIES=MD5SUM_HEADER=a1a4b53ab917fb4a6cb08289b6007fe0

更改 /Users/xxw/workspace/github/AliOS-Things 为你的AliOS-Things源码路径。

编辑 Config.in:

......config AOS_SDK_PATH string default "/Users/xxw/workspace/github/AliOS-Things"......

更改 /Users/xxw/workspace/github/AliOS-Things 为你的AliOS-Things源码路径。

更改钉钉群机器人的token

更改http/http_request.c中的DINGTALK_TOKEN为你的钉钉群token,点击这里了解详细说明:

/* dingtalk token */#defineDINGTALK_TOKEN""

更改天气api的appcode

更改http/http_request.c中的WEATHER_APPCODE为你的appcode,点击这里了解详细说明:

/* weather api appcode */#defineWEATHER_APPCODE""

烧录运行

下载烧录并运行,按照配网演示流程即可显示天气界面。其中配网二维码如下:

AliOS Things 3.0应用笔记:摄像头配网 + 钉钉群通知 + 天气显示_第3张图片

源码讲解

QR扫码部分

本demo使用developerkit开发板的摄像头,通过摄像头扫二维码获取到wifi信息,然后连接到二维码。配网二维码中的wifi信息格式为:yunqiwifi&&,比如wifi名称为aiot,密码为12345678,那配网二维码中的wifi信息为:yunqiwifi&aiot&12345678。

当然也可以用网上的二维码生成网站自己生成二维码:https://cli.im/ 。

GUI部分

本demo基于littlevGL绘制了简单的UI交互界面,使用了littlevGL如下组件:

Label

Bar

Font

Image

其中字体图标和中文字体在Iconfont中生成,也可以到FontEditor里面编辑字体,得到的ttf文件通过littlevGL提供的Font Converter在线工具转化为C文件。

https client部分

本示例使用到了AliOS Things 3.0提供的httpc组件,httpc组件支持多种RESTful的API调用,包括GET、POST、PUT、HEAD等,也支持https安全协议。

1. 钉钉群机器人:

本示例使用到了钉钉群自定义机器人的webhook功能,当设备上线后,会主动发送消息到钉钉群中,原理就是通过https client发送POST数据到机器人webhook中,就能够在钉钉群中显示相应POST的数据,该数据也支持markdown格式。

了解钉钉群自定义机器人如何运作的可以参考:自定义机器人。

2. 天气API:

本示例使用到了阿里云API云市场的天气API:全国天气预报查询、实时天气、24小时天气、景区天气、预报7天/15天【支持高并发】【低延迟】,可以免费调用。请购买该应用(0元免费购买),然后获取到相应的访问appcode:

AliOS Things 3.0应用笔记:摄像头配网 + 钉钉群通知 + 天气显示_第4张图片

如何获取CA根证书

本示例里面使用的https接口都是安全加密的接口,需要配置CA root证书才能够正常访问这些接口,如何获取https网站的ca证书请参考:导出https网站证书。

你可能感兴趣的:(AliOS Things 3.0应用笔记:摄像头配网 + 钉钉群通知 + 天气显示)