HarmonyOS 设备联网上云

小石猛猛冲
发布于 2022-7-27 14:37
浏览
0收藏

@toc

1.对接华为loT平台

1.1华为loT平台介绍

华为云物联网平台即华为设备接入服务(loT Device Access),提供海量设备连接上云、设备和云端双向消息通信、批量设备管理、远程控制和监控、OTA升级、设备联动规则等能力,并可将设备数据灵活流转到华为云其他服务,帮助物联网行业用户快速完成设备联网及行业应用集成。


HarmonyOS 设备联网上云-鸿蒙开发者社区

华为loT平台地址:
https://www.huaweicloud.com/product/iothub.html

1.2华为loT平台产品创建

产品模型用于描述设备具备的能力和特性。开发者通过定义产品模型,在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的服务、属性、命令等信息,如颜色、开关等。

HarmonyOS 设备联网上云-鸿蒙开发者社区

服务信息

服务ID 服务类型
Agriculture Senser


属性信息

属性名称 数据类型
Temperature int
Humidity int
Luminance int
LightStatus string
MotorStatus string


命令信息

命令名称 参数名称 数据类型 长度 枚举
Agriculture_Control_light Light string 3 ON,OFF
Agriculture_Control_Motor Motor string 3 ON,OFF

1.3设备对接华为loT平台

打开“D6_iot_cloud_oc”工程的iot_cloud_oc_sample.c文件,查看实现MQTT协议对接华为loT平台的代码。

代码展示:

static int task_main_entry(void)
{
    app_msg_t *app_msg;

    uint32_t ret = WifiConnect("Hold", "0987654321");

    device_info_init(CLIENT_ID, USERNAME, PASSWORD);
    oc_mqtt_init();
    oc_set_cmd_rsp_cb(oc_cmd_rsp_cb);

    while (1)
    {
        app_msg = NULL;
        (void)osMessageQueueGet(mid_MsgQueue, (void **)&app_msg, NULL, 0U);
        if (NULL != app_msg)
        {
            switch (app_msg->msg_type)
            {
            case en_msg_cmd:
                deal_cmd_msg(&app_msg->msg.cmd);
                break;
            case en_msg_report:
                deal_report_msg(&app_msg->msg.report);
                break;
            default:
                break;
            }
            free(app_msg);
        }
    }
    return 0;
}


案例演示

案例将演示如何在BearPi-HM_Nano开发板上使用MQTT协议连接华为IoT平台,需要将E53_IA1智慧农业扩展板BearPi-HM_Nano开发板安装在一起。

详细操作见:
https://www.bilibili.com/video/BV1tv411b7SA?p=30&share_source=copy_web&vd_source=8f1cf1d7278a65d1271a6ccbd8891dc6 P30

如果没有板子,可在下面链接处购买
E53_IA1智慧农业扩展板购买地址: https://item.taobao.com/item.htm?id-607878490044

2.对接OneNET平台

2.1 OneNET平台介绍

OneNET是中国移动打造的高效、稳定、安全的物联网开放平台。OneNET支持适配各种网络环境和协议类型,可实现各种传感器和智能硬件的快速接入,提供丰富的API和应用模板以支撑各类行业应用和智能硬件的开发,有效降低物联网应用开发和部署成本,满足物联网领域设备连接、协议适配、数据存储、数据安全以及大数据分析等平台级服务需求。

HarmonyOS 设备联网上云-鸿蒙开发者社区

OneNET平台地址:
https://open.iot.10086.cn/develop/global/product/#/console

2.2 OneNET平台产品创建

OneNET平台资源(包括设备,APlKey,触发器,应用等)的集合,一个产品对应唯一的masterkey、产品ID,设备注册码,一个产品下包含多个具备同一特征的设备,多个设备之间的唯一性由SN来区分

HarmonyOS 设备联网上云-鸿蒙开发者社区

教程地址:
https://gitee.com/bearpi/bearpi-hm_nano/blob/master/applications/BearPi/BearPi-HM_Nano/sample/D7_iot_cloud_onenet/README.md

2.3 设备对接OneNET平台

打开“D7_iot_cloud_onenet”工程的iot_cloud_onenet_sample.c文件,查看实现MQTT协议对接OneNET平台的代码

代码展示:

void MQTT_Report_Task(void)
{

    WifiConnect(Wifi_SSID, Wifi_PASSWORD);
    device_info_init(ONENET_INFO_DEVID, ONENET_INFO_PROID, ONENET_INFO_AUTH, ONENET_INFO_APIKEY, ONENET_MASTER_APIKEY);
    onenet_mqtt_init();
    onenet_set_cmd_rsp_cb(onenet_cmd_rsp_cb);
    while (1)
    {

        onenet_mqtt_upload_digit("Temperature", (int)E53_IA1_Data.Temperature);
        onenet_mqtt_upload_digit("Humidity", (int)E53_IA1_Data.Humidity);
        onenet_mqtt_upload_digit("Luminance", (int)E53_IA1_Data.Lux);

        sleep(1);
    }
}


详细操作见:
https://www.bilibili.com/video/BV1tv411b7SA?p=30&share_source=copy_web&vd_source=8f1cf1d7278a65d1271a6ccbd8891dc6 P31 

已于2022-11-23 20:54:39修改
4
收藏
回复
举报
回复
    相关推荐