本页目录
1.设备端环境搭建
2.云端配置
3 设备端配置
4 端云联调
本文详细介绍如何基于HaaS平台快速接入阿里云IoT,搭建智能生活应用场景。
1.设备端环境搭建
参考HaaS快速开始。
2.云端配置
登陆智能生活物联平台(https://living.aliyun.com/)。未注册阿里云账户的用户,请先完成账户注册。
2.1 创建项目
如下图所示,点击右上角创建新项目。
2.2 创建产品
项目创建完成后,创建新产品。
2.2.1 产品类型选择
如下图,产品创建时信息填写说明:
1.产品名称,按您喜好填就行;
2.所属品类,智能生活平台提供覆盖行业内大部分的产品种类的物模型,我们这里使用HaaS开发板模拟智能灯,所以选择“电工照明/灯”;
3.节点类型,直连设备,选“设备”;
4.直连接入,选非网关接入;
5.我们使用HaaS Wi-Fi网络接入,连网方式选择“WiFi”;
6.数据格式,选择“ICA”即Alink Json格式,也可以选择raw数据格式(设备端不理解具体用户协议,需在云端平台设置js脚本将二进制协议转换称ICA协议);
7.设备端默认不支持ID2认证,选“否”。
2.2.2 完善产品信息
如下图所示:
1.勾选使用公版APP控制产品;
2.完善左侧惊叹号提示的配置设置,默认设置按确认即可;
3.需要注意的是配网引导页面点自定义配网设置;
4.创建一个设备,并拷贝其三元组信息。
5.同时拷贝产品密钥,用于配置设备端配网:
6.完成开发:
7.安装手机端APP,如图扫描二维码下载云智能APP:
至此,云端配置完成。
3 设备端配置
1.修改端上代码 application/example/linkkit_demo/linkkit_example_solo.c 中四元组信息,如下图,其中四元组信息从2.2.2章节获取。
2.修改属性设置回调函数,可在此函数中加上自己的代码,如根据云端属性控制IO操作等:
2.编译
aos make linkkit_demo@haas100 -c config
aos make
3.按章节1指导方式烧入固件。
4 端云联调
4.1 配网与绑定
4.1.1 设备配网
1.通过命令行配网,串口输入如下指令可完成配网:
netmgr -t wifi -c {ssid} {password}
关键日志:
ssid=aos_test_01
ip_address=192.168.18.109
address= 0:80:3d:64: 8:77
wpa_state=COMPLETED
获取到IP地址后程序会立即进行linkkit连云;连上云关键日志:
[Jan 01 00:00:11.613]<I>HAL_TLS ok
[Jan 01 00:00:11.613]<I>HAL_TLS . Setting up the SSL/TLS structure...
[Jan 01 00:00:11.613]<I>HAL_TLS ok
[Jan 01 00:00:11.614]<I>HAL_TLS Performing the SSL/TLS handshake...
[Jan 01 00:00:11.731]<I>HAL_TLS ok
[Jan 01 00:00:11.731]<I>HAL_TLS . Verifying peer X.509 certificate..
[Jan 01 00:00:11.731]<I>HAL_TLS certificate verification result: 0x00
[Jan 01 00:00:11.731]<I>MQTT connect params: MQTTVersion=4, clientID=a1Oi7Q7h3LV.haas_01|timestamp=2524608000000,_v=sdk-c-3.0.1,securemode=2,signmethoV
[Jan 01 00:00:11.772]<I>MQTT mqtt connect success!
至此设备已经完成配网并使用我们自己创建的三元组(product key/device name/device secret)连接到智能生活平台。
注:HaaS100开发板APP配网功能还在开发中,请持续关注代码更新。
4.1.2 设备与云智能APP绑定
打开步骤2.2安装的云智能APP,保证手机更设备连接同一个APP.点击右上角红色标注"+" 按钮,开始设备查找。
约数秒钟后找到设备,如下图,点击完成。
至此绑定完成。
4.2 控制测试
设备绑定完成后,进入如下页面,可以通过点击图中不同模块进行命令下发。同时关注设备端日志打印。
典型日志:
[Jan 01 00:02:12.197]<I>MQTT Downstream Topic: '/sys/a1Oi7Q7h3LV/haas_01/thing/service/property/set'
[Jan 01 00:02:12.197]<I>MQTT Downstream Payload:
< {
< "method":"thing.service.property.set",
< "id":"575303451",
< "params":{
< "HSVColor":{
< "Saturation":84,
< "Value":5,
< "Hue":232
< }
< },
< "version":"1.0.0"
< }
[Jan 01 00:02:12.198]<I>DM thing/service/property/set
[Jan 01 00:02:12.198]<I>DM Send URI: /sys/a1Oi7Q7h3LV/haas_01/thing/service/property/set_reply, Payload: {"id":"575303451","code":200,"data":{}}
[Jan 01 00:02:12.200]<I>MQTT Upstream Topic: '/sys/a1Oi7Q7h3LV/haas_01/thing/service/property/set_reply'
[Jan 01 00:02:12.200]<I>MQTT Upstream Payload:
> {
> "id":"575303451",
> "code":200,
> "data":{
> }
> }
当然你还可以在属性或服务下发回调函数中添加自己的代码完成更多的功能,比如控制IO口操作真实的外设。