XR808、XR872 AliOS环境搭建
AliOS下载
[下载地址](https://github.com/XradioTech/AliOS-Things)
git clone https://github.com/XradioTech/AliOS-Things.git
注意:搭建环境是可能保存找不到编译链工具,请将上篇博客的编译链工具复制到./AliOS-Things/build/compiler
目录下。
编译例程
在./aap/example目录下有许多例程,IOT常用例程Linkkitapp,该例程实现了连接阿里云,只要在阿里云IOT平台申请三元组后(免费),就可以使用该例程进行与阿里云的连接、通信了。
例程讲解
使用说明
Alios自带一键配网,APP使用阿里云的云智能APP。
1、aos_task_new("netmgr_start", start_netmgr, NULL, 5120)
代码中此任务主要实现网络的连接,上电后自动检测是否有历史wifi记录,有则尝试重新连接,无则开始进入智能配网,注意,此时指示扫描信道并未进行真正的信号捕获。还需要执行do_awss_active()函数。
可通过事件触发进如真正的配网流程:aos_post_event(EV_KEY,CODE_BOOT,VALUE_KEY_CLICK);
也可通过串口输入:active_awss,注意加回车换行。
2、linkkit_main()
此函数是实现通过MQTT与阿里云连接,并注册相关事件,例如:设备端的控制事件(订阅) 、 OTA等,联网成功后自动跳转到此函数。注意:三元组如果输入不正确,将连接阿里云失败
3、set_devinfo()
保存三元组信息,PK、PS、DN、DS
4、user_property_set_event_handler()
设备控制信息的处理,解析json数据获取控制指令,实现业务逻辑。
注意事项
一键配网存在配网失败情况,请注意使用2.4G路由器。
飞燕平台与IOT平台都一样接入。
自定义MQTT主题使用:
IOT_MQTT_Subscribe(0, topic, IOTX_MQTT_QOS0, message_arrive, NULL); //订阅
0为默认连接的句柄
message_arrive为订阅的主题下发数据的处理回调函数
void message_arrive(void *pcontext, void *pclient, iotx_mqtt_event_msg_pt msg)
{
iotx_mqtt_topic_info_t *topic_info = (iotx_mqtt_topic_info_pt) msg->msg;
switch (msg->event_type) { //消息类型 topic_info->payload消息数据
}
}
IOT_MQTT_Publish_Simple(0, topic, IOTX_MQTT_QOS0, payload, strlen(payload)); //发布
获取参考资料
关注公众号发送808或者872即可获取软硬件参考资料