关于如何使用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.创建设备(在产品里面创建设备)

经验分享 程序员 微信小程序 职场和发展