演示使用阿里云 IoT LinkSDK 通过 MQTT 协议连接阿里云物联网平台,完成设备认证、连接保活和消息收发。
预期行为
**连接流程**:
- 等待蜂窝网络就绪
- 注册系统移植层接口( aiot_sysdep_set_portfile )
- 注册 SDK 日志回调
- 配置 TLS 安全凭据(阿里云 CA 证书,端口 8883)
- 创建 MQTT 客户端实例并设置三元组( ProductKey / DeviceName / DeviceSecret )和连接参数
- 发起 MQTT 连接
- 创建 mqtt_process 线程(心跳 + QoS1 重传)和 mqtt_recv 线程(消息接收 + 自动重连)
- 主循环保持运行
**日志输出示例**:
Aliyun IoT LinkSDK MQTT demo starting...
waiting for network...
network ready
[alink] MQTT connected
[alk] pub, qos: 0, topic: ...
[alk] pub, payload: ...
[alink] heartbeat response
**事件处理**:接收到 MQTT 事件(连接 / 重连 / 断开)和消息(心跳响应 / SUBACK / PUB / PUBACK)时输出对应日志。
编译和运行
cd examples/network/aliyun
xt --target lm620/r4f4 fullclean build
本示例包含完整的阿里云 IoT LinkSDK 源码( LinkSDK/ 目录),可直接编译运行。
注意事项
- 使用前需修改 xt_main.c 中的 PRODUCT_KEY 、 DEVICE_NAME 、 DEVICE_SECRET 和 MQTT_HOST 为自己的设备三元组和实例接入点
- 依赖 mbedtls 、 cJSON 、 xt_core 组件,仅支持 lm620 平台
- 端口文件 LinkSDK/portfiles/aiot_port/xt_sdk_port.c 使用 CMSIS RTOS2 + POSIX socket(lwIP)实现系统适配层