1、创建产品-自定义功能-LED开关,创建设备(也可以在Web可视化开发创建);
2、Web可视化开发-组件-控制-开关,数据关联产品、设备、属性(设备需要先post上传数据)。
代码部分:
#include "cJSON.h"
#include "soc_init.h"
LED1.port = 22;//LED1对应的IO口,在OS里面编号是22
LED1.config = OUTPUT_PUSH_PULL;//设置为推挽输出
hal_gpio_init(&LED1);//初始化LED1的IO口
cJSON *json = cJSON_Parse(topic_msg.payload);
cJSON *item0 = cJSON_GetObjectItem(json,"method");
if(item0 == NULL)
{
printf("method item == NULL\n");
}
else
{
if(0==strcmp(item0->valuestring,"thing.service.property.set"))
{
cJSON *node = cJSON_GetObjectItem(json,"params");
if(node == NULL)
{
printf("params node == NULL\n");
}
else
{
printf("found params node\n");
cJSON *item = cJSON_GetObjectItem(node,"LEDSwitch");
ledswitch=item->valueint;
printf("LEDSwitch:%d\n",item->valueint);
if(item->valueint==1)
{
hal_gpio_output_low(&LED1);
}
if(item->valueint==0)
{
hal_gpio_output_high(&LED1);
}
}
}
}