C-SDK使用(µC/OS)__SDK使用参考_设备端接入手册_阿里云物联网套件-阿里云
准备工具
- KEIL工具 版本是Keil V4.10
- SecureCRT,用来抓取开发板的uart log,用户可以从SecureCRT官网下载。
- NL6621 WIFI开发板,可以通过在淘宝购买。
- USB转RS232串口线,可以通过淘宝购买。
移植说明
- MQTT数据传输支持通过TCP(明文传输)或TLS(密文传输),如果开发板上面可用的RAM资源不足,可以不添加Mbedtls编译到开发板SDK中。如果开发板自带TLS库,这样也可以不用IoT SDK自带的Mbedtls库,用开发板自带的SSL库实现aliyun_iot_network_ssl.c里面的函数即可。
- 本文档介绍的是MQTT+TCP的方式和阿里云交互。
- 本文档只是以NL6621开发板为例,客户可以选择其它支持µC/OS的开发板。
- 验证通过的OS版本是µC/OS-II。
添加SDK MQTT协议源文件到Keil工程
- 需要添加MQTT协议的源文件路径有
sdk/common/src
sdk/examples/ucos/mqtt
sdk/platform/ucos/src
sdk/src/mqtt/MQTTClient-C/src
sdk/src/mqtt/MQTTClient-C/nettype/tcp
sdk/src/mqtt/MQTTPacket/src
- 设定Keil工程头文件路径
编译和download
- 右键工程,选择 build target。
- 生成的bin文件,用开发板自带的下载工具NuDevTool ver1.11通过uart download。
- 烧录步骤流程,具体参考开发板文档说明。
注意事项
- MQTT+TCP这种方式需要的RAM大小为 16K= 4K stack + 12K heap。
- 因为μC/OS-II每个task的优先级都不能相同,所以需要根据平台来修改下面的两个宏,赋予一个唯一的优先级。
#define IOT_MQTT_TASK_PRIO (OS_TASK_TMR_PRIO + 22)
#define IOT_MQTT_MUTEX_PRIO (OS_TASK_TMR_PRIO + 15)
常见问题
下面出现的问题都是和开发板相关,如果不是用NL6621开发板可以忽略以下错误。
运行出现 SIGRTMEM: Out of heap memory错误。
- 解决方法:修改文件CortexM3_startup.s,调整下面的两个参数的值。
Stack_Size EQU 0x2000 // stack大小
Heap_Size EQU 0x4000 // heap大小
链接出现错误:
- 解决方法是: 编译该文件syscall到工程里面
运行遇到下面错误
- aliyun_iot_platform_network.c:163 aliyun_iot_network_settimeout()| setsockopt error, errno = 109 ret = -1 fd = 1
- 解决方法是:修改lwipopts.h, 添加下面的两个宏。
#define LWIP_SO_SNDTIMEO 1
#define LWIP_SO_RCVTIMEO 1
最后更新:2016-12-01 13:11:01
上一篇:
C-SDK使用(Mico)__SDK使用参考_设备端接入手册_阿里云物联网套件-阿里云
下一篇:
C-SDK使用(threadx)__SDK使用参考_设备端接入手册_阿里云物联网套件-阿里云
域名展示页常见问题FAQ___域名展示页_域名交易_域名-阿里云
创建流控策略__流量控制相关接口_API_API 网关-阿里云
提交模板分析作业__预置智能模版推荐接口_API使用手册_媒体转码-阿里云
队列方式接收通知__接收消息通知_开发人员指南_视频点播-阿里云
ColumnUpdate__DataType_API 参考_表格存储-阿里云
HBase 开发手册__开发人员指南_E-MapReduce-阿里云
结合云解析实现跨地域负载均衡__最佳实践_负载均衡-阿里云
阿里云发布数十款新产品,弹性灵活不止于计费
查询流控历史__直播流操作接口_API 手册_CDN-阿里云
金融云特性__金融云介绍_金融云-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云