F407+ESP8266+MQTT+AliIoT(六)——cJSON移植

F407+ESP8266+MQTT+AliIoT(六)——cJSON移植

简介

在F407接收到阿里云下发的Publish Message之后,需要解码,解码要用到cJSON.c和cJSON.h文件,这两个文件可以在github上下载。在这里只给出了一个示例,具体怎么用看自己的。

如果不行可以修改文件startup_stm32f407xx.s,增加空间
Stack_Size EQU 0x00000400
Heap_Size EQU 0x00000200
修改为
Stack_Size EQU 0x00001000
Heap_Size EQU 0x00001000

相关程序源码

CSJON数据解包示例代码

    const char *line = "{\"method\":\"thing.service.property.set\",\"id\":\"1047683414\", \
        \"params\":{\"temperature\":23,\"humidity\":23},\"version\":\"1.0.0\"}";
    cJSON *json;
    printf(line);
    json = cJSON_Parse(line);
    if(json ==NULL)
        printf("json fmt error:%s\n.", cJSON_GetErrorPtr());
    else {
        cJSON *obj_id = cJSON_GetObjectItem(json, "id");
        cJSON *obj_params = cJSON_GetObjectItem(json, "params");
        cJSON *obj_temp = cJSON_GetObjectItem(obj_params, "temperature");
        cJSON *obj_humi = cJSON_GetObjectItem(obj_params, "humidity");
        
        printf("\r\n");
        printf("temperature: %.1f\r\n", obj_temp->valuedouble);
        printf("humidity: %.1f\r\n", obj_humi->valuedouble);
        cJSON_Delete(json);
    }
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值