第九篇 华为云Iot SDK的简单应用

第九篇 华为云Iot SDK的简单应用

一、华为云Iot SDK API的简单使用

1.初始化SDK

在这里插入图片描述

2.绑定连接配置信息

在这里插入图片描述

3.连接服务器

在这里插入图片描述

4.上报属性

在这里插入图片描述

5.接收命令

二、实现智能家居灯光状态上报

🔖以下是上报数据到华为云Iot的代码片段,配合串口控制灯光,改变灯的状态(ON/OFF),并将状态上报至华为云。


/** 上报属性线程 **/
static void *sync_dev_properties(void *arg){
   
    struct Device *cur_dev = NULL;
    char *light_name[4] = {
   "厨房灯","卧室灯","客厅灯","卫生间灯"};
    int i;

    /* 组织上报灯光状态的初始json数据 */
    cJSON *lights = cJSON_CreateObject();
    cJSON *update_key = NULL;
    char *update_value = NULL;
    for(i=0;i<4;i++){
   
        cJSON_AddItemToObject(lights,light_name[i], cJSON_CreateString(statostr(read_dev_status(light_name[i]))));
    }

    /* 每3秒向服务器上报数据 */
    ST_IOTA_SERVICE_DATA_INFO lights_service = {
   
            .event_time = NULL,
            .service_id = "家居灯光",
            .properties = cJSON_Print(lights)
    };
    while(1){
   
        if(IOTA_PropertiesReport(&lights_service,1,0,NULL) != 0 ){
   
            fprintf(stderr,"[mqtt_ctl.c] IOTA_PropertiesReport():occurred error.\n");
        }
        printf("read_status:%d\n", read_dev_status(light_name[1]));
        printf("statostr:%s\n", statostr(read_dev_status(light_name[1])));
        sleep(3);
        fprintf(stderr,"[mqtt_ctl.c] json data\n%s%s\n", lights_service.service_id,cJSON_Print(lights));
        for(i=0;i<4;i++) {
   
            update_key = cJSON_GetObjectItem(lights, light_name[i]);
            update_value = statostr(read_dev_status(light_name[i]));
            cJSON_SetValuestring(update_key, update_value);
        }
        lights_service.properties = cJSON_Print(lights);
    }
}

在这里插入图片描述
在这里插入图片描述

相关推荐

  1. C++学习课:指针精髓与应用

    2024-01-24 07:38:01       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-24 07:38:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-24 07:38:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-24 07:38:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-24 07:38:01       20 阅读

热门阅读

  1. 304状态码解读

    2024-01-24 07:38:01       27 阅读
  2. 木材加工(洛谷)

    2024-01-24 07:38:01       30 阅读
  3. Spark DataFrame:从底层逻辑到应用场景的深入解析

    2024-01-24 07:38:01       40 阅读
  4. electron-updater使用整理

    2024-01-24 07:38:01       41 阅读
  5. 幻兽帕鲁Docker服务端搭建

    2024-01-24 07:38:01       35 阅读
  6. 《设计模式的艺术》笔记 - 迭代器模式

    2024-01-24 07:38:01       28 阅读
  7. 第二百八十三回

    2024-01-24 07:38:01       37 阅读
  8. Kong关键概念 - Upstreams

    2024-01-24 07:38:01       33 阅读