关于如何使用rtthread和阿里云进行通信

该程序主要为实现阿里云和本地单片机进行连接
时间 2019-12-4
进行总体设计 
本次使用mqtt进行数据通信

单片机
1,配置wifi热点
2,配置iotkit软件包(使用2.0.4版本)
配置过程 https://www.rt-thread.org/document/site/submodules/ali-iotkit/docs/samples/
2.1 在设置连接过程中 product secret在产品中可以找到,其余的在设备中可以找到
在使用cubemx进行引脚设置的时候会将stlink的下载方式禁止掉,通过设置该函数改变下载方式  __HAL_AFIO_REMAP_SWJ_ENABLE();
关于如何发送数据上报到阿里云平台上,
snprintf(msg_pub, sizeof(msg_pub), 
            "{\"id\" : \"%d\",\"version\":\"1.0\",\"params\" : "
            "{\"CurrentVoltage\" : 12.2,"
            "\"LightSwitch\" : %d},"
            "\"method\":\"thing.event.property.post\"}",
            ++pub_msg_cnt, rgb_switch);
"{\"CurrentVoltage\" : 12.2," 这一行是发送的数据。该行的制定是通过阿里云上精简设备模型写出来的,通过json模式沟通。
ali_mqtt_test_pub在这个函数里面修改
单片机是如何接收云端数据的?
详见_demo_message_arrive函数
通过IOT_MQTT_Yield函数进行接收下行报文数据    功能:MQTT会话阶段, MQTT主循环函数, 内含了心跳的维持, 服务器下行报文的收取等
通过IOT_MQTT_Subscribe该函数设置接收回调函数  topic_filter是需要订阅的topic 可以根据不同的topic设置不同的回调函数
阿里云相关api详细使用 https://code.aliyun.com/edward.yangx/public-docs/wikis/user-guide/linkkit/Prog_Guide/API/MQTT_Provides#IOT_MQTT_Subscribe
通过cJSON_Parse(ptopic_info->payload);函数将字符串转化成cjson格式
通过cJSON_GetObjectItem函数将cjson格式进行分解,将里面的子串分解出来,在分解子串里面的内容
通过cJSON_PrintUnformatted函数将字串的内容转化成字符串

关于阿里云连接过程 
1.在mqtt-example.c文件中通过创建ali-mqtt线程,连接阿里云物联网平台

阿里云配置
1.先创建产品(产品里面可以有很多的ip地址)
1.2.在产品里面进行功能设置
1.2.1.在功能列表里面进行设置
2.创建设备(在产品里面创建设备)
 

你可能感兴趣的:(RT-THRAED,阿里云)