mosquitto

消息中间件技术

北城以北 提交于 2020-05-01 00:06:24
作者:carter(佘虎),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 1.1概念 MQTT(MQ Telemetry Transport) 消息队列遥测传输协议是IBM开发的一种网络应用层的协议,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器,卫星等移动设备。 1.2优点 1.2.1非常低的通信开销 MQTT 的独特之处在于,它的每消息标题可以短至 2 个byte。MQ 和 HTTP 都拥有高得多的每消息开销。对于 HTTP,为每个新请求消息重新建立 HTTP 连接会导致重大的开销。MQ 和 MQTT 所使用的永久连接显著减少了这一开销。 1.2.2低功耗,省电 您需要能够及时地将通知传递给客户。为此,必须采用某种定期轮询或推送方法;从电池、系统负载和带宽角度讲,推送是最佳解决方案。MQTT 是专门针对低功耗目标而设计的。HTTP 的设计没有考虑此因素,因此增加了功耗。 1.2.3单机百万级并发 在 HTTP 堆栈上,维护数百万个并发连接,需要做许多的工作来提供支持。尽管可以实现此支持,但大多数商业产品都为处理这一数量级的永久连接而进行了优化。IBM 提供了 IBM MessageSight

MQTT

与世无争的帅哥 提交于 2020-04-26 12:25:28
1. MQTT协议 这段时间吧,很有幸,解除到了一种协议MQTT,之前呢,在一些同行的盆友口中也略有耳闻。但是也仅仅是听过,并没有下来花什么时间对它进入太多的了解与熟悉。现在不同,工作项目中有所应用,这下我就不得不去了解了。我们搞技术的就是这样,很多时候,对于新鲜的事务可能没有到真实应用的时候,并不会去刻意的了解与学习,只有等到要用的时候,才去学习。哎!都是被工作赶着走的人儿呢。尴尬!! 好了,言归正转。我们来聊聊MQTT。 首先我来说一下这篇文章的标题,可能会把人带偏,其实MQTT并不是一种消息中间件,MQTT是一种通信传输协议。只是我们可以去基于MQTT规范去实现一个MQTT的消息中间件。所以人们可以将这一类实现了MQTT协议的中间件服务统称为MQTT消息中间件,我暂时是这么理解的。 说到MQTT协议,那么MQTT是一种什么协议呢。MQTT是IBM定义的一种比较轻量级的发布定于模式消息传输协议。主要用于针对物联网应用中低宽带和网络环境不是很稳定的场景。比如什么智能硬件啊,车联网等,智能家居,智能电器,智慧城市,电力,石油,能源等市场。 MQTT协议的特点: 开放消息协议,简单易实现 发布订阅模式,一对多消息发布 基于TCP/IP网络连接 1字节固定报头,2字节心跳报文,报文结构紧凑 消息QoS支持,可靠传输保证 目前MQTT V3.1.1应用比较广泛

[ARM入门] 迅为i.MX6开发板mqtt 移植教程(二)

倾然丶 夕夏残阳落幕 提交于 2020-03-10 16:34:43
把 mosquitto 移植到开发板 在 Ubuntu 的/home/topeet/下创建一个 mqtt-arm 的文件夹,如下图所示: 我们进入我们安装的 mosquitto-1.5 目录下,作者这里是安装在了/opt/mosquitto-arm 下,如下图所示: 我们把当前路径下的/etc/mosquitto/下的 mosquitto.conf.example 文件拷贝到我们在/home/topeet/下创建一个 mqtt-arm 的文件夹,命令如下: cp mosquitto.conf.example /home/topeet/mqtt-arm/ 如下图所示 然后我们返回到 mosquitto 的安装目录,我们进到安装目录下 mosquitto- 1.5/usr/local/bin 下面,如下图所示: 我们把这个目录下所有文件拷贝到我们在/home/topeet/下创建一个 mqtt-arm 的文件夹,命令如下: cp ./* /home/topeet/mqtt-arm/ 如下图所示: 然后我们返回到 mosquitto 的安装目录,我们进到安装目录下 mosquitto- 1.5/usr/local/sbin 下面,如下图所示: 我们把这个目录下的 mosquitto 二进制文件拷贝到我们在/home/topeet/下创建一个mqtt-arm 的文件夹,命令如下:

MQTT / Mosquitto bridge not authorised with broker ACL

我是研究僧i 提交于 2020-03-05 06:04:12
问题 I have bridge to a Mosquitto broker that works fine. But it shows error: Connection Refused: not authorised when I try to use this simple ACL file on bridged broker: user topic1_user topic topic1/# In my bridge config I have these settings under Bridges section: connection bridge-conn1 address remotebroker:8887 topic topic1/# both remote_username topic1_user remote_password secret Am I missing something? 来源: https://stackoverflow.com/questions/60005331/mqtt-mosquitto-bridge-not-authorised

MQTT协议使用mosquitto服务器在windows下使用libmosquitto订阅发布,简单小例子

自作多情 提交于 2020-02-28 06:17:31
1.去官网下载mosquitto (我使用Binary Installation--windows--mosquitto-1.4.14-install-win32.exe):      下载地址:https://mosquitto.org/download/ 2.双击安装。 3.使用:   进入mosquitto安装目录,双击“mosquitto.exe”开启服务。   如果出现缺少 .dll 文件,去www.zhaodll.com下载相应的dll文件。   ps:(我在打开mosquitto_sub.exe、mosquitto_pub.exe时缺少pthreadVC2.dll。下载之后放到mosquitto安装目录下即可。)      进入安装目录,双击双击“mosquitto.exe”即可,因为上面已经设置了手动启动mosquitto服务,所以该窗口不要关闭,测试过程重要一直启动该服务   对于订阅:   win+R键,输入cmd,即打开命令行,进入mosquitto目录,输入:mosquitto_sub -v -t MqttTest   -v表示打印更多调试信息,-t表示指定主题,MqttTest即为主题名   对于发布:   win+R键,输入cmd,即打开命令行,进入mosquitto目录,输入: mosquitto_pub -t MqttTest -m

Mqtt服务器搭建

白昼怎懂夜的黑 提交于 2020-02-28 06:12:50
/*--> */ /*--> */ Mqtt服务器搭建 测试环境:CentOS64位 1.安装基础软件 yum install gcc-c++ yum install cmake yum install openssl-devel //mosquitto默认支持openssl 2.下载源码包 wget http://mosquitto.org/files/source/mosquitto-1.4.4.tar.gz wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz --no-check-certificate wget https://github.com/warmcat/libwebsockets/archive/v1.3-chrome37-firefox30.tar.gz 3.解压源码包 tar xf c-ares-1.10.0.tar.gz && mv c-ares-1.10.0 /usr/local/src/ tar xf v1.3-chrome37-firefox30 -C /usr/local/src/ tar xf mosquitto-1.4.4.tar.gz -C /usr/local/src/ 4.编译准备 cd /usr/local/src/mosquitto-1.4.4/ vim compiling

windows下安装MQTT服务器 - Mosquitto

半世苍凉 提交于 2020-02-26 05:27:49
我们知道MQTT消息服务器有很多,但是最常用的只有两个: Mosquitto和EMQTT。在性能上来看,EMQTT的并发量最高,但同时CPU使用也占比很高。Moqtuitto虽然并发量不及EMQTT,但是其发送消息更快,CPU占用也更少。因此,本文选择了Moqtuitto作为MQTT消息服务器。 Mosquitto 安装 Mosquitto有很多版本,如果想体验新版本可以上github下载源文件编译,比较麻烦。我这里使用Mosquiitto提供的windows版本,虽然版本不是最新的,但是稳定。 1. 下载 从官网下载https://mosquitto.org/download/, 目前最新版本为 mosquitto-1.6.8-install-windows-x64.exe 2. 安装 虽然一路“下一步”很爽,为了默认的路径“C:\Program Files\mosquitto”包含了空格,所以这里安装时在C盘的mosquitto目录下。 3. 启动服务 如下图所示,点击启动服务后,mosquitto命令才可用。 4. 配置用户名密码 进入“C:\mosquitto”目录下,可以查看mosquitto的配置文件及命令 4.1 修改配置 找到mosquitto.conf文件,在任意位置添加如下代码,重启服务生效。 # 设置不允许匿名登录 allow_anonymous false

mosquitto设置用户名和密码

限于喜欢 提交于 2020-02-08 08:51:27
https://blog.csdn.net/qq_22111417/article/details/84142509 7、设置用户名和密码 找到用户密码文件在安装bin下: 1: 打开mosquitto.conf文件,找到allow_anonymous节点,这个节点作用是,是否开启匿名用户登录,默认是true。打开此项配置(将前面的 # 号去掉)之后将其值改为true     修改前:#allow_anonymous     修改后:allow_anonymous false   2: 找到password_file节点,这个节点是告诉服务器你要配置的用户将存放在哪里。打开此配置并指定pwfile.example文件路劲(注意是绝对路劲)     修改前:#password_file     修改后:password_file /etc/mosquitto/pwfile.example (这里的地址根据自己文件实际位置填写)   3: 创建用户名和密码、打开命令窗口 键入如下命令:   mosquitto_passwd -c /etc/mosquitto/pwfile.example admin     提示连续两次输入密码、创建成功。命令解释: -c 创建一个用户、/etc/mosquitto/pwfile.example 是将用户创建到 pwfile.example 文件中

How to Sign ssl on server

怎甘沉沦 提交于 2020-02-07 00:00:35
问题 I am using mosquitto broker server. I have enabled ssl as instructed here: http://www.steves-internet-guide.com/mosquitto-tls/ But this is self signed certificate. I have only read about adding ssl to websites. How do I add ssl to a mosquitto server so that it can be accessed from sites on https. Should I buy a certificate from a CA and then follow the steps given in the link? I don't know how I would add ssl to a server 回答1: Assuming you want your site to be used be anybody and not just