当前位置: 首页 > 科技观察

OpenHarmony轻量级系统开发OneNET云接入

时间:2023-03-22 12:12:46 科技观察

更多内容请访问:与华为官方共建的鸿蒙技术社区https://harmonyos.51cto.com摘要:本文简单介绍如何接入OneNET云平台适合人群:适用于润和Hi3861开发板内所有代码库:https://gitee.com/qidiyun/hihope-3861-smart-home-kit12.1OneNET云介绍总体来说,一个物联网产品应包括设备、云平台和移动应用程序。我会将MQTT协议和OneNET访问协议移植到鸿蒙系统中,让手机APP和网页都可以远程(跨网络,非局域网)访问开发板数据,控制开发板的功能。理论上,任何基于MQTT协议的物联网云平台都可以支持接入。关于phomqtt和onenet软件包,已提供下载,并声明:所有源代码遵守开源协议~~。支持HarmonyOS的harmony_mqtt代码仓库:https://gitee.com/qidiyun/harmony_mqtt支持HarmonyOS的onenetaccess软件仓库:https://gitee.com/qidiyun/harmony_onenet12.2效果演示先看效果第一的。我这里使用的是OneNET物联网云平台。当我进入应用程序时,我可以看到以下网页界面。本网页的温湿度数据由鸿蒙开发板(Hi3861)上传,有开关按钮控制开发板的LED灯。此外,还提供手机APP。上面的界面比较简单,但是并不妨碍我们的使用。选择OneNET云平台的主要原因是接入方式比较简单方便,简单易学。另外一个是OneNET提供了物联网云平台,对于手机APP,不需要自己去实现,可以更专注于鸿蒙系统的开发。12.3OneNET软件包我已经以软件包的形式发布了mqtt和onenet。两个软件包分别是(1)onenet——实现onenet的访问能力(2)pahomqtt——实现MQTT协议的功能。把这两个软件包放在third_party文件夹下就行了。然后修改一下onenet文件夹:onenet.h是头文件onenet_mqtt.c是整个源码,它是基于pahomqtt的MQTTClient编程模型。添加以下示例并添加以下内容:#include#include#include"MQTTClient.h"#include"onenet.h"#defineONENET_fine519.6"#DEVID28"ONENET_INFO_AUTH"202005160951"#defineONENET_INFO_APIKEY"zgQdlB5y3Bi9pNd2bUYmS8TJHIY="#defineONENET_INFO_PROID"345377"#defineONENET_MASTER_APIKEY"gwaK2wJT5wgnSbJYz67CVRGvwkI="externintrand(void);voidonenet_cmd_rsp_cb(uint8_t*recv_data,size_trecv_size,uint8_t**resp_data,size_t*resp_size){printf("recv_data是%.*s\n",recv_size,recv_data);*resp_data=NULL;*resp_size=0;}intmqtt_test(void){device_info_init(ONENET_INFO_DEVID,ONENET_INFO_PROID,ONENET_INFO_AUTH,ONENET_INFO_APKEY,ONENET_MASTER_APIKEY);onenet_mqtt_init();onenet_set_cmd_rsp_cb(onenet_cmd_rsp_cb);while(1){int值=0;值=随机数();if(onenet_mqtt_upload_digit("temperature",value)<0){printf("上传有错误,停止上传");//break;}else{printf("buffer:{\"temperature\":%d}\r\n",value);}sleep(1);}return0;}手机APP下载:https://open.iot.10086.cn/doc/art656.html#11812.4要使用OneNET平台,首先我们需要注册一个账号,OneNET平台地址:https://open.iot。10086.cn/然后进入控制台,鼠标放在所有产品和服务上,选择多协议接入,选择旧版MQTT,点击创建产品,这里我们可以根据自己的需要填写相关信息,然后我们可以选择添加设备,填写信息和地理位置,认证信息可以随意填写12.5OneNET设备信息代码中,我们需要填写以下认证信息:#defineONENET_INFO_DEVID“597952816”#defineONETHNET_INFO905“20201”12.5OneNET设备信息代码中,我们需要填写以下认证信息defineONENET_INFO_APIKEY“zgQdlB5y3Bi9pNd2bUYmS8TJHIY=”#defineONENET_INFO_PROID“345377”#defineONENET_MASTER_APIKEY“gwaK2wJT5wgnSbJYz67CVRGvwkI=”(1)ONENET_INFO_DEVID和ONENET_INFO_AUTH设备ID和身份验证信息n可以通过查看设备详情获取:(2)ONENET_INFO_APIKEYApikey可以通过添加apikey获取(3)ONENET_INFO_PROID和ONENET_MASTER_APIKEY可以通过查看productID和masterkey获取。想了解更多请访问:与华为官方共建的鸿蒙技术社区https://harmonyos.51cto.com