物联网 > > 商机 > 什么是物联网平台?边缘计算?MQTT传输协议?

什么是物联网平台?边缘计算?MQTT传输协议?

来源:https://www.wlworld.com.cn 时间:2024-08-31 编辑:admin 手机版

一、什么是物联网平台?边缘计算?MQTT传输协议?

物联网平台为设备提供安全可靠的连接通信能力,向下连接海量设备,支撑设备数据采集上云;向上提供云端API,指令数据通过API调用下发至设备端,实现远程控制。

物联网平台也提供了其他增值能力,如设备管理、规则引擎、数据分析、边缘计算等,为各类IoT场景和行业开发者赋能。

如下是共享单车基于物联网平台的解决方案。

物联网平台提供边缘计算能力,支持在离设备最近的位置构建边缘计算节点处理设备数据。

在断网或弱网情况下,边缘计算可缓存设备数据,网络恢复后,自动将数据同步至云端。

提供多种业务逻辑的开发和运行框架,包括场景联动、函数计算和流式计算,各框架均支持云端开发、动态部署。

边缘计算能力允许在最靠近设备的地方构建边缘计算节点,过滤清洗设备数据,并将处理后的数据上传至云平台。

物联网应用可广泛应用于:智能生活、智能工业、智能楼宇、环境保护、农业水利、能源监控等环境。计算平台主要涉及:

开发者使用设备接入SDK,将非标设备转换成标准物模型,就近接入网关,从而实现设备的管理和控制。

设备连接到网关后,网关可以实现设备数据的采集、流转、存储、分析和上报设备数据至云端,同时网关提供规则引擎、函数计算引擎,方便场景编排和业务扩展。

设备数据上传云端后,可以结合云功能,如大数据、AI学习等,通过标准API接口,实现更多功能和应用。

物联网 (IoT) 设备必须连接互联网。通过连接到互联网,设备就能相互协作,以及与后端服务协同工作。互联网的基础网络协议是 TCP/IP。MQTT(Message Queue Telemetry Transport,消息队列遥测传输) 是基于 TCP/IP 协议栈而构建的,已成为 IoT 通信的标准。

二、mqtt与socket的区别

mqtt与socket的区别有:

1、mqtt协议是为工作在低带宽、不可靠网络的远程传感器和控制设备通讯而设计的协议,而WebSocket则是为了浏览器与服务器全双工通信的一种协议。

2、mqtt是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。Socket是HTML5一种新的协议。

MQTT是一个基于客户端-服务器的消息发布、订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器、通信和物联网。其在智能家居、及一些小型化设备中已广泛使用。

三、一款C#开发的工业物联网网关,支持跨平台

随着工业4.0时代的推进,物联网技术逐渐成为推动工业升级转型的关键力量。在此背景下,IS工业网关应运而生,作为智能网关引领者,它集成了多种通信协议、数据处理与远程控制功能,实现设备间互联互通,数据采集、传输、处理与分析,为工业生产提供全维度智能化支持。

IS工业网关基于.net core3.1跨平台物联网网关,具有采集工业设备数据并接入自主云平台的能力。支持各种设备驱动,如PLC、数据库、串口设备、上位机、OPC UA、MQTT,并具备二次开发驱动能力,实现与Thingsboard数据通讯。同时,它支持MQTT、MYSQL、WEBHOOK等多种资源配置化管理,快速推送数据,提供简单驱动接口开发。

IS工业网关的优势在于其具体亮点,适用于多种应用场景,包括在Windows和Linux主机上运行。对于Linux主机,可以通过编辑/usr/lib/systemd/system/gatewayd.service文件,配置系统服务启动。在实际生产环境中,需使用OPCUA基金会授权。在Linux/amd64架构下,可通过docker进行运行,使用命令docker pull is/igateway:0.6,启动并配置运行参数。

IS工业网关的核心功能包括系统登录、驱动管理、设备管理、规则管理与设备日志记录,同时提供源码地址供开发者参考与定制开发。

github.com/IOT-CS/IS

四、如何在 JMeter 中使用 MQTT 插件

JMeter 内置 HTTP/HTTPS、TCP 等支持多种协议,还具备插件扩展机制。

MQTT 协议作为物联网界的主流协议,虽然并非 JMeter 自带的协议类型,但在物联网测试场景中极为普遍。为了支持 MQTT 协议的规模测试,EMQ 映云科技开发了基于 JMeter 的 MQTT 协议开源测试插件: 。

经过几个版本的迭代,目前 JMeter MQTT 插件的最新版本为 2.0.2,支持连接、消息发布、消息订阅等多种采样器,并可通过组合构建更复杂的测试场景。

本文我们将具体介绍如何在 JMeter 中使用 MQTT 插件。

MQTT 插件的安装方式与其他 JMeter 第三方插件类似。

连接采样器模拟物联网设备,发起 MQTT 连接。

Server name or IP: 指向被测 MQTT 服务器地址。

Port number: 以 EMQ X 为例,默认 TCP 连接的端口是 1883, SSL 连接则是 8883。具体的端口请参照服务器的具体配置。

MQTT version : 目前支持 MQTT 3.1及3.1.1版本。

Timeout: 连接超时设置,以秒为单位。

Protocols: 支持TCP、SSL、WS 和 WSS 方式连接 MQTT 服务器。当选择 SSL 或 WSS 加密通道连接时,可以选择单向或者双向认证(Dual)。如果希望进行双向认证,还需要指定相应的客户端证书(p12证书),以及对应的文件保护密码(Secret)。

User authentication: 如果 MQTT 服务器配置了用户认证,需要提供相应的用户名( User name )和密码( Password )。

ClientId: 虚拟用户的标识。如果勾选了「Add random suffix for ClientId」,将会在 ClientId 的基础上给每个虚拟用户再添加一个 uuid 串作为后缀,整个作为虚拟用户标识。

Keep alive(s): 心跳信号发送间隔。例如,300 表示客户端每隔 300 秒向服务器发出 ping 请求,以保持连接活跃。

Connect attempt max: 第一次连接过程中,尝试重连的最大次数。超过该次数则认为连接失败。如果希望一直尝试重连,可以设为 -1。

Reconnect attempt max: 后继连接过程中,尝试重连的最大次数。超过该次数则认为连接失败。如果希望一直尝试重连,可以设为 -1。

Clean session : 如果希望在连接之间保留会话状态,可以将该选项设为 false。如果不希望在新的连接中保留会话状态,则将该项设为true。

消息发布采样器复用连接采样器中建立的 MQTT 连接,向目标 MQTT 服务器发布消息。

QoS Level: 服务质量,取值为 0,1,2,分别代表 MQTT 协议规范里的至多一次(AT_MOST_ONCE),至少一次(AT_LEAST_ONCE),精确一次(EXACTLY_ONCE)

Retained messages : 如果希望使用「保留消息」,可将该选项设为 true,MQTT 服务器端将会存储插件发布的保留消息及其 QoS,并在相应 topic 上发生订阅时,直接将最后一条保留消息投递给订阅端,使得订阅端不必等待即可获取发布端的最新状态值。

Topic name: 发布消息所属的主题。

Add timestamp in payload: 如果勾选,发布的消息体开头会附带当前时间戳,配合消息订阅采样器的 Payload includes timestamp 选项,可以在消息接收端计算消息达到的延时。如果不勾选则只发送实际的消息体。

Payloads Message type: 目前支持三种消息类型

消息发布采样器复用连接采样器中建立的 MQTT 连接,从目标 MQTT 服务器上订阅消息。

QoS Level: 服务质量,含义与消息发布采样器相同。

Topic name(s): 订阅消息所属的主题。支持单个消息订阅采样器订阅多个主题,主题之间用逗号分隔。

Payload includes timestamp: 如果勾选,会从消息体开头处解析发送时间戳,配合消息发布采样器的 Add timestamp in payload 选项,可以用于计算消息的接收延时。如果不勾选则只解析实际的消息体。

Sample on : 采样方式,默认为 specified elapsed time(ms) ,即每隔指定的毫秒时间采样一次。也可以选择 number of received messages ,即每接收到指定的消息数采样一次。

Debug response: 如果勾选,消息内容会打印在 JMeter 的响应结果中。该选项主要用于调试目的,正式运行测试不建议勾选,以免影响测试效率。

断开连接采样器中建立的 MQTT 连接。

本文我们介绍了 JMeter MQTT 插件的各测试组件,在下期文章中我们将针对不同的测试场景详细介绍如何用 MQTT 插件来构建测试脚本。

最近更新

商机排行榜精选