通信模组完成AT模组驱动框架的适配后,需进行测试。以STM32+EC200S的设备为例,本文介绍该类型的设备,通过C Link SDK接入物联网平台的测试步骤。
背景信息
- 通信模组与AT模组驱动框架适配的详细说明,请参见接入方案概述。
本文示例设备的单片机为STM32,通信模组为EC200S。更多信息,请参见Quectel_EC200S和STM32官网。
- 获取设备认证信息的详细说明,请参见获取设备认证信息。
操作步骤
获取C Link SDK。
具体操作,请参见获取C Link SDK。
说明定制SDK时,设备OS选择FreeRTOS,设备硬件形态选择通信模组。
使用MDK-Arm,打开工程portfiles/aiot-port/project/stm32l476-at/MDK-ARM/L476.uvprojx。
MDK-Arm的使用说明,请参见MDK-Arm。您也可以根据环境需要,选择合适的开发工具。
适配硬件。
打开portfiles/aiot-port/project/stm32l476-at/Core/hal_adapter.c,设置发送接口。
示例代码如下:
/*设置发送接口*/ aiot_at_setopt(AIOT_ATOPT_UART_TX_FUNC, at_uart_send);
适配指定的模组,将
device
的值设置为ec200_at_cmd
。/*AT module*/ extern at_device_t ec200_at_cmd; extern at_device_t ec200_at_cmd_ssl; extern at_device_t l610_at_cmd; extern at_device_t l610_at_cmd_ssl; extern at_device_t air724_at_cmd; extern at_device_t air724_at_cmd_ssl; at_device_t *device = &ec200_at_cmd;
可选:如果模组含SSL功能,例如
device = ec200_at_cmd_ssl
,您需要将C Link SDK原有的TLS功能关掉,避免重复加密导致异常。说明 本示例不支持CoAP协议连接和X.509证书的方式进行设备认证。- 打开./core/sysdep/core_adapter.c。
- 在
#define CORE_ADAPTER_MBEDTLS_ENABLED
前添加注释符号(//
)。
- 编译工程文件,运行测试程序。不同开发工具的编译方法,请参见所使用的开发工具的说明文档。
运行结果
Demo运行后,您可以在设备端查看日志。
模组初始化:
>>> AT >>> AT <<< RDY >>> AT <<< AT OK >>> AT+QIACT=1 <<< OK >>> AT+QIACT? <<< +QIACT: 1,1,1,"10.13.***.***" OK
建立连接:
[22.400][LK-0313] MQTT user calls aiot_mqtt_connect api, connect [22.433][LK-0317] LightSwitch&a18wP****** [22.444][LK-0318] B4C45425D73E24B2935D73C1E98B6079A630FBE03F61E2A2031CEE7867D4D0D7 >>> AT+QIOPEN=1,1,"TCP","a18wP******.iot-as-mqtt.cn-shanghai.aliyuncs.com",443,0,1 <<< OK <<< +QIOPEN: 1,0 >>> AT+QISEND=1,286 <<< > >>> <<< SEND OK <<< +QIURC: "recv",1,4 id 0, len 4, res 20 [22.744][LK-0313] MQTT connect success in 341 ms AIOT_MQTTEVT_CONNECT
数据上报:
[27.766][LK-0309] pub: /sys/a18wP******/LightSwitch/thing/event/property/post [LK-030A] > 7B 22 69 64 22 3A 22 31 22 2C 22 76 65 72 73 69 | {"id":"1","versi [LK-030A] > 6F 6E 22 3A 22 31 2E 30 22 2C 22 70 61 72 61 6D | on":"1.0","param [LK-030A] > 73 22 3A 7B 22 4C 69 67 68 74 53 77 69 74 63 68 | s":{"LightSwitch [LK-030A] > 22 3A 30 7D 7D | ":0}} >>> AT+QISEND=1,120 <<< > >>> 0v<<< SEND OK <<< +QIURC: "recv",1,178 0?id 0, len 178, res 22
数据接收:
[27.933][LK-0309] pub: /sys/a18wP******/LightSwitch/thing/event/property/post_reply [LK-030A] < 7B 22 63 6F 64 65 22 3A 32 30 30 2C 22 64 61 74 | {"code":200,"dat [LK-030A] < 61 22 3A 7B 7D 2C 22 69 64 22 3A 22 31 22 2C 22 | a":{},"id":"1"," [LK-030A] < 6D 65 73 73 61 67 65 22 3A 22 73 75 63 63 65 73 | message":"succes [LK-030A] < 73 22 2C 22 6D 65 74 68 6F 64 22 3A 22 74 68 69 | s","method":"thi [LK-030A] < 6E 67 2E 65 76 65 6E 74 2E 70 72 6F 70 65 72 74 | ng.event.propert [LK-030A] < 79 2E 70 6F 73 74 22 2C 22 76 65 72 73 69 6F 6E | y.post","version [LK-030A] < 22 3A 22 31 2E 30 22 7D | ":"1.0"} pub, qos: 0, topic: /sys/a18wP******/LightSwitch/thing/event/property/post_reply
- 您也可以在物联网平台查看日志,具体操作,请参见云端运行日志。
文档内容是否对您有帮助?