MQTT系列1.1
我自己也是学物联网的,自己制作的小设备不少。
因此想搭建一个平台去管理,之前也根据mqtt库自己通过C#写过几次客户端,可以自己慢慢实现功能,但是总归不完善,而且那时候.net core也没正式出来,.net framework也不跨平台。因此自己写了一段时间就落下了。
选择EMQ的原因
目前MQTT协议的服务端里面第一个知道的就是EMQ,接触了一下发现功能还挺全的,就想着使用一段时间时间后分享一下。
选择服务器
现在手头上面有两台云服务器,分别是放个人网站的华为云和一台便宜买的阿里云的。
自己家里也有好多电脑。
至于选择云服务器做MQTTserver主要是以下几点优点:
1.有公网ip(自己电脑有动态的公网IP,要需要做DDNS,又多了一步,较为麻烦。)
2.可以用域名做跳转
3.方便做备份
4.随时随地都能访问,方便上传数据(手机电脑访问较为方便)
5.省电
选择自己的EMQ版本
以下是三种EMQ X产品的功能点对比图,Broker 是免费版本,商业版和平台版本是要付费的。
官网地址:https://www.emqx.io/cn/
文档地址:https://docs.emqx.io/broker/latest/cn/tutorial/device-management.html
安装
EMQ X 目前支持的操作系统:
Centos6 Centos7 OpenSUSE tumbleweed Debian 8 Debian 9 Debian 10 Ubuntu 14.04 Ubuntu 16.04 Ubuntu 18.04 macOS 10.13 macOS 10.14 macOS 10.15 Windows Server 2019 产品部署建议 Linux 服务器,不推荐 Windows 服务器。 支持以下多种安装方式
Shell 脚本一键安装 (Linux) 安装的是EMQ X Broker的版本
curl https://repos.emqx.io/install_emqx.sh | bash
以下是cmd窗口的输出
//安装开始
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2031 100 2031 0 0 1003 0 0:00:02 0:00:02 –:–:– 1003
Loaded plugins: fastestmirror
Determining fastest mirrors
epel/x86_64/metalink | 7.5 kB 00:00:00
* base: mirror.bit.edu.cn
* epel: mirrors.yun-idc.com
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.bfsu.edu.cn
base | 3.6 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/7): base/7/x86_64/group_gz | 153 kB 00:00:00
(2/7): base/7/x86_64/primary_db | 6.1 MB 00:00:00
(3/7): epel/x86_64/group_gz | 95 kB 00:00:01
(4/7): epel/x86_64/updateinfo | 1.0 MB 00:00:00
(5/7): epel/x86_64/primary_db | 6.8 MB 00:00:00
(6/7): extras/7/x86_64/primary_db | 165 kB 00:00:00
(7/7): updates/7/x86_64/primary_db | 120 kB 00:00:00
//中间部分省略
.
.
.
.
Installed:
emqx.x86_64 0:4.0.6-1.el7
Complete!
EMQ X install success
//安装完成
出现以上语句,EMQ x Broker 就安装完成了
启动 EMQ X Broker
原文链接: 启动地址.
启动 EMQ X
后台启动 EMQ X
$ emqx start EMQ X v4.0.0 is started successfully!
第一次启动会等稍微久一点的
关闭 EMQ X
$ emqx stop ok
systemctl 启动
$ sudo systemctl start emqx EMQ X v4.0.0 is started successfully!
与官网写的不一致,但是通过查看状态的命令,发现也是能成功启动的,就是没有输出。
service 启动
$ sudo service emqx start EMQ X v4.0.0 is started successfully!
查看 EMQ X 的状态
EMQ X 正常启动:
$ emqx_ctl status Node 'emqx@127.0.0.1' is started emqx 4.0.0 is running
EMQ X 未能正常启动:
$ emqx_ctl status Node 'emqx@127.0.0.1' not responding to pings。
你可以查看 logs 下的日志文件并确认是否属于 常见错误。
其他命令
网页查看
网页打开安装的服务器的18083端口,这个端口是MQTT的网页端口。
可能会连接不上,这个时候就要去检查,华为云或者阿里云的安全策略里面,18083端口是否正确打开。
通过宝塔面板进行端口放行。
如果显示端口是处于正常状态的,那就说明此时是有程序在占用这个端口的。
此时再去刷新原来的页面,就能进入了。
初始用户名是:admin
初始密码是:public
输入之后就能登陆了。
登陆后的第一件事,就是去创建新的账户或者修改admin的初始密码,否则不安全。
纵观整个页面,能看到就算是免费的EMQ X Broker 也提供了非常丰富的接口和管理。此外也提供了很多插件可以选择。
本文结束
原文链接:https://www.bilibili.com/read/cv7357293/