文章目录
一、简介二、环境准备1、树莓派2、阿里云ECS3、PC三、ECS搭建部署EMQ1、EMQ X Enterprise的安装2、添加License文件四、MQTT通信1、准备工作2、树莓派通信3、PC通信一、简介
为了实现树莓派采集传感器数据存入云服务器的需求,学习如何在阿里云ECS部署EMQ,通过其实现与树莓派和PC的数据通信。
二、环境准备
环境准备分为树莓派、阿里云ECS、PC三方面。
1、树莓派
型号:树莓派4b操作系统:-01-11-raspios-buster-armhf-fullMQTT:mosquito-1.5.5关于树莓派如何安装mosquito请看上一篇树莓派使用mosquito实现订阅发布。
2、阿里云ECS
我的阿里云服务器是通过阿里云高校计划免费领的两个月,算是学生党的福利。
操作系统:CentOS 8.0 64位CPU&内存:2核 4 GiB
3、PC
操作系统:Windows10 20H2MQTT客户端:MQTTX.1.5.2三、ECS搭建部署EMQ
此次部署的EMQ采用的是EMQ X Enterprise
。EMQ X Enterprise
免费试用的License:下载链接:License下载
1、EMQ X Enterprise的安装
点击上方下载链接,按照自己对应的操作系统进行选择,获取License
安装命令:
# 如果有安装过其他版本的EMQ,需要先进行卸载sudo yum remove emqx emqx-edge emqx-ee# 卸载完成后,即可进行正式安装# 1. 下载 emqx-ee-centos8-4.2.5-x86_64.rpm SHA256wget /downloads/enterprise/v4.2.5/emqx-ee-centos8-4.2.5-x86_64.rpm# 2. 安装rpm -ivh emqx-ee-centos8-4.2.5-x86_64.rpm# 3. 运行sudo emqx start
其他辅助命令:
# 查看EMQ的状态emqx_ctl status# 后台启动 EMQ X Brokeremqx start# 关闭 EMQ X Brokeremqx stop# 重启 EMQ X Broker;emqx restart
2、添加License文件
①、通过注册登录,即可成功下载license.zip
文件,将其解压至桌面。
②、通过xftp
将我们需要的emqx.key
、emqx.lic
这两个文件上传至ECS的/etc/emqx/目录下
另外xftp
新建会话的时候注意协议选择SFTP,不然连接不上。
③、执行emqx_ctl license reload
命令更新 License 文件
此时ECS算是正式成功部署EMQ。
四、MQTT通信
EMQ部署成功,下一步就是用其实现通信。
1、准备工作
因为阿里云服务器有安全组设置,也就是防火墙,它会限制端口的使用,我们需要将其手动开放,下图就是一般常用的端口开放:
打开http://localhost:18083/ ,测试是否能够成功登录EMQ
的Dashboard
,初始账号:admin
,密码:public
登录成功后,我们可以在websocket页面中进行订阅发布的测试。
2、树莓派通信
1、在树莓派中开启MQTT服务
mosquitto -v
2、在云服务中订阅消息
mosquitto_sub -v -t gpio -h 192.168.1.110# -h指定MQTT代理服务器主机,指向PC机IP地址192.168.1.110
3、在树莓派中发布消息
mosquitto_pub -t gpio -h 192.168.1.110 -m "{\"pin\":17,\"value\":0}"# -h指定MQTT代理服务器主机,指向PC机IP地址192.168.1.110
3、PC通信
①、PC打开MQTTX新建客户端,与服务器进行连接。
②、通过添加订阅,可以接收到相关主题发布的信息,通过设定主题点击发送即可将设置好的信息进行发送。