MQTTX连接华为云IoTDA

news2024/12/24 20:48:19

目录

华为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.coloradmin.cn/o/1939412.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NLP: 词袋模型和TFIDF模型

文章目录 词袋模型TF-IDF模型词汇表模型 词袋模型 文本特征提取有两个非常重要的模型&#xff1a; 词集模型&#xff1a;单词构成的集合&#xff0c;集合自然每个元素都只有一个&#xff0c;也即词集中的每个单词都只有一个。 词袋模型&#xff1a;在词集的基础上如果一个单词…

DDPM扩散模型(模型结构图与公式推导)

DDPM扩散模型 一、前置知识 1. 条件概率知识 P ( A ∣ B ) P ( A B ) P ( B ) P(A|B) \frac{P(AB)}{P(B)} P(A∣B)P(B)P(AB)​ P ( A B C ) P ( C ∣ B A ) P ( B A ) P ( C ∣ B A ) P ( B ∣ A ) P ( A ) P(A B C) P(C|B A)P(BA) P(C|B A)P(B|A)P(A) P(ABC)P(C∣BA)P…

Java | 自制AWT单词猜一猜小游戏(测试版)

目录 游戏标题 开发过程 开发想法 技术栈 代码呈现 导包 核心代码 游戏标题 探索知识的迷宫&#xff0c;体验自制AWT单词猜一猜小游戏 在数字时代&#xff0c;学习可以是多彩的&#xff0c;游戏可以是智慧的。我们自豪地推出“单词猜猜猜”是一款结合了教育与娱乐的自制…

NODEJS复习(ctfshow334-344)

NODEJS复习 web334 下载源码代码审计 发现账号密码 代码逻辑 var findUser function(name, password){ return users.find(function(item){ return name!CTFSHOW && item.username name.toUpperCase() && item.password password; }); }; 名字不等于ctf…

2015年全国大学生数学建模竞赛B题出租车资源配置(含word论文和源代码资源)

文章目录 一、部分题目二、部分论文三、部分源代码问题1问题3 四、完整word版论文和源代码 一、部分题目 2015高教社杯全国大学生数学建模竞赛题目 B题 “互联网”时代的出租车资源配置 出租车是市民出行的重要交通工具之一&#xff0c;“打车难”是人们关注的一个社会热点问…

【CSS in Depth 2 精译_019】3.2 CSS 的盒模型

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一章 层叠、优先级与继承&#xff08;已完结&#xff09; 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位&#xff08;已完结&#xff09; 2.1 相对…

STM32基础篇:USART(下)

双缓冲与连续发送 双缓冲 在发送数据的时候&#xff0c;首先将要发送的字节写入TDR中&#xff0c;然后TDR将此字节发生给移位寄存器&#xff0c;由移位寄存器执行串并转换&#xff0c;通过Tx引脚逐个比特位发送出去。 在此过程中&#xff0c;存在两级缓冲&#xff0c;即双缓…

[GIS实验]居住环境适宜性评价

目的&#xff1a; 拟购买住宅&#xff0c;需在现有条件下&#xff0c;基于地理空间分析方法和空间认知模型对居住环境进行综合评价。通过该实验掌握基于GIS的地理空间认知方法及土地适宜性评价基本原理与方法。 数据&#xff1a; &#xff08;1&#xff09;人口调查图&#…

记录uni-app横屏项目:自定义弹出框

目录 前言&#xff1a; 正文&#xff1a; 前言&#xff1a;横屏的尺寸问题 最近使用了uniapp写了一个横屏的微信小程序和H5的项目&#xff0c;也是本人首次写的横屏项目&#xff0c;多少是有点踩坑不太适应。。。 先说最让我一脸懵的点&#xff0c;尺寸大小&#xff0c;下面一…

探索Python错误美化:pretty_errors库的魔法之旅

探索Python错误美化&#xff1a;pretty_errors库的魔法之旅 背景&#xff1a;为什么需要pretty_errors&#xff1f; 在Python编程中&#xff0c;错误和异常是不可避免的。然而&#xff0c;Python默认的错误信息往往不够直观&#xff0c;对于新手来说可能难以理解。pretty_erro…

MySQL学习之InnoDB引擎,索引

Mysql中的引擎 我们先来看一下MySql提供的有哪些引擎 mysql> show engines; 从上图我们可以查看出 MySQL 当前默认的存储引擎是InnoDB,并且在5.7版本所有的存储引擎中只有 InnoDB 是事务性存储引擎&#xff0c;也就是说只有 InnoDB 支持事务。 查看MySQL当前默认的存储引…

Transformer之Vision Transformer结构解读

论文地址 代码地址 写在前面 什么是Transformer呢&#xff1f;就是把符号向量化为Token&#xff0c; 再和位置编码求和或者做阿达玛积&#xff0c;最后送入一定层数的Attention Block构成的Encoder和Decoder&#xff0c;就完成了Transformer的基础功能。 那么&#xff0c;把上…

关于模的问题

写代码的时候遇到模的问题 class Solution:def countCompleteDayPairs(self, hours: List[int]) -> int:ans 0t [0 for _ in range(24)]for h in hours:u (24-h%24)%24ans t[u]t[h%24] 1return ans如果写成 u (24-h%24) 是不对的&#xff0c;没有考虑h等于0的情况

【多任务YOLO】 A-YOLOM: You Only Look at Once for Real-Time and Generic Multi-Task

You Only Look at Once for Real-Time and Generic Multi-Task 论文链接&#xff1a;http://arxiv.org/abs/2310.01641 代码链接&#xff1a;https://github.com/JiayuanWang-JW/YOLOv8-multi-task 一、摘要 高精度、轻量级和实时响应性是实现自动驾驶的三个基本要求。本研究…

51单片机(STC8H8K64U/STC8051U34K64)_RA8889驱动TFT大屏_I2C_HW参考代码(v1.3) 硬件I2C方式

本篇介绍单片机使用硬件I2C方式控制RA8889驱动彩屏。 提供STC8H8K64U和STC8051U34K64的参考代码。 【硬件部份】STC8H8K64U/STC8051U34K64 RA8889开发板 7寸TFT 800x480 1. 实物连接图&#xff1a;STC8H8K64URA8889开发板&#xff0c;使用P2口I2C接口&#xff1a; 2.实物连…

怎样制作高品质的电子画册,一看就会

随着数字化进程的加速&#xff0c;电子画册以其便捷的传播方式、丰富的展现形式&#xff0c;越来越受到各类人士的青睐。一份高品质的电子画册&#xff0c;不仅需要有吸引人的内容&#xff0c;更需要有专业的制作技巧。下面&#xff0c;就让我来为您详细解析&#xff0c;如何制…

量子计划 Quark 捯饬

1 蓝牙 系统镜像中具有内置的蓝牙驱动程序&#xff0c;可以按照以下步骤启动蓝牙&#xff1a; bluetoothctl# 进入 bluetoothctl 界面后。运行scan扫描列出附近所有的蓝牙设备 scan on# 复制设备的MAC地址&#xff0c;然后使用以下命令连接到设备&#xff1a; pair A4:xx:xx:…

艺术与技术的交响曲:CSS绘图的艺术与实践

在前端开发的世界里&#xff0c;CSS&#xff08;层叠样式表&#xff09;作为网页布局和样式的基石&#xff0c;其功能早已超越了简单的颜色和间距设置。近年来&#xff0c;随着CSS3的普及&#xff0c;开发者们开始探索CSS在图形绘制方面的潜力&#xff0c;用纯粹的代码创造出令…

32_ConvNeXt网络详解

1.1 简介 ConvNeXt是一种计算机视觉模型&#xff0c;由Meta AI&#xff08;前Facebook AI&#xff09;的研究人员在2022年提出&#xff0c;它旨在探索卷积神经网络&#xff08;CNN&#xff09;在图像识别任务上的潜力&#xff0c;尤其是在与当时流行的Vision Transformer&…

【windows】【系统还原】亦是美kms执行一键关闭defender 之后,windows defender 被卸载了,无论如何都打不开

在那之后&#xff0c;你是否一直无法启动 defender&#xff1f;&#xff1f;&#xff1f; 你是否一直担心电脑的安全问题&#xff1f;&#xff1f; 我也尝试了很多方法 无论是 powershell 执行 dism.exe /online /cleanup-image /scanhealth dism.exe /online /cleanup-ima…