MThings连接移动OneNet物联网平台
作者JesseLiu(liujie@zzltsw.com)投稿
MThings是一款很优秀的Modbus工具类软件,几乎囊括市面上所有对Modbus协议的需求:主从站模拟、串口、网络、曲线画面、自定义数据类型等等,可以说是解决了诸多实际痛点。不管是对电气工程师还是软件开发人员都起到很大的帮助作用,对于国内有如此优秀的软件作者而感到庆幸!
最近一次更新,作者加入了“会话密钥”功能,这个功能对于那些物联网从业者简直就是画龙点睛之笔,使得MThings产生了质的飞跃。原先只是模拟串口或网络Modbus设备,这个功能使Modbus+DTU这个模式得到了可行。远程主机可通过“会话密钥”正确识别每一台由MThings模拟出的Modbus设备,利用端口复用,多线程并发等方法实现多套模拟设备的接入,给开发者带来了巨大的惊喜,再也不用购买各种DTU设备了,一台普通PC足矣。
下面进入正题,利用MThings的“会话密钥”功能连接移动OneNet平台,并遥测模拟Modbus设备。
前期准备:MThings V0.2测试版 ,OneNet平台账号
//由于0.2.2正式版的“会话密钥”暂时不支持16进制,跟作者沟通后,作者特意在测试版的“会话密钥”添加了16进制功能,在此非常感谢。
登录OneNet平台后,点击控制台,选择基础服务-多协议接入。(见图1)
图1
2. 选择Modbus,并添加产品(见图2-3)
图2
图3
3. 添加成功后,进入设备列表(图4),点击立即添加设备(图5)
图4
图5
注意:此处的DTU序列号长度最大11位,密码最大8位,可自由配置。上图我配置的序列号和密码分别是12345678901和88888888
4. 接来下就需要使用MThings连接移动OneNet云平台了。在连接云平台之前,我们需要去云平台文档中心找到“多协议接入”中设备上云的方法。见(图6-8)
图6
图7
图8
下载地址:https://open.iot.10086.cn/doc/multiprotocol/book/doc/%E8%AE%BE%E5%A4%87%E7%BB%88%E7%AB%AF%E6%8E%A5%E5%85%A5%E5%8D%8F%E8%AE%AE-MODBUS.docx
5. 获取“上线IP端口”及“登陆报文”。上线IP端口通过API获得,这里我们手动获取。首先根据文档3.3中设备接入所述。见(图9)
图9
记住这个接口地址http://api.heclouds.com/s?t=5我们去浏览器上查找一个在线HTTP接口测试工具,并通过GET方法获取IP地址和端口。(图10)
图10
这时我们已经得到了上线IP和端口:183.230.40.42:2987
此时我们还需要一个登录报文,我们继续查看官方文档
也就是说我们连接183.230.40.42:2987后需要发送11+9+12+9+11共计52个字节数据作为登录报文,才能正确连接云平台。下面就开始以16进制序列化这5段报文。
第1、2段位可以自定义。第3、4、5段必须通过云平台获取。
以下均为16进制,长度不足后方补00(在线ASSCII转16进制工具ASCII字符串到16进制在线转换工具 - Coding.Tools)
第1段(自定义,11字节):4D 54 68 69 6E 67 73 76 35 38 37
第2段(自定义,9字节):4A 65 73 73 65 5F 4C 69 75
第3段(12字节,上文图5,DTU号码):31 32 33 34 35 36 37 38 39 30 31 00
第4段(9字节,上文图5,DTU密码):38 38 38 38 38 38 38 38 00
第5段(11字节,见下文图11-12):35 31 34 37 30 38 00 00 00 00 00
图11
图12
最后我们把5段16进制数据首位相接,得到如下信息:4D 54 68 69 6E 67 73 76 35 38 37 4A 65 73 73 65 5F 4C 69 75 31 32 33 34 35 36 37 38 39 30 31 00 38 38 38 38 38 38 38 38 00 35 31 34 37 30 38 00 00 00 00 00
以上就是“登录报文”
6. 使用MThings连接云平台
通过以上几步操作,我们获得了上线的“IP地址端口”和“登录报文”,其中登录报文就是MThings中的“会话密钥”。整理如下:
远程地址:183.230.40.42:2987
登录报文: 4D5468696E6773763538374A657373655F4C69753132333435363738393031003838383838383838003531343730380000000000
MThings配置如下 图(13-15)
图13
图14
图15
配置完成后我们发现连接状态已经变成“已连接”此时与云平台连接已经成功,接下来添加模拟寄存器。我们添加40001开始的4个保持寄存器,并赋值。见图16
图16
此时我们需要通过云平台遥测这4个寄存器数据,也就是说让云平台给MThings下发如下Modbus协议:01 03 04 00 00 00 04 44 09 那么我们重新回到云平台,选择“数据流”见图17-19.
图17
图18(添加采样数据流)
图19
添加完毕后,我们回到MThings,勾选报文选项,看看平台是否正常下发指令,见图20-21。
图20
图21
已经成功收到来自移动OneNet平台数据。接下来,返回云平台,查看数据流.。见图22
图22
至此已经完成了MThings连接移动OneNet云平台的整个过程,设备接入云平台之后,就可以利用移动OneNet云平台开发许多很有意思的小东西。比如说APP、微信小程序读写MThings等,对于想尽快了解物联网的同学,不妨是一次很好的学习和尝试机会。
支持国产软件!国产软件雄起!
此教程由本文作者JesseLiu(liujie@zzltsw.com)无偿提供给Mthings团队
2022/5/10
MThings连接移动OneNet物联网平台相关推荐
- ESP8266连接中国移动ONENET物联网平台TCP透传实现WIFI远程控制
注:简单笔记,可供参考,欢迎指教 目录 ESP8266介绍 简介 特点 ONENET介绍 接入方法 流程简述: 烧入AT固件 中国移动ONENET创建账号及产品 AT指令连接 ESP8266介绍 简介 ...
- mqtt 域名连接_中国移动OneNet物联网平台,如何使用MQTT协议,进行连接
大家好,超子又和大家见面了,超子我能力有限,技术不高,有什么错误的地方,欢迎板砖.今天我们一起构建MQTT协议中的CONNECT报文,连接OneNet物联网平台,然后进行通信.前面的文章中,超子介绍阿 ...
- esp8266 esp12 AT指令连接wifi热点联网,HTTP获取OneNET物联网平台消息,控制四路远程开关
esp8266 esp12 使用AT指令联网非常方便,很适合应对已经开发好的成品需要增加联网功能的需求. 使用AT指令进行开发,大多数是产品已经开发好,只需要增加小数据量的联网功能,而且不想对既有成品 ...
- 米思奇(Mixly)连接OneNet物联网平台(一)
米思奇(Mixly)连接OneNet物联网平台初体验(一) 中国移动物联网开放平台是中移物联网有限公司基于物联网技术和产业特点打造的开放平台和生态环境,适配各种网络环境和协议类型,支持各类传感器和智能 ...
- 基于iOS快捷指令和Siri控制连接OneNET物联网平台的STM32的智能安防家居系统
摘要 之前做了一个智能安防系统,用STM32单片机作为主控芯片,ESP8266-01s模块作为Wi-Fi模块,成功利用MQTT协议实现了连接阿里云物联网平台或中国移动OneNET平台,并支持实时上报环 ...
- bh1750采集流程图_重大更新:STM32空气监测仪,OneNET物联网平台实时查看(原理图、PCB源文件、程序源码等)...
更新内容: 一.SD卡记录功能. 自动识别有无SD卡,支持4G以下SD卡. 下图为SD卡记录的数据.以日期为文件名自动创建文件. 记录格式为:时间,PM1.0,PM2.5,PM10,温度,湿度,大气压 ...
- 中国移动 OneNET 物联网平台从入门到「放弃」
01. OneNET 物联网平台 中国移动 OneNET定位为 PaaS 服务,即在物联网应用和真实设备之间搭建高效.稳定.安全的应用平台:面向设备,适配多种网络环境和常见传输协议,提供各类硬件终端的 ...
- ESP32运行MicroPython通过MQTT上报温湿度到中移OneNET物联网平台(附源码)
前言:MQTT是当下物联网用的比较多的协议,本篇聊一聊用esp32通过MQTT连接到中移OneNET物联网平台. OneNET平台创建产品和设备 1.创建产品:开发者中心->全部产品-> ...
- 移远BC25/28/35GMQTT连接阿里云物联网平台并实现属性上报
一.平台侧操作 创建一个产品,并添加一个设备,获取到设备接入所需的验证信息.本实验选择的产品品类为标准品类--智慧园区--气象站监测仪.(你也可以自定义产品类别,但是后期数据上报的关键字需要自己去添加 ...
最新文章
- 有点意思!Linux 块设备处理模型,基础【簇、柱面、存储的计算】
- 计算机辅助药物设计局限,计算机辅助药物设计高效低耗
- android拍照截图组件,Android_Android实现从相册截图的功能,在这篇文章中,我将向大家展 - phpStudy...
- 输入姓名打印年龄练习
- C# async/await异步编程深入理解
- 对Librehash海洋协议审查的回应
- dnSpy反编译C#编译以后dll文件并调试
- android粘贴,Android复制粘贴到剪贴板
- 从 Flask-RESTful 到 Flask-RESTPlus 再到 Flask-RESTX
- 目前股指期货保证金(目前股指期货保证金是多少)
- 详细分析本机号码一键登录原理!建议收藏
- 真正“透明”的PNG图片
- 为博客添加樱花飘落的效果
- 前端之jquery-jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})区别
- Arduino实现压力传感器(使用HX711模块)
- 仿hao123的导航网站纯静态版|html导航网站源码,115le仿hao123网址导航整站静态html...
- 在前互联网时代,宜家就有这些“互联网思维”
- 学python适合做什么生意_吹爆这8个Python练手小项目,轻松易学
- RAID | 更新驱动
- [译] 设计师的决策树
热门文章
- iqc工作职责和工作内容_iqc组长岗位职责介绍
- mysql函数 动态语句_自定义函数动态执行SQL语句
- 鸿蒙系统1004无标题,华为P50 Pro外观基本确认:居中开孔全面屏首发鸿蒙操作系统...
- 打造高效研发团队 (4) —— 团队文化篇
- Microsoft visual studio安装2013
- 求解数独的C++实现
- Grasshopper脚本电池处理全站仪数据,生成建筑、线状地物和地形
- https利用360cdn实现网站加速
- 九步!让你从零基础学习python成为一名开源程序员!
- Kindle可用三方字体的书籍格式