利用云服务器搭建MQTT服务

MQTT全称Message Queue Telemetry Transport,是一个针对轻量级的发布/订阅式消息传输场景的协议,同时也是被推崇的物联网传输协议。 MQTT:http://mqtt.org

在以Linux为内核的服务器上,可以有很多种方法来搭建MQTT服务,如Apache Apollo、Emqttd和Eclipse Mosquitto等等。 本文以将在阿里云Ubuntu云服务器上,创建专门用作MQTT服务器的账户,然后安装、开启并测试Mosquitto。

1. MQTT服务(官网):

Apache Apollo:http://activemq.apache.org/apollo/ EMQTTD:http://emqttd.com Eclipse Mosquitto: http://mosquitto.org

2. 准备工作

2.1 创建新用户

创建新用户是为了防止用户账户及密码泄露造成服务器root账号的信息安全及管理问题,因此很有必要单独创建一个用于MQTT服务的账户。 请在Terminal输入以下命令,XXXXX为你要新建的用户名称。

1

2.2 安装Mosquitto

3. 测试MQTT

3.1 电脑客户端安装

MQTT.fx ## 3.2 测试 ### 3.2.1 登录 在两台连接到不同IP的设备上(这里要求这两台设备不会连接到同一个网段,包括同一个WiFi)分别填写MQTT服务器的信息,包括: * 服务器的IP(或绑定了IP的域名) * 端口号(物联网用的MQTT端口号默认为:1883) * 用户名 * 密码 * 作为订阅者/发布者的昵称(大致是这个意思)

3.2.2 主题订阅及收信

在其中一台设备上填写订阅信息的主题名称,填写好后点Subscribe按钮。 在另一台设备上,填写发布信息的主题名称,填写好后在文本发送框填写发布内容并点击Publish按钮。

然后就可以欢快地在两台设备上发布和接收信息了,测试结束。

参考链接

  1. 【MQTT】在Ubuntu下搭建MQTT服务器
  2. micropython之动手搭建自己的MQTT服务器并实现通信(点亮led)
  3. 如何在Ubuntu 16.04上安装和保护Mosquitto MQTT消息传递代理
  4. ubuntu用户添加adduser, useradd