mqtt

MQTT服务开机自动启动

こ雲淡風輕ζ 提交于 2019-11-29 03:18:48
本文链接:https://blog.csdn.net/u011267225/article/details/82387351 开始 执行vi /etc/init.d/emqttd,输入下面内容 #!/bin/sh # # emqttd # # Startup script for emqttd. # # chkconfig: 2345 90 10 # description: emqttd is mqtt broker. # # source function library . /etc/rc.d/init.d/functions export HOME=/root start() { echo "starting emqttd..." #此处根据实际安装目录修改下面的路径 cd /emqtt/emqttd && ./bin/emqttd start } stop() { echo "stopping emqttd..." #此处根据实际安装目录修改下面的路径 cd /emqtt/emqttd && ./bin/emqttd stop } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo $"Usage: $0 {start|stop}"

mosquitto MQTT broker and Java client with SSL / TLS

六眼飞鱼酱① 提交于 2019-11-28 22:10:10
I'm using mosquitto and the Eclipse PAHO Java client. Everything is working fine on plain TCP sockets. but now I want to use SSL for athentication (encryption not necessarily needed). first I followed the instructions from http://mosquitto.org/man/mosquitto-tls-7.html in mosquitto client I can not publish my message without the --insecure option, means i have to mosquitto_pub -h <server-ip> -p <port> -t "/topic1/test" -m "testmsg" --cafile ca_cert.pem --cert client.crt --key client_priv.key --tls-version tlsv1.2 --insecure otherwise an protocol error appears on the mosquitto console, which

PHP MQTT 实践

不问归期 提交于 2019-11-28 21:58:00
MQTT介绍: http://mqtt.org 服务器端 https://mosquitto.org/download/ PHP客户端 https://github.com/bluerhinos/phpMQTT MQTT QOS等级订阅和发布的关系 https://www.jianshu.com/p/ebe4b2c0461d qos = 0:仅发一次,不管是否能收到 qos = 1:没返回一直发,可能有重复接收(接收到消息可能未传递给客户端) qos = 2:保证必须收到,并且不重复(使用MSG_ID保证不重复接收) 也就是服务器只会按pub和sub两者qos等级最小的那个qos规则来发送消息。 pub时指定的qos是服务器肯定按此规则接收,但是最终订阅者不一定。 sub时指定的qos表示订阅者可以接收的最高消息等级,也就是可能收到更低等级的消息。 遇到的问题 1. qos=2 一直没有测试成功,mosquitto 已经收到客户端的消息,但订阅端就是接收不到。 2. 当有多个订阅端时,又是后收到的消息居然会不全,前面会有乱码出现。 3. 没有HTTP简单直接;感觉没有HTTP可靠通用; 消息发布 <?php require("../phpMQTT.php"); $server = '127.0.0.1'; // 服务器IP $port = 1883; // 服务器端口

MQTT简单介绍与实现

邮差的信 提交于 2019-11-28 20:33:44
1. MQTT 介绍 它是一种 机器之间通讯 machine-to-machine (M2M)、物联网 Internet of Things (IoT)常用的一种轻量级消息传输协议 适用于网络带宽较低的场合 包含发布、订阅模式,通过一个代理服务器(broker),任何一个客户端(client)都可以订阅或者发布某个主题的消息,然后订阅了该主题的客户端则会收到该消息 1.1 消息主题 发布消息或者订阅消息都要选定一个消息主题,消息主题可以任意定制,类似文件系统,用 “/” 进行分隔,例如主题为 /a/b/c/d 的消息 客户端可以使用完全字符匹配消息,也可以使用通配符进行消息匹配 通配符 + :替换任意单个层级。比如订阅 /a/b/c/d、/a/+/c/d 、+/+/+/+ 主题的消息即可收到主题为 /a/b/c/d 的消息,而 b/+/c/d 、 +/+/+ 不会匹配 通配符 # :匹配任意层级,只能用于末尾, #、a/# 可以匹配上面的主题消息 长度为 0 的主题层级也是允许的。比如发布主题为 a//topic 的消息,客户端可以用 a/+/topic 进行匹配。/a/topic 的主题用 +/a/topic、#、/# 可以匹配。 1.2 服务质量(Quality of Service,QoS) MQTT 定义了三种客户端与代理服务器之间消息到达的难度 0:broker

MQTT——入门介绍

风格不统一 提交于 2019-11-28 20:33:27
笔者相信大家对HTTP一定不能陌生。"HTTP协议的三次握手四次挥手"相信也略有耳闻。HTTP协议的优势相信大家都明白。不然他不会这流行。然而这并不能忽略他的缺点。最大的特点就是无状态。有没有人做过推送的业务。这个时候用HTTP协议显然是多么SB的事情。笔者有见过一款手机APP。他即然是在客户端那边开起一个后台线程然后每一段时间去请求一下服务器,来更新客户端的信息。不是说不行,可是你们不觉得这样做太伤了吗?HTTP协议是请求/响应的模式进行的。当然这样子很简单,但优缺点也很明显。也许可能这就是出现很多通信协议——XMAP协议、MQTT协议、CoAP协议等。最近笔者因为公司任务不得不去了解一下MQTT协议。所以才会有了这一系列的出现。 如果读者们在百娘上面查找MQTT的话,就会出现很多关于MQTT的介绍。下面是笔者常用的几个网站。 中文MQTT站点: https://www.gitbook.com/book/mcxiaoke/mqtt-cn/details 英文MQTT站点: http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html#connect 博客MQTT站点: http://www.steves-internet-guide.com/mqtt/ 在这里笔者建议还是要去看英文的

MQTT的使用介绍

妖精的绣舞 提交于 2019-11-28 20:33:18
之前项目中使用到了mqtt,刚开始用着用着都不知道是干啥的,后来百度了一下: MQTT MQTT基于订阅者模型架构,客户端如果互相通信,必须在同一订阅主题下,即都订阅了同一个topic,客户端之间是没办法直接通讯的。订阅模型显而易见的好处是群发消息的话只需要发布到topic,所有订阅了这个topic的客户端就可以接收到消息了。 发送消息必须发送到某个topic,重点说明的是不管客户端是否订阅了该topic都可以向topic发送了消息,还有如果客户端订阅了该主题,那么自己发送的消息也会接收到。 MQTT特点 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。这一点很类似于XMPP,但是MQTT的信息冗余远小于XMPP 对负载内容屏蔽的消息传输 使用TCP/IP提供网络连接。主流的MQTT是基于TCP连接进行数据推送的,但是同样有基于UDP的版本,叫做MQTT-SN。这两种版本由于基于不同的连接方式,优缺点自然也就各有不同了 三种消息传输方式QoS: 0代表“至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。 1代表“至少一次”,确保消息到达,但消息重复可能会发生。 2代表“只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中

MQTT介绍与使用

最后都变了- 提交于 2019-11-28 20:33:03
参考自: https://www.cnblogs.com/sxkgeek/p/9140180.html 目录 一、MQTT简介 二、特性 三、实现方式   四、MQTT的搭建(ubuntu) 五、MQTT权限配置 六、MQTT实现(Java语言) 正文   物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。其英文名称是:“Internet of things(IoT)”。顾名思义,物联网就是物物相连的互联网。这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息。物联网通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。   而在物联网的应用上,对于信息传输,MQTT是一种再合适不过的协议工具了。 回到顶部 一、MQTT简介   MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的轻量级协议,该协议构建于TCP/IP协议之上,MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销

MQTT介绍与使用

◇◆丶佛笑我妖孽 提交于 2019-11-28 20:32:48
   物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。其英文名称是:“Internet of things(IoT)”。顾名思义,物联网就是物物相连的互联网。这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息。物联网通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。   而在物联网的应用上,对于信息传输,MQTT是一种再合适不过的协议工具了。 一、MQTT简介   MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的轻量级协议,该协议构建于TCP/IP协议之上,MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。   MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M

MQTT系列 | MQTT的QoS介绍

a 夏天 提交于 2019-11-28 20:17:06
1. MQTT中的QoS等级 MQTT设计了一套保证消息稳定传输的机制,包括消息应答、存储和重传。在这套机制下,提供了三种不同层次QoS(Quality of Service): QoS0,At most once,至多一次; QoS1,At least once,至少一次; QoS2,Exactly once,确保只有一次。 QoS 是消息的发送方(Sender)和接受方(Receiver)之间达成的一个协议: QoS0 代表,Sender 发送的一条消息,Receiver 最多能收到一次,也就是说 Sender 尽力向 Receiver 发送消息,如果发送失败,也就算了; QoS1 代表,Sender 发送的一条消息,Receiver 至少能收到一次,也就是说 Sender 向 Receiver 发送消息,如果发送失败,会继续重试,直到 Receiver 收到消息为止,但是因为重传的原因,Receiver 有可能会收到重复的消息; QoS2 代表,Sender 发送的一条消息,Receiver 确保能收到而且只收到一次,也就是说 Sender 尽力向 Receiver 发送消息,如果发送失败,会继续重试,直到 Receiver 收到消息为止,同时保证 Receiver 不会因为消息重传而收到重复的消息。 注意: QoS是Sender和Receiver之间的协议

MQTT系列 | Retained消息和LWT和Keep Alive

别来无恙 提交于 2019-11-28 20:17:00
1. Retained消息 Retained 消息是指在 PUBLISH 数据包中 Retain 标识设为 1 的消息,Broker 收到这样的 PUBLISH 包以后,将保存这个消息,当有一个新的订阅者订阅相应主题的时候,Broker 会马上将这个消息发送给订阅者。有以下这些特点: 一个Topic只能有一条Retained消息,发布新的Retained 消息将覆盖老的 Retained 消息(所以想删除一个 Retained 消息也很简单,只要向这个主题发布一个 Payload 长度为 0 的 Retained 消息就可以了); 如果订阅者使用通配符订阅主题,它会收到所有匹配的主题上的 Retained 消息; 只有新的订阅者才会收到 Retained 消息,如果订阅者重复订阅一个主题,也会被当做新的订阅者,然后收到 Retained 消息; Broker 收到 Retained 消息后,会单独保存一份,再向当前的订阅者发送一份普通的消息(Retained 标识为 0)。当有新订阅者的时候, Broker 会把保存的这条消息发给新订阅者(Retained 标识为 1)。 Retained消息和持久性会话的区别: Retained消息是Broker为每一个Topic单独存储的; 持久性会话是Broker为每一个Client单独存储的 1.1. 代码实践