MQTTX连接华为云IoTDA

目录

华为IoTDA平台

MQTTX连接参数的设置

物模型的构建

属性上报

基本数据格式

时戳


我以前上课都是用巴法云服务器来演示MQTT的,前几天因为测试工业互联网关使用了华为的IoTDA,觉得也不算太复杂,今天尝试用MQTTX连接华为云,看看要不要在课上讲这个。

华为IoTDA平台

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

有关华为IoTDA平台上如何创建产品和设备,请参见前面写得博文:【HZHY-AI300G智能盒试用连载体验】在华为IoTDA平台上建立设备-CSDN博客。

MQTTX连接参数的设置

MQTTX所需要的连接参数可以在云平台的左栏中 “设备→所有设备“,然后选定要使用的设备,进入设备详情后,选择”MQTT连接参数:查看” 中找到。我选择非SSL模式,这里的端口信息一定要选择1883。如果要使用SSL,则端口为8883,则在服务器和MQTTX中都需要配置CA证书。

然后,我们就可以根据以上参数设置MQTTX的连接参数。

物模型的构建

当产品下定义物模型,设备按照物模型定义呈现上报的属性数据,服务器就会自动进行解析,从而方便进行数据处理。

在线开发产品模型前需要创建产品。创建产品需要输入产品名称、协议类型、数据格式、所属行业和设备类型等信息,产品模型会使用这些信息作为设备能力字段取值。物联网平台提供了标准模型和厂商模型,这些模型涉及多个领域,模型中提供了已经编辑好的产品模型文件,您可以根据自己的需要对产品模型中的字段进行修改和增删;如果选择自定义产品模型,则需要完整定义产品模型。

操作步骤如下:

  1. 访问设备接入服务,单击“管理控制台”进入“设备接入”控制台。
  2. 单击左侧导航栏的“产品”,在产品列表中,找到对应的产品,单击产品进入产品详情页。
  3. 在产品详情模型定义页面,单击“自定义模型”,添加服务。
  4. 输入“服务ID”、“服务类型”和“服务描述”,然后单击“确认”。

    • “服务ID”:采用首字母大写的命名方式。比如:WaterMeter、温湿度。
    • “服务类型”:建议和服务ID保持一致。
    • “服务描述”:比如路灯上报的环境光强度和路灯开关状态的属性。

    添加服务后,在“添加服务”区域,对属性和命令进行定义。每个服务下,可以包含属性和命令,也可以只包含其中之一,请根据此类设备的实际情况进行配置。

  5. 单击步骤4新增的服务ID,在展开的页面单击“新增属性”,在弹出窗口中配置属性的各项参数,然后单击“确定”。

    参数

    说明

    属性名称

    建议采用驼峰形式,如batteryLevel、internalTemperature。

    数据类型

    • int:当上报的数据为整数时,可配置为此类型。
    • long: 当上报的数据为长整型时,可配置为此类型。
    • decimal:当上报的数据为小数时,可配置为此类型。配置“经纬度”属性时,数据类型建议使用“decimal”。
    • string:当上报的数据为字符串、枚举值时,可以配置为此类型。如果为枚举值,值之间需要用英文逗号(“,”)分隔。
    • dateTime:当上报的数据为日期时,可以配置为此类型。

      此类型属性上报格式推荐样例:2020-09-01T18:50:20Z或者2020-09-01T18:50:20.200Z

    • jsonObject:当上报的数据为JSON结构体时,可以配置为此类型。
    • enum: 当上报的数据为枚举值时,可配置为此类型。

      搭配参数enumList格式填写,比如状态属性的enumList填写为OPEN,CLOSE,那么属性上报格式样例为"OPEN"或者"CLOSE"

    • boolean: 当上报的数据为布尔值时,可配置为此类型。

      此类型属性上报推荐格式样例:true/false 或者 0/1

    • stringList: 当上报的数据为字符串数组时,可配置为此类型。

    此类型属性上报推荐格式样例:["str1","str2","str3"]

    访问权限

    • 可读:通过接口可以查询该属性。
    • 可写:通过接口可以修改该属性值。

    取值范围

    请根据此类设备的实际情况进行配置。

    步长

    单位

属性上报

属性上报的topic是$oc/devices/<deviceid>/sys/properties/report,其中的deviceid用真实的设备ID代替。

基本数据格式

数据的基本格式如下:

{"services": [{"serviceId": "温湿度","properties": {"温度": 20,"湿度": 4},"event_time": "20230321T081126Z" }]
}

其中 event_time字段是时戳,可以省略。如果省略,服务器会把接收时间作为时戳。

我们可以用MQTTX发送上面的信息给服务器。

华为IoT服务器收到属性上报后,会自动解析其中的字段,并显示。

时戳

华为IoT云中的event_time字段,如20230321T081126Z,是一个遵循ISO 8601日期和时间表示法的字符串。这种格式被广泛应用于各种系统和服务中,以确保日期和时间的全球一致性和可解析性。

ISO 8601是一种国际标准,用于表示日期和时间。它定义了一种全球通用的日期和时间表示方法,以避免不同国家和地区之间的混淆。ISO 8601日期和时间字符串的基本格式是:

YYYYMMDDThhmmssZ
  • MM:两位数的月份(01=1月,...,12=12月)
  • DD:两位数的日(01=1日,...,31=31日)
  • T:日期和时间之间的分隔符
  • hh:两位数的小时(00=午夜,23=晚上11点)
  • mm:两位数的分钟(00=0分钟,59=59分钟)
  • ss:两位数的秒(00=0秒,59=59秒)
  • Z:表示协调世界时间(UTC),也称为格林尼治标准时间(GMT)

这个时间通常是由事件发生的系统或设备自动生成的。当某个事件(如设备上报数据、状态变化等)发生时,系统会根据当前的UTC时间,按照ISO 8601格式生成一个时间戳,并将其作为event_time字段的值存储在事件记录中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/383007.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python读取grib数据获取变量推荐姿势

前情提要 最近使用的EC和GFS预报数据给的都是grib2格式的&#xff0c;之前用惯nc格式的&#xff0c;python读取grib2数据的时候还走了些弯路&#xff0c;看到很多博客上给的教程其实不能满足我的需求&#xff0c;现在搞明白了分享一下 pygrib安装 第一个问题就是我电脑上pyg…

HTTPS 的加密过程 详解

HTTP 由于是明文传输&#xff0c;所以安全上存在以下三个风险&#xff1a; 窃听风险&#xff0c;比如通信链路上可以获取通信内容。篡改风险&#xff0c;比如通信内容被篡改。冒充风险&#xff0c;比如冒充网站。 HTTPS 在 HTTP 与 TCP 层之间加入了 SSL/TLS 协议&#xff0c…

1 go语言环境的搭建

本专栏将从基础开始&#xff0c;循序渐进&#xff0c;由浅入深讲解Go语言&#xff0c;希望大家都能够从中有所收获&#xff0c;也请大家多多支持。 查看相关资料与知识库 专栏地址:Go专栏 如果文章知识点有错误的地方&#xff0c;请指正&#xff01;大家一起学习&#xff0c;…

腾讯云k8s相关

1.某个服务腾讯云内网地址&#xff1f; 比如&#xff1a;spiderflow-web正式环境&#xff1a;http://spiderflow-web.sd-backend:30001 试一试&#xff1a;

Linux shell实现执行任务进度条动态显示(回旋镖)-3

process_bar.sh #!/bin/bash #display boomerangwhile : doclearfor i in {1..20}doecho -e "\033[2;${i}H*"sleep 0.1doneclearfor i in {20..1}doecho -e "\033[2;${i}H*"sleep 0.1doneclear done验证&#xff1a;

机器学习笔记-01-初识基础(问题-解答自查版)

前言 以下问题以Q&A形式记录&#xff0c;基本上都是笔者在初学一轮后&#xff0c;掌握不牢或者频繁忘记的点 Q&A的形式有助于学习过程中时刻关注自己的输入与输出关系&#xff0c;也适合做查漏补缺和复盘。 本文对读者可以用作自查&#xff0c;答案在后面&#xff0…

(35)远程识别(又称无人机识别)(二)

文章目录 前言 4 ArduRemoteID 5 终端用户数据的设置和使用 6 测试 7 为OEMs添加远程ID到ArduPilot系统的视频教程 前言 在一些国家&#xff0c;远程 ID 正在成为一项法律要求。以下是与 ArduPilot 兼容的设备列表。这里(here)有一个关于远程 ID 的很好解释和常见问题列表…

ubuntu那些ppa源在哪

Ubuntu中的 PPA 终极指南 - UBUNTU粉丝之家 什么是PPA PPA 代表个人包存档。 PPA 允许应用程序开发人员和 Linux 用户创建自己的存储库来分发软件。 使用 PPA&#xff0c;您可以轻松获取较新的软件版本或官方 Ubuntu 存储库无法提供的软件。 为什么使用PPA&#xff1f; 正如…

VLC输出NDI媒体流

目录 1. 下载安装VLC Play 2. 首先在电脑上安装NDI Tools 3. 运行VLC进行输出配置 4. 播放视频 5. 验证 (1)用Studio Monitor验证 (2)用OBS验证 NDI(Network Device Interface)即网络设备接口,是由美国 NewTek 公司开发的免费标准,它可使兼容的视频产品以高质量…

视图、存储过程、触发器

一、视图 视图是从一个或者几个基本表&#xff08;或视图&#xff09;导出的表。它与基 本表不同&#xff0c;是一个虚表&#xff0c;视图只能用来从查询&#xff0c;不能做增删改(虚拟的表) 1.创建视图 创建视图的语法&#xff1a; create view 视图名【view_xxx / v_xxx】 a…

基于CALMET诊断模型的高时空分辨率精细化风场模拟

原文链接&#xff1a;基于CALMET诊断模型的高时空分辨率精细化风场模拟https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247610033&idx7&sn999fb0fa3a0e57acebdfe209587ce7f3&chksmfa826f56cdf5e640f7dba429a9213a38d1222415eccd8660f4cf9fb46fa1a5ab3c5…

Netty:基于NIO的 Java 网络应用编程框架

Netty 是一个被广泛使用的&#xff0c;基于NIO的 Java 网络应用编程框架&#xff0c;Netty框架可以帮助开发者快速、简单的实现客户端和服务端的网络应用程序。“快速”和“简单”并不用产生维护性或性能上的问题。Netty 利用 Java 语言的NIO网络编程的能力&#xff0c;并隐藏其…

JavaWeb笔记_JSPEL

一.JSP相关技术 1.1 JSP由来 当我们需要向页面输出大量的HTML代码的时候,我们需要通过response对象写多次来输出HTML代码 response.getWriter().write("<font>文本</font>"); 页面的展示和servlet密不可分,不利于后期代码维护,因此推出一种可以…

记录一仿真错误,波形缩放有脉冲高信号,放大看不到信号了

是因为信号拉高的时间太短&#xff0c;拉高之后又把它拉低了&#xff0c;需要仔细看一下信号生成的代码。 错误代码与正确代码##正确代码always (posedge clk or negedge rst_n)begin if(!rst_n)beginwr_en < 1d0;wr_data < 8h0;endelse if(state_c DATASEND …

前端JS特效第52波:鼠标经过文字标题百叶窗动画特效风格切换图片轮播js效果

鼠标经过文字标题百叶窗动画特效风格切换图片轮播js效果&#xff0c;先来看看效果&#xff1a; 部分核心的代码如下&#xff1a; <html><head><meta charset"utf-8"><title>鼠标经过文字标题百叶窗动画特效风格切换图片轮播js效果</titl…

electron 网页TodoList应用打包win桌面软件数据持久化

参考&#xff1a; electron 网页TodoList工具打包成win桌面应用exe https://blog.csdn.net/weixin_42357472/article/details/140648621 electron直接打包exe应用&#xff0c;打开网页上面添加的task在重启后为空&#xff0c;历史没有被保存&#xff0c;需要持久化工具保存之前…

【Unity国产化信创平台】麒麟银河V10系统虚拟机创建

目录 一、麒麟V10系统镜像下载 二、虚拟机创建流程 三、麒麟银河系统安装流程 一、麒麟V10系统镜像下载 https://www.kylinos.cn/# 官方访问还是会有问题&#xff0c;如果有需要麒麟银河Kylin系统V10的镜像文件&#xff0c;可以留下邮箱或者私信博主获取。 二、虚拟机创…

【Gin】架构的精妙编织:Gin框架中组合模式的革新实践与技术深度解析(上)

【Gin】架构的精妙编织&#xff1a;Gin框架中组合模式的革新实践与技术深度解析(上) 大家好 我是寸铁&#x1f44a; 【Gin】架构的精妙编织&#xff1a;Gin框架中组合模式的革新实践与技术深度解析(上)✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 前言 本次文章分为上下两部分…

MySQL练手 --- 1251. 平均售价

题目链接&#xff1a;1251. 平均售价 思路&#xff1a; 由题意可知&#xff0c;Prices表和UnitsSold表&#xff0c;表的连接关系为一对一&#xff0c;连接字段&#xff08;匹配字段&#xff09;为product_id 要求&#xff1a;查找每种产品的平均售价。而Prices表含有价格还有…

【区块链+绿色低碳】双碳数字化管控平台 | FISCO BCOS应用案例

地方政府、园区及企业实现“双碳”目标过程中存在一些挑战与难点&#xff1a; 1. 管理者难以掌握完整、准确、全面的碳排放数据进行科学决策&#xff1a;由于碳排放核算需要对数据的来源、核算方法 的规范性和采集方法的科学性有严格要求&#xff0c;当前面临碳排放数据数据采…