摘要:本文简单介绍如何接入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. [hdu6434]Problem I. Count
  2. mysql的语句分类,查询、子查询及连接查询
  3. 脚本自动配置ssh互信
  4. 菜鸟玩基金(四)——注意事项
  5. Ajax实现异步操作实例_针对XML格式的请求数据
  6. 单例模式---设计模式(一)
  7. Delphi关于StringGrid的公用模块[转]
  8. Ubuntu12 10下安装JDK7
  9. 如何让你在开发者工具中查看源代码有语法高亮和暗黑主题的效果
  10. 苹果开发者账号可以创建多少测试证书_苹果开发者账号相关问题解答—企业开发者账号...
  11. [Go] 函数/方法 的 变参
  12. 【Go语言】【11】GO语言的包和函数
  13. 【微信技术-微信小程序】------ 使用ColorUI组件简单入门
  14. 基于SRP创建自定义渲染管线
  15. 史上最详细的MySQL数据库安装教程(图文详解)
  16. ruoyi框架集成magic-api
  17. c语言无法定位程序输入点,WinXP提示无法定位程序输入点于动态链接库上的快速解决办法...
  18. css实现简单几何图形
  19. 怎样有效整理碎片化信息,提高学习效率
  20. c语言比php好学吗,php和c语言哪个难

热门文章

  1. 2023年全国最新二级建造师精选真题及答案19
  2. Spring Boot2+Resilience4j实现容错之Bulkhead
  3. 物联卡中心:不需要实名认证的物联网卡到底靠谱吗
  4. AndroidStudio与安卓手机链接调试(USB数据线链接)
  5. 电脑打开任务管理器出现卡顿
  6. 奥运冠军被奖一套房缴多少税?
  7. 【FFTNTT入门】大整数乘法
  8. win7计算机网络无法访问,windows7不能访问网上邻居的原因及解决方法
  9. rsync与 Inotify概述
  10. Unix shell范例精解 课后题