OpenHarmony轻量系统研发OneNET云接入
发布时间:2022-02-19 03:51:39 所属栏目:系统 来源:互联网
导读:摘要:本文简单介绍如何接入OneNET云平台 适合群体:适用于润和Hi3861开发板 12.1 OneNET云介绍 通常来说,一个物联网产品应当包括设备、云平台、手机APP。我将在鸿蒙系统上移植MQTT协议、OneNET接入协议,实现手机APP、网页两者都可以远程(跨网络,不是局域
摘要:本文简单介绍如何接入OneNET云平台 适合群体:适用于润和Hi3861开发板 12.1 OneNET云介绍 通常来说,一个物联网产品应当包括设备、云平台、手机APP。我将在鸿蒙系统上移植MQTT协议、OneNET接入协议,实现手机APP、网页两者都可以远程(跨网络,不是局域网的)访问开发板数据,并控制开发板的功能。 理论上来说,任何以MQTT协议为基础的物联网云平台都可以支持接入。 关于phomqtt 和onenet软件包,已提供下载,声明:所有源码均遵守开源协议~~。 12.2 效果演示 先看下效果,我这边使用的是OneNET物联云平台,进入应用,可以看到如下网页界面。该网页的温度、湿度数据由 鸿蒙开发板(Hi3861)上传,同时有一个开关按钮,可以控制开发板的LED灯。 另外,也提供一个手机APP, 以上界面比较简陋,但不妨碍我们使用,另外选择OneNET云平台的主要是原因是接入方式比较简单方便,易于学习,另外一个是OneNET提供了物联网云平台、手机APP,不需要大家自己再去实现,可以更多地将注意力放在鸿蒙系统开发上。 12.3 OneNET软件包 我这边已经将mqtt 和 onenet 以软件包的形式发布,两个软件包分别是 (1)onenet——实现onenet 接入能力 (2)pahomqtt——实现MQTT协议功能 只需要将这两个软件包放到 third_party 文件夹下即可。然后修改 我们来看下onenet 文件夹: 其中 onenet.h 是头文件 onenet_mqtt.c 是全部源码,它基于paho mqtt的MQTTClient编程模型。 另外 samples文件夹下是一个示例代码,代码内容如下: 复制 #include <stdio.h> #include <unistd.h> #include "MQTTClient.h" #include "onenet.h" #define ONENET_INFO_DEVID "597952816" #define ONENET_INFO_AUTH "202005160951" #define ONENET_INFO_APIKEY "zgQdlB5y3Bi9pNd2bUYmS8TJHIY=" #define ONENET_INFO_PROID "345377" #define ONENET_MASTER_APIKEY "gwaK2wJT5wgnSbJYz67CVRGvwkI=" extern int rand(void); void onenet_cmd_rsp_cb(uint8_t *recv_data, size_t recv_size, uint8_t **resp_data, size_t *resp_size) { printf("recv data is %.*sn", recv_size, recv_data); *resp_data = NULL; *resp_size = 0; } int mqtt_test(void) { 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) { int value = 0; value = rand() % 100; if (onenet_mqtt_upload_digit("temperature", value) < 0) { printf("upload has an error, stop uploading"); //break; } else { printf("buffer : {"temperature":%d} rn", value); } sleep(1); } return 0; } 12.4 OneNET平台使用 首先我们要注册账号,OneNET平台地址: https://open.iot.10086.cn/ 然后进入控制台,鼠标放在全部产品服务,选择多协议接入 选择MQTT旧版,单击创建产品 这里我们可以按照我们的需求填写相关信息即可 之后可以选择添加设备 可以填写信息和填写地理位置,鉴权信息可以随意填写 12.5 OneNET设备信息 代码中,我们需要填写以下认证信息: 复制 #define ONENET_INFO_DEVID “597952816” #define ONENET_INFO_AUTH “202005160951” #define ONENET_INFO_APIKEY “zgQdlB5y3Bi9pNd2bUYmS8TJHIY=” #define ONENET_INFO_PROID “345377” #define ONENET_MASTER_APIKEY “gwaK2wJT5wgnSbJYz67CVRGvwkI=” (1)ONENET_INFO_DEVID 和 ONENET_INFO_AUTH 设备ID和鉴权信息,可以通过查看设备详情得到: (2)ONENET_INFO_APIKEY Api key,可以通过添加api key得到 (3)ONENET_INFO_PROID和ONENET_MASTER_APIKEY 这个可以查看产品ID和master key (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |