摘要:本文简单介绍如何接入OneNET云平台
适合群体:适用于润和Hi3861开发板
文中所有代码仓库:OpenHarmony润和3861智能家居套件代码仓库: 润和3861智能家居套件代码仓库

12.1 OneNET云介绍

通常来说,一个物联网产品应当包括设备、云平台、手机APP。我将在鸿蒙系统上移植MQTT协议、OneNET接入协议,实现手机APP、网页两者都可以远程(跨网络,不是局域网的)访问开发板数据,并控制开发板的功能。

理论上来说,任何以MQTT协议为基础的物联网云平台都可以支持接入。

关于phomqtt 和onenet软件包,已提供下载,声明:所有源码均遵守开源协议~~。

支持鸿蒙系统的 harmony_mqtt 代码仓库:
harmony_mqtt: 支持鸿蒙系统的MQTT库,在paho mqtt基础上实现

支持鸿蒙系统的 onenet接入软件包仓库:

harmony_onenet: 支持鸿蒙系统的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 %.*s\n", 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} \r\n", value);}sleep(1);}return 0;
}

手机APP下载:『OneNET设备云平台』云平台对接服务_智能设备

12.4 OneNET平台使用

首先我们要注册账号,OneNET平台地址:
OneNET - 中国移动物联网开放平台
然后进入控制台,鼠标放在全部产品服务,选择多协议接入

选择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

OpenHarmony轻量系统开发【12】OneNET云接入相关推荐

  1. OpenHarmony轻量系统开发【1】初始OpenHarmony

    摘要:本文简单介绍OpenHarmony.轻量系统.小型系统.标准系统的差异,以及相关的官方资料和文档 适合群体:第一次接触OpenHarmony.或者想要对OpenHarmony有一个全面的认知的. ...

  2. OpenHarmony轻量系统开发【11】移植MQTT

    摘要:本文简单介绍如何移植MQTT 适合群体:适用于润和Hi3861开发板 文中所有代码仓库:https://gitee.com/qidiyun/hihope-3861-smart-home-kit ...

  3. OpenHarmony轻量系统开发【13】鸿蒙小车开发

    摘要:本文简单介绍鸿蒙系统 + Hi3861 的WiFi小车开发 适合群体:适用于润和Hi3861开发板 文中所有代码仓库:https://gitee.com/qidiyun/hihope-3861- ...

  4. OpenHarmony轻量系统开发【14】使用语音控制鸿蒙小车

    摘要:本文简单介绍如何使用语音控制鸿蒙小车 适合群体:适用于润和Hi3861开发板 文中所有代码仓库:https://gitee.com/qidiyun/hihope-3861-smart-home- ...

  5. OpenHarmony轻量系统 子系统,组件那点事

    OpenHarmony整体遵从分层设计,从下向上依次为:内核层.系统服务层.框架层和应用层.系统功能按照"系统 > 子系统 > 组件"逐级展开,在多设备部署场景下,支持 ...

  6. OpenHarmony 平头哥玄铁架构 轻量系统移植—润和W800移植分享

    本方案基于OpenHarmony LiteOS-M内核,使用联盛德W800芯片的润和软件海王星系列[Neptune100开发板](https://gitee.com/openharmony-sig/d ...

  7. 你玩过轻量系统软总线应用吗?

    项目概述 可能有些同学已经接触过了标准系统上的软总线应用开发,但是你玩过轻量系统上的软总线应用吗?现在它来了.我们利用OpenAtom OpenHarmony 3.1 Release(以下简称&quo ...

  8. 【安卓开发系列 -- 系统开发】搭建云手机容器环境 (基于 openvmi)

    [安卓开发系列 -- 系统开发]搭建云手机容器环境 (基于 openvmi) [1]编译安装 openvmi [1.1]安装相关依赖 apt install -y build-essential cm ...

  9. 什么是轻量应用服务器?与阿里云ecs和虚拟主机有什么区别?阿里云优惠券领取...

    什么是阿里云轻量应用服务器? 轻量应用服务器是面向入门级云计算及简单应用用户,提供基于单台云服务器的域名管理.应用部署.安全和运维管理的一站式综合服务.用户可以选择精品应用镜像(比如wordpress ...

最新文章

  1. 【ZZ】使用github管理Eclipse分布式项目开发
  2. PHP base64
  3. 实现两个数的交换(异或,加减)
  4. JS高效数据存取指南
  5. c++rpg黑框游戏_c++实现简单RPG对战游戏的代码.doc
  6. LED显示驱动(五):视频设备显示驱动调试步骤总结
  7. Maven For Mac下的环境搭建
  8. CentOS安装postgresql9.1
  9. Spring 注解编程之注解属性别名与覆盖
  10. Mac OS X Snow Leopard 10.6下载及安装
  11. 程序员面试题分享,掌握八成便可BAT一试!
  12. AMS1117-3.3的电路分析
  13. l2逐笔接口更新的频率是多少?
  14. 一起talk C栗子吧(第一百零三回:C语言实例--进程间通信大阅兵)
  15. 论文略读 | Pointing the Unknown Words
  16. 尝试使用Visual studio编写Android程序C++的跨平台开发Android
  17. VTK 实现MinIP Activiz
  18. win系统excel、txt文件传到linux,行列数对不齐,乱码的的问题
  19. 《紫川》之帝都风云 第二卷
  20. 如何对镶嵌数据集进行色彩平衡

热门文章

  1. springMVC例子
  2. outlook接收邮件后右下角没有弹窗通知问题解决
  3. 渗透测试 | 几款常用的CMS识别「Web指纹识别」扫描脚本工具(含下载地址)
  4. 计算机网络如何设置路由器,没有网络怎么设置路由器?
  5. JS实现中文转拼音(首字母大写和首字母简拼)通用于mui、小程序等
  6. VSCode 代码自动对齐快捷键
  7. [精]Java I/O流的递进式学习
  8. 关于flash地址线的计算方式
  9. python实现淘宝定时抢购简易版
  10. 第 18 章:挂印封刀,数据类型转换工厂设计实现