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.mzph.cn/diannao/49848.shtml

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

相关文章

【ARM】MDK-STM32g0xx.h文件与Define规则记录

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 记录问题STM32g0xx.h等有关ST的可读文件&#xff0c;尽量勿修改文件格式及对其代码进行添加和删减&#xff0c;记录查找问题的过程中的疑惑&#xff0c;并如何给予客户正确的回复&#xff0c;帮助销售完成验收&…

CefSharp音视频编译与免费下载

注&#xff1a;Cefharp 音频和视频播放编译&#xff0c;生成相应的dll文件&#xff0c;从而支持项目开发。 建议编译至少 16G 的 RAM和至少 250G 的 SSD。该脚本以 E 盘为例&#xff0c;您需要在 E 盘上手动创建 cef 文件夹。禁止在转载后通过发布其他平台向用户收取下载费用。…

新形势下职业教育大数据人才培养策略

一、引言 随着信息技术的飞速发展&#xff0c;大数据已成为驱动经济社会变革的关键力量。在新形势下&#xff0c;职业教育作为技术技能人才培养的重要阵地&#xff0c;面临着如何适应大数据时代要求、提升人才培养质量的紧迫任务。当前&#xff0c;职业教育在大数据人才培养方…

云HIS系统源码,业务云协同和数据云协同的数字化医院信息系统

云HIS是利用云计算、大数据、物联网、移动互联网等技术&#xff0c;打造的一个安全、便捷、共享、协同的医疗互联网云生态平台。核心功能是业务云协同和数据云协同。云HIS具有可扩展、易共享、易协同、低成本、体验号、更便捷、易维护的优势&#xff0c;重新定义了数字化医院信…

leetcode日记(49)旋转链表

其实不难&#xff0c;就是根据kk%len判断需要旋转的位置&#xff0c;再将后半段接在前半段前面就行。 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : …

uniapp的h5,读取本地txt带标签的文件

效果图 使用的回显的标签是u-parse&#xff0c;下面的网址讲了这个标签的相关 https://www.cnblogs.com/huihuihero/p/12978903.html 导入此插件 https://ext.dcloud.net.cn/plugin?id364 使用 uni.request({// 本地文件url: "/static/互联网医院医师端用户协议.txt…

C# datetimePicker

1. 直接把控件拉到设计器中&#xff0c;此时不要调整控件的values属性&#xff0c;这样就可以 打开后每次默认显示当天日期。 2. 属性Format long长日期格式默认值short短日期格式Time时间格式custom自定义时间格式在customFormat这个属性设置&#xff0c;比如yyyy-MM-dd HH…

Stage模型应用程序包结构

目录 官网地址 官网结构图 开发态包结构 工程目录结构 配置文件 module.json5配置文件 app.json5配置文件 官网地址 官网地址 包结构 官网结构图 开发态包结构 在DevEco Studio上创建一个项目工程&#xff0c;并尝试创建多个不同类型的Module&#xff08;类似一个一个的页…

jetbrains 、IntelliJ IDEA、PyCharm 等工具英语音译读音

本心、输入输出、结果 文章目录 jetbrains 、IntelliJ IDEA、PyCharm 等工具英语音译读音前言jetbrains 、IntelliJ IDEA、PyCharm 等工具英语音译读音jetbrains 、IntelliJ IDEA、PyCharm 等工具英语音译读音 编辑 | 简简单单 Online zuozuo 地址 | https://blog.csdn.net/qq_…

go-kratos 学习笔记(6) 数据库gorm使用

数据库是项目的核心&#xff0c;数据库的链接数据是data层的操作&#xff0c;选择了比较简单好用的gorm作为数据库的工具&#xff1b;之前是PHP开发&#xff0c;各种框架都是orm的操作&#xff1b;gorm还是很相似的&#xff0c;使用起来比较顺手 go-kratos官网的实例是ent&…

逆向案例二十九——某品威客登录,请求头参数加密,简单webpack

网址&#xff1a;登录- 一品威客网,创新型知识技能共享服务平台 抓到登陆包分析&#xff0c;发现请求头有参数加密&#xff0c;直接搜索 定位到加密位置&#xff0c;打上断点&#xff0c;很明显是对象f的a方法进行了加密。 往上找f&#xff0c;可以发现f被定义了&#xff0c;是…

pc端vue2实现截图功能

npm install js-web-screen-shot --save import ScreenShort from "js-web-screen-shot"; <button @click="screenhotFnc">点我截图</button> //最后生成一个数组,base格式,可循环渲染到页面上面 screenhotFnc() {new ScreenShort({//ap…

Android中Service学习记录

目录 一 概述二 生命周期2.1 启动服务startService()2.2 绑定服务bindService()2.3 先启动后绑定2.4 先绑定后启动 三 使用3.1 本地服务&#xff08;启动式&#xff09;3.2 可通信的服务&#xff08;绑定式&#xff09;3.3 前台服务3.4 IntentService 总结参考 一 概述 Servic…

【Android】广播机制

【Android】广播机制 前言 广播机制是Android中一种非常重要的通信机制&#xff0c;用于在应用程序之间或应用程序的不同组件之间传递信息。广播可以是系统广播&#xff0c;也可以是自定义广播。广播机制主要包括标准广播和有序广播两种类型。 简介 在Android中&#xff0c…

Istio_01_Istio初识

文章目录 IstioService Mesh Istio Istio: 以服务网格形态用于服务治理的开放平台和基础设施 本质: 以非侵入式治理服务之间的访问和调用服务治理: 流量管理、可观测性、安全性可同时管理多类基础设施(多种网络方案) 如: Istio和Kubernetes架构的结合 Istio通过Kubernetes的域…

Ubuntu 重置root密码

Ubuntu 重置root密码 当系统管理员或者授权用户忘记了root密码时&#xff0c;重置密码能够提供紧急访问系统的方法。这种情况下&#xff0c;重置密码可以避免因为密码丢失而导致的系统无法访问的问题&#xff0c;确保及时的操作和维护。在进行系统安全审计或者需要紧急恢复访问…

【学一点儿前端】getaddrinfo ENOTFOUND registry.nlark.com“.

问题 今天jenkins打包一个项目&#xff0c;发现报错了 error An unexpected error occurred: "https://registry.nlark.com/xxxxxxxxxx.tgz: getaddrinfo ENOTFOUND registry.nlark.com". 先写解决方案 把yarn.lock文件里面的registry.nlark.com替换为registry.npmmi…

<数据集>抽烟识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;4860张 标注数量(xml文件个数)&#xff1a;4860 标注数量(txt文件个数)&#xff1a;4860 标注类别数&#xff1a;1 标注类别名称&#xff1a;[smoking] 使用标注工具&#xff1a;labelImg 标注规则&#xff1a;对…

【时间动作定位】End-to-end Temporal Action Detection with Transformer 论文阅读

End-to-end Temporal Action Detection with Transformer 论文阅读 AbstractI. INTRODUCTIONII. RELATED WORKIII. TADTRA. ArchitectureB. Training and Inference IV. EXPERIMENTSV. CONCLUSION 文章信息&#xff1a; 发表于&#xff1a; IEEE Transactions on Image Proce…

四、GD32 MCU 常见外设介绍 (7) 7.I2C 模块介绍

7.1.I2C 基础知识 I2C(Inter-Integrated Circuit)总线是一种由Philips公司开发的两线式串行总线&#xff0c;用于内部IC控制的具有多端控制能力的双线双向串行数据总线系统&#xff0c;能够用于替代标准的并行总线&#xff0c;连接各种集成 电路和功能模块。I2C器件能够减少电…