MQTT简单介绍

MQTT简单介绍,第1张

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上。好比你给好友发送一封电子邮件,发送完成后你可以去做别的事情,收件人也不必立刻响应,可以在自己有空的时候查看邮件,是一个典型的异步发布/订阅场景。而另一种典型的同步请求/回答场景,可以用接打电话的场景来类比。

MQTT的设计遵循以下的原则:

为了满足不同的场景,MQTT支持三种不同级别的服务质量(Quality of Service,QoS)为不同场景提供消息可靠性:

MQTT拥有14种不同的消息类型:

实现MQTT协议需要客户端服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。

MQTT传输的消息分为:主题(Topic)和负载(payload)两部分:

MQTT会构建底层网络传输:它将建立客户端到服务器的连接,提供两者之间的一个有序的、无损的、基于字节流的双向传输。

当应用数据通过MQTT网络发送时,MQTT会把与之相关的服务质量(QoS)和主题名(Topic)相关连。

一个使用MQTT协议的应用程序或者设备,它总是建立到服务器的网络连接。客户端可以:

MQTT服务器以称为"消息代理"(Broker),可以是一个应用程序或一台设备。它是位于消息发布者和订阅者之间,它可以:

订阅包含主题筛选器(Topic Filter)和最大服务质量(QoS)。订阅会与一个会话(Session)关联。一个会话可以包含多个订阅。每一个会话中的每个订阅都有一个不同的主题筛选器。

每个客户端与服务器建立连接后就是一个会话,客户端和服务器之间有状态交互。会话存在于一个网络之间,也可能在客户端和服务器之间跨越多个连续的网络连接。

连接到一个应用程序消息的标签,该标签与服务器的订阅相匹配。服务器会将消息发送给订阅所匹配标签的每个客户端。

一个对主题名通配符筛选器,在订阅表达式中使用,表示订阅所匹配到的多个主题。

消息订阅者所具体接收的内容。

MQTT协议中定义了一些方法(也被称为动作),来于表示对确定资源所进行 *** 作。这个资源可以代表预先存在的数据或动态生成数据,这取决于服务器的实现。通常来说,资源指服务器上的文件或输出。主要方法有:

服务端是一种针对性的程序。所谓的针对性就是专门为某一客户端设立的程序。

原则上来讲,服务端是不具备运算能力,因为服务端同时会与多个客户端建立连接,一旦服务端进行运算的话,就会占用大量的资源,从而影响到其他客户端的通信。所以服务端通常都只具备认证与传输数据功能。

客户端是将游戏中的很多资源储存起来的软件。玩家通过客户端输入指令,客户端翻译成数据发送给服务端,服务端处理完给出结果,然后再由客户端翻译成图形化表现出来告诉玩家。可以说,客户端是一个玩家和服务器之间中介。

一般来说,客户端就是我们使用的电脑;服务器端就是存放网页与数据库数据的服务器。

扩展资料:

客户端发展:

随着计算机网络的发展,连接形式逐渐发生变化。至今为止,主流的两种网络连接模式为C/S和B/S模式,即客户端/服务器端和浏览器端/服务器端。

因此,所说的客户端更应该理解为C/S。即通过向客户机上写一些程序,保证即使服务器端出现故障或者维护时候,客户端依然可以在保证工作的前提下、实现脱机工作。

客户端及伺服端的关系不见得一定建立在两台分开的机器上,同一台机器中也有这种主从关系的存在。

提供服务的伺服端及接受服务的客户端也有可能都在同一台机器上,例如我们在提供网页的服务器上执行浏览器浏览本机所提供的网页,这样在同一台机器上就同时扮演伺服端及客户端。

参考资料:

百度百科—客户端

百度百科—服务端

随着物联网、大数据、云计算等新一代信息技术的发展变革,IoT 深入到各种行业与应用场景,整体呈现设备多态化、业务多样化、应用碎片化的趋势。尤其在工业物联场景中,工业设备种类繁多,设计总线、协议复杂多样,业务应用灵活多变,如何顺利实现工业设备上云是亟待解决的问题。 EMQ X 系列产品提供解耦工业设备与应用的能力,构造边缘到云端数据通路,建立智能、网络、轻量的数字化产品与服务模式,并与 5G 相融合,支撑工业行业应用创新

IIoT 即 Industrial Internet of Things 的简称,是指数以亿计的工业设备所形成的工业物联网。广义上来讲,是指在交通、能源、工业等部门的机械、车辆上应用仪器、连接传感器等设备。

随着 工业 40 概念的普及与行业实践的深入,传统的集中式控制模式向分散式增强型控制模式转变。同时,5G 时代的到来,也加速了传统工业改造和工业物联网化的进程。为了实现个性化、数字化的产品与服务的灵活生产,在工业设备智能化、网络化的过程中,需要将新旧工业设备连接到互联网中,实现对工业设备的数据采集、远程控制、配置更新等业务。EMQ X 系列产品可提供从工业网关到平台的整体解决方案,支持在厂区和工业现场等边缘端实现工业设备的数据汇聚并发送到云端。同时,其对边缘计算流数据的处理能力,可在平台端为工业物联网应用提供云端工业设备数据接入、数据存储以及与云端组态和应用的对接,方便工业互联网应用的快速开发。

以下,我们将通过 EMQ X Neuron 、 EMQ X Broker 构建基于 Modbus 的简易 IIoT 应用,并使用 MQTT X 订阅/展示数据。

EMQ 于近日发布了布署在边缘网关上的 工业协议接入软件 Neuron 。作为人与机器之间的桥梁,它可以把 TCP/IP 协议的 0/1 数据,转化重组成通俗易懂的 JSON 格式,并使用 MQTT 协议 输出到云端,更好地处理人与物之间的交互。

EMQ X Neuron 支持包括 Modbus、OPC 等在内的各类工业协议,可以基本满足大部分工业接入的需求,详细协议列表见下图。

1首先解压安装 EMQ X Neuron 软件包。

2在配置文件配置连接到 EMQ X Broker 的地址,配上用户名密码作为认证。

neuronconf 中修改 EMQ X Broker 服务端的 IP/ 端口,用户名/密码信息。

3启动 EMQ X Neuron 软件,无报错即为启动完成。

4登陆 EMQ X Neuron Web 界面,访问 IP:7000,默认用户名密码 admin/0000。

5点击 Edit Driver,编辑 Modbus tcp 地址。

6创建 Object,定义 Object 里面的内容。

在这个 Object 里面创建一个 Attribute,然后配置 Attribute 的信息,

这里模拟定义名称为 Err1@@2D7WS_GAS 的报警点位,点位位置为 1!1!07497。

在 EMQ X Broker 界面上可以查看连接的 EMQ X Neuron 网关,Client ID 为 EMQ X Neuron 网关随机生成一串字符。

配置刚才 1!1!07497 点位值为 1,然后进行数据上报。

点击 EMQ X Neuron 界面中的 Data Monitoring,Attribute 中配置 1!1!07497 点位的数值已经为 1。

打开连接好的 MQTT X,连接到 EMQ X Broker,订阅上面 EMQ X Neuron 发布的主题,在 MQTT X 可以收到 AlarmObj 里 2D7WS 的值为 1。客户端收到这些数据后,可以在应用界面上显示告警,也可以通过业务逻辑实现业务上的其它业务转换

以上我们使用 EMQ X Neuron、EMQ X Broker、MQTT X 等工具完整进行全流程的工业接入模拟测试,对于工业设备上云形成更加清晰与直观的认知。当然,您也可以结合 EMQ X Neuron 强大协议支持与 EMQ X Broker 强大的接入/转发能力,自己开发一套应用展示系统,构建一整套 IIoT 平台。

2020 年 9 月 底,我们将通过集成 Neuron , Edge 和 Kuiper 等软件,实现在边缘端的工业协议解析、数据汇聚和流式处理的一整套边缘解决方案;该方案通过与云端的 EMQ X Broker / Enterprise 等系列产品集成,则可以实现一个端到端的、从边缘到云端的完整工业解决方案。

服务器是指管理和传输信息的一种计算机系统。
服务器是一种高性能计算机,作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。做一个形象的比喻:服务器就像是邮局的交换机,而微机、笔记本、PDA、手机等固定或移动的网络终端,就如散落在家庭、各种办公场所、公共场所等处的电话机。我们与外界日常的生活、工作中的电话交流、沟通,必须经过交换机,才能到达目标电话;同样如此,网络终端设备如家庭、企业中的微机上网,获取资讯,与外界沟通、娱乐等,也必须经过服务器,因此也可以说是服务器在“组织”和“领导”这些设备。
它是网络上一种为客户端计算机提供各种服务的高性能的计算机,它在网络 *** 作系统的控制下,将与其相连的硬盘、磁带、打印机、Modem及各种专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发表及数据管理等服务。它的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。
服务器的构成与微机基本相似,有处理器、硬盘、内存、系统总线等,它们是针对具体的网络应用特别制定的,因而服务器与微机在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面存在差异很大。尤其是随着信息技术的进步,网络的作用越来越明显,对自己信息系统的数据处理能力、安全性等的要求也越来越高,如果您在进行电子商务的过程中被黑客窃走密码、损失关键商业数据;如果您在自动取款机上不能正常的存取,您应该考虑在这些设备系统的幕后指挥者————服务器,而不是埋怨工作人员的素质和其他客观条件的限制。
目前,按照体系架构来区分,服务器主要分为两类:ISC(精简指令集)架构服务器:这是使用RISC芯片并且主要采用UNIX *** 作系统的服务器,如Sun公司的SPARC、HP公司的PA-RISC、DEC的Alpha芯片、SGI公司的MIPS等。
IA架构服务器:又称CISC(复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或与其兼容的处理器芯片的服务器,如联想的万全系列、HP的Netserver系列服务器等。
从当前的网络发展状况看,以“小、巧、稳”为特点的IA架构的PC服务器得到了更为广泛的应用

0 mysql和其他数据库系统一样,体系是分布式的,因此都存在服务器端和客户端两个系统。
1 服务器端系统包括一组在服务器主机上运行的程序(如mysqld,mysqld_safe等)和相关文件(数据文件、配置文件、日志文件等),通过运行程序启动后,即启动了数据库服务,也称为运行了数据库服务器。
服务器端安装程序则一般是mysql-server-version,如果是使用编译安装,一般是mysql-versionsrc,一般安装时会同时安装服务器端软件和客户端软件;
2 客户端系统则是连接数据库服务器,用来执行查询、修改和管理数据库中的数据的程序。
客户端系统也由一组软件组成,如mysql命令行工具、mysqldump导出工具等;
安装包一般为mysql-client-version。
3 其它
mysql安装时还包含其它包,如开发包mysql-devel-version、测试包mysql-test-version。

正向代理:是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

反向代理:在计算机网络中,反向代理是代理服务器的一种。它根据客户端的请求,从后端的服务器上获取资源,然后再将这些资源返回给客户端。与正向代理不同,正向代理作为一个媒介将互联网上获取的资源返回给相关联的客户端,而反向代理是在服务器端作为代理使用,而不是客户端。

PM2是一款非常好用的Nodejs服务启动容器。它可以让你保持应用程序永远运行,要重新加载它们无需停机(我是这么理解的: PM2是一个监控工具 )。

nginx 是一款轻量化的 web服务器 。相较于Apache具有占有内存少,并发高等优势。使用epoll模型,nginx的效率很高。并且可以热升级。

pm2是在应用层面单机的负载,nginx是多用于多机集群的负载

PM2 Cluster 是对单台服务器而言的,而 nginx 是对多台服务器而言的,它们可以很好的结合在一起。

全篇看下来会发现,其实Nginx与PM2完全是不一样的,两者之间没有很大的相同点让人混淆。换一种更容易理解的说法是: nginx配置多站点(域名),pm2管理nodejs后台进程

PM2官网:>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13282395.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-07
下一篇 2023-07-07

发表评论

登录后才能评论

评论列表(0条)

保存