前言:网上资料大部分都是使用的云服务,我是采用自己搭建的服务器来进行试验的,接下来将记录过程。
一,服务器搭建
1.使用云服务器
云服务器有很多种网上也有很多教学在这里不进行过多的解释了,我实验的时候采用的阿里云国内的服务器这里以后还会进行介绍。
2.自己搭建服务器——戴尔R620(本实验采用)
本实验主要采用的是自己搭建服务器,在整理的时候发现有一台R620不想让他吃灰可以搭建个服务器。
我们采用的U盘安装系统这里可以参考
制作ubuntu 18.04 U盘启动盘_AllyLi0224的博客-CSDN博客_u盘制作ubuntu系统盘
启动盘烧入完后进行BIOS设置安装操作系统这个资料很多就不再演示了,过程和创建虚拟机一样,玩过虚拟机的都能看懂。
当进入界面后我们需要对网络进行配置,防火墙配置,主要是防火墙端口的配置和路由器的配置,因为你是自搭建服务器不像云服务器在后台可以直接管理安全组。
1)远程控制神器 rustdesk
在进行完服务器基本设置后我们要进行远程控制,你可以摆脱显示器等远程控制这个服务器(服务器只需插电源线和网线继续吃灰),这里推荐rustdesk 这个软件开源的,安全性很高TLS加密传输。
安装:有客户端和服务端 版本很多要看清楚安装
二,选择消息服务器
1.rabbitmq
rabbitmq的网页对于新手来说不是很友好全英文,但是与emqx相比所能承受带宽数据量等有很大的优势,缺点是搭建和配置过程相对于empx不是很简单,我也搭建过 但对于简单的实验的话empqx简单在这里可以参考一下资料
【学相伴】狂神说 RabbitMQ笔记(简单使用RabbitMQ)_冷血~多好的博客-CSDN博客
安装配置RabbitMQ(启动SSL)及测试案例_wil1jiang的博客-CSDN博客
RabbitMQ 发展史与安装_带铃铛的鱼儿的博客-CSDN博客_rabbitmq 发展历史
rabbitmq-c 源码初解(一)_supe1212的博客-CSDN博客
基于RabbitMQ的MQTT插件搭建MQTT服务,使用MQTTX进行收发测试_java编程艺术的博客-CSDN博客_rabbitmq mqtt插件
2.emqx(本实验采用)
在服务器上安装empx参考官网手册写的很明白https://www.emqx.io/zh/downloads?os=Ubuntu
选择好自己的操作系统 一键安装
使用指南很重要不仅是服务器搭建,移动端的配置都需要这个使用只能(单片机的配置、微信小程序的配置、网页配置),在部署完后就不要在更改ip了
自己搭建的服务器一定要注意端口是否开启,1)linux防火墙 2)路由器防火墙
我是在学校搭建的一直连接不到,检查错误后发现ping都不通后来联系网管才知道学校防止被攻击关闭了所有的端口,外网访问不到。和后来拉的联通的网线,登录路由器页面打开了所使用的端口,用外网ping能通了 。
输入以下代码判断empx是否正常工作,也可以看到所用端口。
sudo systemctl status emqx
接下来我们登入网页版emqx,输入你的外ip或者域名端口号是18083
在这里面我们也可以看到所监听的端口,刚安装的empx可能没有ssl,也就了两个ws和tcp,你需要在服务器上安装ssl才可以开启。
8883、1883、8083、8084、18083等端口,8083主要是用于未加密的websocket协议的端口(ws),8084就是加密的端口用来微信小程序连接的(wss),18083主要是访问EMQX控制台的端口,1883是基本的TCP端口在此是单片机来连接服务器的端口,8883就是加密的端口(https)。
微信小程序开发文档中说明由于安全的原因只支持websocket/TLS协议,所以本实验必须开启wss协议的端口来给小程序接入服务器来使用。
开启ssl大部分人是不需要进行的操作,除非要制作微信小程序等需要加密的。这一部分将会在后期介绍。
在emqx中有客户端,不需要再使用mqtttx等客户端,这个对于测试很方便
下面 后期更新
三,客户端
1.设备端(单片机)
2.移动端(微信小程序)
3.桌面端(mqttx)
若有错误,请及时评论改正,谢谢各位大佬