本项目为大四物联网中间件的课程设计
由于前期未拿到硬件平台以及传感器,所以先做软件方面
首先先搭建mqtt服务器,先看一下目前各类mqtt服务器的对比,下图:
| Server | QoS 0 | QoS 1 | QoS 2 | auth | Bridge | $SYS | SSL | Dynamic topics | cluster | websockets | plugin system | Mqtt 5 support | Active development |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Aedes | ✔ | ✔ | ✔ | Username/Password | rm | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ |
| AWS IoT Services | ✔ | ✔ | ✔ | Client certificates | ? | ✘ | ✔ | § | ✔ | ✔ | ✘ | ✘ | ✔ |
| Apache ActiveMQ Artemis | ✔ | ✔ | ✔ | JAAS | ✘ | ✘ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ |
| BevywiseIoTPlatform | ✔ | ✔ | ✔ | Key based | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | rm | ✘ | ✔ |
| ClearBlade | ✔ | ✔ | ✔ | OAuth based User/Pass & Per-channel authorization | ? | ✔ | ✔ | ✔ | ✔ | ✔ | ? | ✘ | ✔ |
| ejabberd | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| emitter | ✔ | ✘ | ✘ | Per-channel authorization | ✘ | ✘ | ✔ | ✔ | ✔ | ✔ | ✘ | ✘ | ✔ |
| emqttd / EMQ | ✔ | ✔ | ✔ | Username/Password, JWT, LDAP, ClientID, … | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ |
| flespi | ✔ | ✔ | ✔ | ✔ | ✘ | ✘ | ✔ | ✔ | ✔ | ✔ | ✘ | ✘ | ✔ |
| GnatMQ / M2MQTT | ✔ | ✔ | ✔ | Username/Password | ✘ | ✘ | ✔ | ✔ | ✘ | ✘ | ✘ | ✘ | ✔ |
| HBMQTT | ✔ | ✔ | ✔ | Username/Password, Client certificates | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✘ | ✔ |
| HiveMQ | ✔ | ✔ | ✔ | Username/Password | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| IBM IoT MessageSight | ✔ | ✔ | ✔ | Username/Password | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ |
| IBM Watson IoT Platform | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ |
| IBM WebSphere MQ Middleware | ✔ | ✔ | ✔ | Username/Password, client certificate | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✘ | ✔ |
| Jmqtt | ✔ | ✔ | ✔ | Username/Password, Client certificates | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✘ | ✔ |
| JoramMQ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✘ |
| Mongoose | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✘ | ✔ | ✔ | ✘ | ✔ |
| moquette | ✔ | ✔ | ✔ | ? | ✔ | ✘ | ✔ | ✔ | rm | ✔ | ✘ | ✘ | ✔ |
| mosca | ✔ | ✔ | ✘ | ✔ | ✘ | ✘ | ✔ | ✔ | ✘ | ✔ | ✘ | ✘ | ✘ |
| mosquitto | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | § | ✔ | ✔ | ✘ | ✔ |
| MQTT.js | ✔ | ✔ | ✔ | § | ✘ | ✘ | ✔ | ✔ | ✘ | ✔ | ✘ | ✘ | ✔ |
| MQTTnet | ✔ | ✔ | ✔ | § | § | § | ✔ | ✔ | § | § | § | rm | ✔ |
| MqttWk | ✔ | ✔ | ✔ | ✔ | ✔ | ? | ✔ | ✔ | ✔ | ✔ | ✘ | ✘ | ✔ |
| RabbitMQ | ✔ | ✔ | ✘ | SASL | ✘ | ✘ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ |
| Software AG Universal Messaging | ✔ | ✔ | ✔ | ✔ | § | ✘ | ✔ | ✔ | § | rm | ✘ | ✘ | ✔ |
| Solace | ✔ | ✔ | ✘ | Basic, client certificate, Kerberos | § | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✘ | ✔ |
| SwiftMQ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | ✔ | ✘ | ✔ | ✘ | ✔ |
| TraferoTstack | ✔ | ✔ | ✔ | ✔ | ✘ | ✘ | ✔ | ✔ | ✘ | ✘ | ✘ | ✘ | ✘ |
| VerneMQ | ✔ | ✔ | ✔ | Username/Password | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ |
我选择了emq x。
anyone:你为什么选择emq x而不选择别的?难道是因为是基于Erlang/OTP 语言平台开发的?
me:Erlang/OTP 语言? 听都没听过,也就只是它运气好而已啊,一见钟情(其实以前用过一款mqtt服务器只是忘了叫什么了。。。)。
anyone:哪emq x有什么优势?
me:。。。。目前没发现什么优势,好像大多mqtt服务器都长得一样。
不扯了,开始安装
我是用的阿里云的服务器系统镜像centos7.3
emq x安装
如果之前有安装emq x
先卸载:
sudo yum remove emqx emqx-edge emqx-ee
安装依赖包:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
使用以下命令设置存储库,以 CentOS7 为例
$ sudo yum-config-manager --add-repo https://repos.emqx.io/emqx-ee/redhat/centos/7/emqx-ee.repo
安装最新版本的 EMQ X
$ sudo yum install emqx-ee

启动:
emqx start
如果现实15s内启动失败
则需要升级一下openssl:
yum update openssl
再次启动就可以了

现在登录mqtt服务器管理页面地址为http://你的ip:18083
初次登录用户名是:admin 密码是:public
建议修改登录密码,不然很容易被扫到登陆的。
最后
以上就是整齐橘子最近收集整理的关于项目实战-物联网平台搭建-mqtt服务器搭建(一)emq x安装的全部内容,更多相关项目实战-物联网平台搭建-mqtt服务器搭建(一)emq内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复