开发者学堂课程【阿里云 AIoT 物联网开发实战:AliOS Things 技术分享】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/754/detail/13233
AliOS Things 技术分享
十九、AliOS Things 的工具
1.Aos-cube 构建工具
基于 AliOs Things 自有编译系统的自主构建工具
2.常用 IDE 支持
支持 Keil、IAR 工程的自动生成,方便嵌入式开发。
3.图形化裁剪工具
包括图形化配置工具,通过拖拽即可完成操作系统的裁剪定制,配置组件和组件参数
4.Alios-studio 图形化 IDE 插件
为用户提供免费 IDE 支持,固件下载,弹幕调试,等多种实用功能
5.Core-dump 系统异常分析工具
快速回溯系统异常发生原因,精确到代码行号
以上为 AliOS 构建了一个好的生态,用户用起来也非常方便。
十九、如何使用 AliOS Things 帮助设备快速上云
1.开发环境搭建
ALiOS things 全都是开源的,在 gitHUB 上面直接克隆代码,根据官方的参考文档,来去搭建开发环境。
克隆代码
https://github.com/alibaba/AliOS-Things
搭建开发环境
参考官网文档
https://help.aliyun.com/document detail/161042.html
安装 vscode 及 AliOS Studio 插件
安装基于命令行的开发管理工具 aos-cube
配置环境变量 AOS_SDK_PATH 指向 AliOsThings 源代码
2.演示 demo 介绍
准备工作:在物联网平台创建一个灯的产品, 并新建一个测试设备;准备硬件去做测试
创建工程:通过 Alios-studio,基于现有 APP 模板 linkkit_demo 创建一个新的工程,内置连接物联网平台的功能
编写业务代码:编写少量业务代码就可以把灯的设备直接连接到阿里云平台上面,通过阿里云控制面板下发指令,接收到开关灯的指令后控制 Wi-Fi 智能灯(用开发板代替)
控制灯:通过物联网平台,发送指令控制 Wi-Fi 智能灯
3.准备工作
①物联网平台https://iot.console.aliyun.com/创建产品和测试设备
②准备开发板、PC、Wi-Fi路由器(开发板通过 USB 线与 PC 连接,开发板通过路由器连上网络)
4.基于模板创建工程
5.编写业务代码
编写业务代码分为五个部分,第一增加 gpio 头文件,增加 GPIO 的功能用于控制LED灯的开关,第二次更新设备信息在阿里云上面的资源组,更新成为刚建立的资源组。第三定义全局变量用于保存 gpio 信息,第四在接收云端属性设置的回调函数里面,解析云端数据,控制 LED 灯开关,让其 on 或者 off。第五步是在 main 函数入口初始化 GPIO 为输出口。
6.控制灯
控制灯有一个在线调试的平台,在阿里云平台的控制上面,可以对 jason 的格式发送指令直接发送到设备中。
7. 视频演示
(通过 AliOS Things 如何快速连接到阿里云 IoT 平台)
进入物联网平台,点击设备管理下面的产品,创建新的产品,自定义产品名称,例如叫 cio_demo。品类选择标准品类,联网方式选择 WIFI,保存即可创建成功。
可以看到 cio_demo 产品情况。
功能定义里面有非常多的标准属性,主要看 lightStatus属性。
到设备管理这边添加一个设备,起一个设备名字,比如 cio_test_device1,也可以为设备起一个备注名称,例如 living_room_light,点击确认,设备就添加成功了,目前这设备是未激活状态,因为添加设备还没有真实的设备上来,在查看证书里面,可以看到 device name 和 device secret,现在转到 AliOS things studio,点击 project 创建用户工程,选择 linkit_demo 作为模板来创建,现在用的是 MK 3072开发板,选择名字之后就生成工程,页面的左边有 board 目录,主要是在linkit_example_solo 目录下面进行使用,一般的直连设备就直接修改这文件下面的一些代码就可以了。
把设备的资源组信息,在阿里云上复制粘贴到 AliOS things 上面,产品证书上面的product secret 和 product key 也要复制,增加一个变量来记录 gpio 信息。
下面是 linkit_main 的入口函数,在入口函数里面把 gpio,进行初始化,可以看到port 是第七个 pin,使用的是 outpush 模式,进行 GPIO 初始化。
接下来找到 property 回调函数,在回调函数里面增加收到函数以后,回调处理,比如说收到了 jason 数据和一些属性,根据这属性值来设置灯的 on 或者 off,点击最下方的✓,进行编译,会出现所有 memory 情况,以及 rom 和 ram。
下面打开窗口工具,打开开发板,下面图片是当前的开发版
把开发版接入下载模式,通过窗口命令进行下载。使用自己的 AliOS studio 开发工具,开发 AliOS 应用是非常简单的,他有很多 demo 模板,也使用了统一的接口,开发商业代码也是相对比较少的。下载结束以后,把开发板重启,可以看到 log 窗口已经连上了,使用 WIFI 模组已经把配网信息创进来了。然后现在去看物联网平台设备管理,下面的设备里面,可以看到,这设备是处于在线状态,刚才是未激活状态,可以到设备的在线调试,找到工作 lightStatus 属性,通过设置方法,发送一个脚本。如果指令设置 lightStatus 为0,灯就是关闭状态,如果是1,灯就是打开状态。
二十、开发者社区
因为 AliOS 的代码是开源的,可以通过以下几种方式下载 ALIOS 的源代码。
1.代码托管仓库
图形化裁剪工具,根据自己的需求,只下载所需要的代码,更小更加灵活。
https://aliosthings.iot.aliyun.com/aos/download
Github 全量代码下载
https://github.com/alibaba/AliOS-Things/tree/rel 3.1.0
Gitee 国内镜像,下载速度更快,内容和Github是一样的。
https://gitee.com/alios-things/AliOS-Things/tree/rel 3.1.0/
2.不断完善的文档
文档链接: https://elp.aliyun.com/product/123206.html
100余篇技术文档,字典式输出便于查询
比如有 Hal I2c 接口,可以看到接口的函数原型、参数入参、入参描述、出参以及返回值。文档非常详细。