开发者成长激励计划-基于TencentOS Tiny 手把手教你通过腾讯连连小小程序控制板子的4个LED灯
本来想基于开发板做一个汽车交流充电桩的,由于本人能力和时间有限,做不了,做一个简单的点灯例程,通过腾讯连连小小程序控制板子的4个LED灯
实验材料:windows电脑一台,CH32V_EVB_AIoT ReVB02开发板一块(没有开发板的可以自搭电路),type-c数据线一条,可联网可作热点手机一台。
软件安装包:MounRiver_Studio_Setup_V181.zip。下载地址:MounRiver Studio 第一次用这个软件,真的很好用,关键还免费。以后一定要支持一下。
开始的操作步骤,我就不重复了,doc/31.TencentOS-Tiny_CH32V_EVB_QuickStart.md · 腾讯开源/TencentOS-tiny - Gitee.com
具体可以按照官方教程,完成后入下面:
我查阅了资料知道了,这是Json格式的,我们将下面两个文件添加到User文件夹下,完成后如下图所示
接下来就是 最后一步了,修改mqtt_iot_explorer.c文件下的default_message_handler函数,记得添加头文件#include "cJSON.h"
void default_message_handler(mqtt_message_t* msg)
{
printf("callback:\\r\\n");
printf("---------------------------------------------------------\\r\\n");
printf("\\ttopic:%s\\r\\n", msg->topic);
printf("\\tpayload:%s\\r\\n", msg->payload);
printf("---------------------------------------------------------\\r\\n");
cJSON *root = NULL;
cJSON *params = NULL;
cJSON *method = NULL;
cJSON *power_switch = NULL;
/*解析从云端收到的控制信息,示例控制信息为*/
//payload:"{"method":"control","clientToken":"clientToken-@Ropy0JGd","params":{"power_switch":0}}"
root = cJSON_Parse(msg->payload +1);
if (!root){
printf("Invalid json root\\r\\n");
return;
}
/* 解析出method*/
method = cJSON_GetObjectItem(root, "method");
if (!method){
printf("Invalid json method\\r\\n");
cJSON_Delete(root);
return;
}
/* 仅处理云端下发的 control 数据*/
if (0 != strncmp(method->valuestring, "control", sizeof("control") - 1)){
cJSON_Delete(root);
return;
}
/*解析出params*/
params = cJSON_GetObjectItem(root, "params");
if (!params){
printf("Invalid json params\\r\\n");
cJSON_Delete(root);
return;
}
/*解析出 power_switch*/
power_switch = cJSON_GetObjectItem(params, "power_switch");
/*根据 power_switch 控制实际硬件开关*/
if (power_switch->valueint){
GPIO_WriteBit(GPIOE, GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5, 0);
}else{
GPIO_WriteBit(GPIOE, GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5, 1);
}
cJSON_Delete(root);
}
最后成果演示:
还有一件事忘了,esp8266固件不是乐鑫官方固件,固件 在下面压缩包
通过这个活动,我学到了很多知识,体会到了编程的乐趣 ,好久没有熬夜到凌晨1-2点了,也体会到了国产开发软件的 突飞猛进,MounRiver Studio真的是个很好的软件,是我目前用过单片机厂家自研ide中最好的一家,还有特别是腾讯连连小程序做的非常好,在实际项目中,可以节约很多开发时间。目前我们公司 使用还是比较少的。
将以下文件替换原来的文件就可以了,加油吧,打工人。