【小宅按】本文提供了两款MQTT模拟器,指导使用模拟器来模拟MQTT设备接入IoT平台及上报数据。附件bmqtt-client.rar为UI版,附件bmqtt-client-shell.rar为命令行版。其中内置了调用南向接口获取连接信息的过程,涵盖了南向接入mqtt设备的全流程。

接入流程介绍

接入一个MQTT设备大致有6步:

1)使用平台或者北向接口注册设备(一个设备只需一次)

2)调用南向设备绑定接口(一个设备只需一次)

3)调用南向设备登录接口(一个设备只需一次)

4)与mqtt服务器建连

5)订阅topic

6)发布topic

开始接入

如果设备已经在IoT平台注册,并且调用过南向绑定、登录接口,跳过1、3和4章节。

1、注册设备

在平台创建应用、产品后,注册设备开始南向接入。输入Node ID和Secret并记录起来以供后续使用。

2、运行模拟器

UI版

下载附件bmqtt-client.rar,解压后直接双击可执行jar运行模拟器。

UI版模拟器拆分为两个,其中deviceBindLogin用于设备南向绑定和登录(一个设备只需一次),bmqtt-client用于设备连接IoT平台。

Shell版

下载附件bmqtt-client-shell.rar,使用命令行方式运行其中的可执行jar。

bmqtt-client-shell良好的支持Tab键自动补全和历史命令切换等功能。执行help命令,可以看到所有命令的概况,包含内置命令和自定义命令。执行help [某个命令],可以看到单个命令的详情。

当出现异常时,可使用stacktrace命令查看最近一次的异常信息。

问题:

模拟器在Windows环境的cmd下存在一个问题:使用右键“标记”进行复制粘贴时,可能会出现“控制台窗口主机 已停止工作”,然后关闭程序了。

3、bind

UI版

使用deviceBindLogin模拟器,UI版设备绑定和登录集成在一起,使用UI版可跳过4章节。

记录下返回的Device ID、Device Secret和Mqtt ClientId以供后续使用。

Shell版

设备绑定命令三个参数都是必需的,从参数说明可以看到数据来源。

-i:南向接口的ip或域名。在IoT平台管理控制台查看,与8883端口同域名。

-v:3.1章节中填写的Secret,又叫preSecret。

-n:3.1章节中填写的Node ID。

记录下bind接口返回的deviceId、appId、secret以供后续使用。

4、login

UI版

参见3章节。

Shell版

记录下login接口返回的accessToken、mqttClientId以供后续使用。

5、conn

UI版

使用3章节返回的Device ID、Device Secret和Mqtt ClientId分别对应bmqtt-client模拟器的Username、Password、ClientId。

Shell版

conn有4个必需参数,mqttClientId来自4章节,deviceId和secret来自3章节。

disconn无需参数。

6、sub

到目前为止,在平台的设备列表我们的设备还是未激活状态。我们订阅一个topic后设备就会显示在线了。

topic:/gws/#deviceId#/signaltrans/v2/categories/data

UI版

使用3章节中的Device ID替换topic中的#deviceId#。

Shell版

使用3.3章节中的deviceId替换topic中的#deviceId#。

7、pub

使用3章节中的deviceId替换message中的#deviceId#。header中#serviceId#为上报数据相应服务,body体内的#serviceAttribute#和#reportData#为上报的数据,可以有多组。

UI版

Shell版
注意:message中的引号需要转义,否则会被当成多个参数。

pub成功后,可在平台设备影子查看上报数据。

bmqtt-client.rar​bbs.huaweicloud.combmqtt-client-shell.rar​bbs.huaweicloud.com

更多精彩内容,请滑至顶部点击右上角关注小宅哦~


来源:华为云原创 作者:IOBO

mqtt 获取 状态_MQTT设备接入及上报数据的命令行模拟器(Java)相关推荐

  1. 利用nodemcu和mqtt协议让嵌入式设备接入互联网(一.layui前端框架)

    文章目录 前言 HTML知识简单总结 vscode快捷操作 HTML知识总结 HMTL结构 头部 身体 样式表CSS layui介绍 源码 前言 为了让自己的嵌入设备接入互联网,而且能互相通讯,用直接 ...

  2. MQTT.fx 模拟 IoT 设备接入阿里云企业物联网平台

    MQTT.fx是一款基于Eclipse Paho SDK,使用Java语言编写的MQTT客户端,支持Windows.Mac和Linux操作系统,可用于验证设备是否可与物联网平台正常连接,并基于 Top ...

  3. 【Android 逆向】修改运行中的 Android 进程的内存数据 ( Android 命令行中获取要调试的应用进程的 PID | 进程注入调试进程内存的 so 库 )

    文章目录 一.Android 命令行中获取要调试的应用进程的 PID 二.进程注入调试进程内存的 so 库 一.Android 命令行中获取要调试的应用进程的 PID 前置博客 [Android 逆向 ...

  4. Spring拦截器获取request请求体中的json数据,并转换成Java对象的解决办法

    1.要被拦截的Controller接口 我们需要一个更新用户信息接口,请求方式为POST,参数类型为对象类型(UserInfo),代码如下: @Resource private UserService ...

  5. bat 命令行执行 java(jar)获取返回值 【ERRORLEVEL、System.exit(code)】

    ■前言 bat调用java,如何判断java运行正常终了 ■实现 1.命令行中, 使用 %ERRORLEVEL% ↓ERRORLEVEL的介绍 https://blog.csdn.net/sxzlc/ ...

  6. 一文解锁华为云新技能-AIOT开发全流程【设备接入-ESP端侧数据收集[MQTT]-实时数据分析】(步步截图较详细)

    一文解锁华为云新技能-AIOT开发全流程[设备接入-ESP端侧数据收集[MQTT]-实时数据分析](步步截图较详细) 在这篇你将会接触到:从物联网工程师从硬件层-通信层到应用层全流程:开发华为云最基本 ...

  7. 物联网平台企业版:设备接入实例节点开发实战——实践类

    IoT物联网平台-实例化开发实战 前言 物联网平台企业版支持用户创建实例,用于设备接入和业务管理.企业版有一下优势: 根据业务规模,购买匹配的实例规格,可大幅节约您的成本. 实例规格按需选择,避免触达 ...

  8. git命令行执行pull之后会有在merging状态

    git命令行执行pull之后会有在merging状态,出现<<<<<<HEAD  >>>>>>hdusiacnsdicdsuch ...

  9. 中国移动物联网开放平台OneNET学习笔记(1)——设备接入(MQTT协议)OneNET Studio篇

    一.平台简介 中国移动物联网开放平台(OneNET) 是中移物联网有限公司基于物联网技术和产业特点打造的开放平台和生态环境,适配各种网络环境和协议类型,支持各类传感器和智能硬件的快速接入和大数据服务, ...

最新文章

  1. shocked的歌曲 类似shell_韩庚 / Wiz Khalifa / Juicy J / Kill The Noise演唱歌曲《Shell Shocked》歌词介绍_TOM明星...
  2. ASP.NET MVC 5 入门指南汇总
  3. 操作系统第一篇【引论】
  4. java 最大线程数 设定_Java8 parallelStream 修改默认的线程数量
  5. vb treeview 展开子节点_详解最长公共子序列问题,秒杀三道动态规划题目
  6. 11.13 模10计数器设计
  7. 翻译: 构建基于卡尔曼滤波器的 IMU 用速度数据改进 IMU 姿态估计
  8. QT制作动画收缩效果
  9. BlackBerry黑莓7230/7290等常用的功能简介以及技巧分类【转载】
  10. http隧道Chisel
  11. 风火编程--用pillow对比展示两张图片
  12. 用树莓派搭建全功能NAS服务器(02):Docker用法下载机配置
  13. 使用TEXT函数处理日期时间
  14. no valid sudoers sources found, quitting ubuntu 16.04 devstack
  15. python外卖点餐系统毕业设计开题报告
  16. android广播内容显示在屏幕上,如何将手机屏幕投影到计算机显示器上?
  17. Django个人博客开发练手demo笔记
  18. 如何下载Hbuilder,而不是下载Hbuilder X?
  19. 《2008中国手机增值产品最值得投资期待50佳》
  20. 以马丁格尔(翻倍加仓)为基础的长线交易策略

热门文章

  1. 高手如何应对复杂系统架构的演进
  2. 当SQL Server爱上Linux:AVAILABILITY_MODE 和 DataGuard 的实践差距
  3. Hadoop中mapreduce作业日志是如何生成的
  4. 还在为运维烦恼?体验云上运维服务,提意见赢好礼!【华为云分享】
  5. python异常处理与上下文管理器
  6. android 测试 mock,Mock在Android TDD中的使用
  7. java 类加载器-基础
  8. Java 并发数据结构
  9. 组合学讲义 李乔(2ed)-习题1.1-6组合恒等式题解
  10. fast rcnn 论文解读(附代码链接)