文章目录

  • 一、简介
  • 二、环境准备
  • 1、树莓派
  • 2、阿里云ECS
  • 3、PC
  • 三、ECS搭建部署EMQ
  • 1、EMQ X Enterprise的安装
  • 2、添加License文件
  • 四、MQTT通信
  • 1、准备工作
  • 2、树莓派通信
  • 3、PC通信



一、简介

  为了实现树莓派采集传感器数据存入云服务器的需求,学习如何在阿里云ECS部署EMQ,通过其实现与树莓派和PC的数据通信。

emqx默认端口哪些_EMQ

二、环境准备

  环境准备分为树莓派、阿里云ECS、PC三方面。

1、树莓派

  • 型号:树莓派4b
  • 操作系统:2021-01-11-raspios-buster-armhf-full
  • MQTT:mosquito-1.5.5

 关于树莓派如何安装mosquito请看上一篇树莓派使用mosquito实现订阅发布

2、阿里云ECS

  我的阿里云服务器是通过阿里云高校计划免费领的两个月,算是学生党的福利。

emqx默认端口哪些_阿里云ECS_02


emqx默认端口哪些_阿里云ECS_03

  • 操作系统:CentOS 8.0 64位
  • CPU&内存:2核 4 GiB

3、PC

  • 操作系统:Windows10 20H2
  • MQTT客户端:MQTTX.1.5.2

三、ECS搭建部署EMQ

  此次部署的EMQ采用的是EMQ X EnterpriseEMQ X Enterprise免费试用的License:下载链接:License下载

1、EMQ X Enterprise的安装

点击上方下载链接,按照自己对应的操作系统进行选择,获取License

emqx默认端口哪些_树莓派_04


安装命令:

# 如果有安装过其他版本的EMQ,需要先进行卸载
sudo yum remove emqx emqx-edge emqx-ee

# 卸载完成后,即可进行正式安装
# 1. 下载 emqx-ee-centos8-4.2.5-x86_64.rpm SHA256
wget https://www.emqx.cn/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 Broker
emqx start

# 关闭 EMQ X Broker
emqx stop

# 重启 EMQ X Broker;
emqx restart

2、添加License文件

①、通过注册登录,即可成功下载license.zip文件,将其解压至桌面。

emqx默认端口哪些_阿里云ECS_05


②、通过xftp将我们需要的emqx.keyemqx.lic这两个文件上传至ECS的/etc/emqx/目录下

emqx默认端口哪些_阿里云ECS_06


另外xftp新建会话的时候注意协议选择SFTP,不然连接不上。

emqx默认端口哪些_阿里云ECS_07


③、执行emqx_ctl license reload命令更新 License 文件

emqx默认端口哪些_阿里云ECS_08


此时ECS算是正式成功部署EMQ。

四、MQTT通信

  EMQ部署成功,下一步就是用其实现通信。

1、准备工作

  因为阿里云服务器有安全组设置,也就是防火墙,它会限制端口的使用,我们需要将其手动开放,下图就是一般常用的端口开放:

emqx默认端口哪些_EMQ_09


  打开http://localhost:18083/ ,测试是否能够成功登录EMQDashboard,初始账号:admin,密码:public

emqx默认端口哪些_阿里云ECS_10


  登录成功后,我们可以在websocket页面中进行订阅发布的测试。

emqx默认端口哪些_emqx默认端口哪些_11

2、树莓派通信

emqx默认端口哪些_MQTT_12


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通信

emqx默认端口哪些_树莓派_13


①、PC打开MQTTX新建客户端,与服务器进行连接。

emqx默认端口哪些_阿里云ECS_14


②、通过添加订阅,可以接收到相关主题发布的信息,通过设定主题点击发送即可将设置好的信息进行发送。

emqx默认端口哪些_树莓派_15