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

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

介绍

本示例有如下3个功能:

  1. 摄像头配网。
  2. 推送消息到钉钉群。
  3. 显示当天天气。


TB1wqU9iAT2gK0jSZFkXXcIQFXa-1692-944.png

效果展示

点击查看展示视频

操作流程

环境配置

  1. AliOS Things环境安装,参考:AliOS-Things-Environment-Setup
  2. AliOS Things 3.0应用开发环境搭建,参考AliOS Things 3.0 应用开发指南
  3. 准备developerkit开发板。
  4. 下载应用开发源码: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-Things
DEPENDENCIES=
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 */
#define DINGTALK_TOKEN "<YOUR-DINGTALK-TOKEN>"
更改天气api的appcode

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

/* weather api appcode */
#define WEATHER_APPCODE "<YOUR-WEATHER-APPCODE>"

烧录运行

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


TB1Y2U8iAT2gK0jSZPcXXcKkpXa-260-260.png

源码讲解

QR扫码部分

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

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

GUI部分

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

其中字体图标和中文字体在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:

undefined

如何获取CA根证书

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

参考文档

目录
相关文章
|
6月前
在钉钉开放平台中,事件订阅功能允许你的应用订阅钉钉的各种事件
在钉钉开放平台中,事件订阅功能允许你的应用订阅钉钉的各种事件【1月更文挑战第20天】【1月更文挑战第98篇】
235 1
|
2月前
|
人工智能 数据可视化 API
10 分钟构建 AI 客服并应用到网站、钉钉或微信中测试评
10 分钟构建 AI 客服并应用到网站、钉钉或微信中测试评
90 2
|
3月前
|
人工智能
10 分钟构建 AI 客服并应用到网站、钉钉或微信中简说
10 分钟构建 AI 客服并应用到网站、钉钉或微信
|
2月前
|
人工智能 运维 负载均衡
10 分钟构建 AI 客服并应用到网站、钉钉或微信中
《10分钟构建AI客服并应用到网站、钉钉或微信中》的解决方案通过详尽的文档和示例代码,使具有一定编程基础的用户能够快速上手,顺利完成AI客服集成。方案涵盖高可用性、负载均衡及定制化选项,满足生产环境需求。然而,若文档不清晰或存在信息缺失,则可能导致部署障碍。实际部署中可能遇到网络、权限等问题,需逐一排查。云产品的功能、性能及操作配置便捷性直接影响解决方案效果,详尽的产品手册有助于快速解决问题。总体而言,该方案在各方面表现出色,值得推荐。
|
2月前
|
小程序 Android开发 iOS开发
ISO钉钉小程序小程序webview打开nextjs应用异常
ISO钉钉小程序小程序webview打开nextjs应用异常
46 3
|
5月前
|
移动开发 文字识别 算法
视觉智能开放平台产品使用合集之如何集成到使用钉钉端的H5应用中
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
6月前
|
Serverless Go API
Serverless 应用引擎产品使用之在阿里云Serverless中,我想在钉钉机器人中使用函数计算的签名认证如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
6月前
|
监控 Serverless 开发者
Serverless 应用引擎常见问题之应用重启或者挂了通过钉钉发消息提醒如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
|
6月前
钉钉开放平台支持多种类型的应用
【2月更文挑战第19天】钉钉开放平台支持多种类型的应用
93 6
|
6月前
|
移动开发
钉钉PC端点击消息通知的链接显示该应用已停用或未授权你的访问
开发的H5微应用能发送含详情页链接的卡片消息至用户移动端,用户可顺利跳转。然而,在PC端点击相同链接会显示“应用已停用或未授权”,提示联系管理员,附带图片说明问题。