首页 > 其他分享 >AIRIOT物联网低代码平台如何配置MQTT驱动?

AIRIOT物联网低代码平台如何配置MQTT驱动?

时间:2022-11-09 22:00:58浏览次数:64  
标签:AIRIOT 联网 topic MQTT let 消息 time id

MQTT驱动配置简介 MQTT全称为消息队列遥测传输(英语:Message Queuing Telemetry Transport),是ISO 标准(ISO/IEC PRF 20922)下基于发布 (Publish)/订阅 (Subscribe)范式的消息协议,工作在 TCP/IP协议族上。   MQTT最大优点在于,可以用极少的数据和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。   MQTT 协议定义了两种网络实体:消息代理(message broker)与客户端(client)。其中,消息代理用于接收来自客户端的消息并转发至目标客户端,也被称为MQTT服务器。MQTT 客户端可以是任何运行有 MQTT 库并通过网络连接至消息代理的设备,例如微型控制器或大型服务器。   在MQTT 协议中,消息的传输是通过主题(topic)管理的,消息的发布者和订阅者均为客户端(client)。消息由主题(Topic)和负载(payload)两部分组成。当某个客户端有需要分发的数据时,会向连接的消息代理(MQTT服务器)发送指定主题的携带有负载的消息。服务器收到消息后,会向订阅此主题的客户端分发此消息。发布者不需要配置订阅者的相关信息和具体位置;同样,订阅者也不需要配置发布者的相关信息和具体位置。   AIRIOT低代码物联网开发平台,专注物联网系统高效开发的专业化平台,相比于传统开发模式具有更快速、更全面、更低代码量、更易于学习等特点。   今天,我们将通过实操案例,来看看如何使用AIRIOT以拖拽式低代码,轻松实现配置MQTT驱动,帮助您有效降低在驱动配置方面的学习成本。 AirIot平台MQTT驱动配置说明  

  1. 在系统模型管理界面中选择要配置的模型,右侧选项卡选择设备配置,在设备驱动一栏选择MQTT客户端。无无该选项时,点击右侧的驱动市场按钮在线安装驱动。
​ ​
  1. 配置驱动参数
(1)MQTT服务器:填写要连接的mqtt服务器的地址。格式为 tcp://服务器IP或域名:服务器端口 例如:tcp://127.0.0.1:1883 (2)用户名、密码:填写MQTT服务器的用户名和密码。 (3)订阅消息主题:填写该模型要订阅的消息主题,可使用通配符#和+。 Topic是个utf-8编码的字符串,可由多个'/'分割开。 +:为单级通配符,如:check/+/baseline #:为多级通配符,必须放在topic的最后,前一个字符必须是'/' 建议Topic中不要包含空格符。 (4)通讯监控参数:平台通用配置,当某个资产数据点中的最新上数时间距离当前时间超过此参数时,平台判定资产掉线。 (5)自定义脚本:由于mqtt协议中未规定具体的消息内容格式,因此需要用户编写自定义脚本,用于解析消息和组装要发送的消息内容。 使用示例 由于MQTT协议通过主题区分不同种类的消息,因此在使用时,不同的主题需要建立不同的模型,下边以网关常用的MQTT格式为例,介绍脚本的编写方法。 消息格式 数据采集网关发布的主题的为 box/网关唯一编号/data 假设网关唯一编号为8位,例:box/abcd1234/data 消息内容:{"data":{"d1":100},"time":1644290863000} 网关订阅的主题为 box/网关唯一编号/command 消息内容:{"d1":200} 脚本 脚本语言采用的是JavaScript,一部分为固定格式: // 解析接收数据 // 该服务器和主题收到的消息会调用此方法进行解析,消息主题是方法参数topic,消息内容是方法参数package. // topic类型为字符串,考虑到部分设备的消息内容为二进制数据,package类型为字节数组. ParseHandle = function (topic, package) { // 解析数据 let id = "abcd1234" //id是资产编号,平台通过id判断数据和资产的对应关系,必需 let values = {"d1":100} // values是一个对象,key为数据点标识,值就是采集的具体数值,必需 let time = 1644290863000 // 数据点采集时间,UNIX毫秒时间戳,没有time时,默认采用服务器时间 return [ //可返回多个对象,对应多个资产 { id, values,time } //返回的对象中的key的名字必须为id,values,time ] } // 构建发送数据 CommandHandle = function (topic, id, op) { // 构建发送数据 let sendTopic = "" let sendData = {"d1":200} return { sendTopic, sendData }} //返回的对象中的key的名字必须为sendTopic,sendData } 脚本示例: // 解析接收数据 // 消息内容:{"data":{"d1":100},"time":1644290863000} ParseHandle = function (topic, package) { let id = topic.substring(4, 12) // 从主题中截取资产编号 let msg = JSON.parse(package.toString()) // 将消息从字节数组转为json对象 let values = msg.data // 该消息内容的格式恰好符合平台的要求格式 let time = msg.time // 毫秒时间戳 return [ { id, values,time } ] } // 构建发送数据 // 主题: box/abcd1234/command // 内容: {"d1":200} CommandHandle = function (topic, id, op) { let sendTopic = `box/${id}/command` let sendData = `{"${op.tag}":${op.value}}` return { sendTopic, sendData } } ​ 产品试用:申请试用 | AIRIOT 让物联网项目更简单

标签:AIRIOT,联网,topic,MQTT,let,消息,time,id
From: https://www.cnblogs.com/airiot/p/16875327.html

相关文章

  • html中使用mqtt
    MQTT.js 是一个开源项目,支持nodejs和Browserjs,这里对比一下nodejs和Browserjs的用法:注:nodejs是运行在webserver的js,Browserjs意思是运行在浏览器上的js,也就是H......
  • 工业互联网新引擎——灵雀云 × 英特尔 5G融合边缘云解决方案
    近期,由江苏省企业信息化协会和苏州市工业互联网产业联盟联合主办的“装备制造龙头企业数字化转型研讨会“上,灵雀云解决方案架构师赵昕受邀参会,并进行了“工业互联网云原生......
  • AIRIOT物联网低代码平台如何配置db-driver驱动?
    设备接入能力包括接入驱动类型及接入数据量,性能方面需要考量数据采集的稳定性和驱动的丰富性等多个因素。用户在选择物联网平台时,往往存在一些误区,比如很关注平台支持的驱......
  • 拓端数据tecdat|数据解码互联网行业职位
    互联网无疑是当今最热门的行业。这个行业高薪资的背后也是大量的加班和激烈的竞争。择业不能只看薪水,适合自己才是最重要的。互联网公司都需要哪些人才?哪......
  • 物联网网关助力生产数据可视化,提升智能管理水平
    数据可视化,就是将数据提取出来并形成动态图表等形式展示出来,使得海量数据可以分门别类,更有条理,方便人们了解并进行分析。生产数据可视化是物联网技术和生产管理技术的的结合......
  • 工业互联网和物联网有什么关系?
    工业互联网是基于物联网发展起来的,或者说是以物联网为基础,是IT/CT/OT融合的一体化工业系统,所以又有别于物联网,下面详细来讲解下。 工业互联网就是要实现物理形式的......
  • 如何理解工业互联网与智能制造,怎么共建智慧工厂?
    工业互联网就是要实现物理形式的企业在数字空间的投射,并基于此来实现的以人机物(Human,Machines,Things)泛在互联为基础上,深度感知为支撑,智能决策为导向,精准管控为目的的细胞......
  • v1.9.0 进行中:开箱即用的 MQTT bench 工具
    十月初,MQTTX团队发布了1.8.3版本。对桌面端应用实现了MQTT5.0版本适配,MQTTXCLI支持了多主题订阅,同时修复了多个已知问题。此外,团队正专注于1.9.0版本的开发,最主......
  • Esp32 Mqtt
    使用esp32连接MQTT服务器使用Arduino库PubSubClient.h修改PubSubClient.h文件基本初始化引入头文件#include"PubSubClient.h"constchar*ssid="XXXX";......
  • ​无线土壤水分传感器是一种利用4g物联网技术监测土壤湿度变化的传感器
    ​无线土壤水分传感器是使用物联网进行土壤水分数据传输的传感器,基于智能传感、无线通信、智能处理与智能控制等物联网技术的开发,利用智能传感技术,通过传感器,实时在线测量土......