4.1-Air302(NB-IOT)-自建MQTT服务器-购买云服务器安装MQTT服务器软件(Linux系统)
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/Learn-NB-IOT-Air302-ForLua" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
说明
云服务器:
就是一台电脑,和咱使用的是一样的.云服务器实际上最终还是物理机,只不过物理机是服务商的,服务商负责维护运行.
服务商提供了网页端让咱去购置和选型,购置完以后就可以登录使用.
云服务器还有一个特点是IP地址是公网IP地址.就是说凡是可以上网的设备都可以访问这个IP地址.
咱自家使用的电脑的IP是路由器或者交换机分配的IP地址,咱这个IP地址一般只能局域网内访问.
MQTT:
MQTT是一套通信协议的简称!
这套协议是建立了TCP连接之后,使用的通信数据协议.
安装上MQTT服务器(TCP服务器)软件之后,所有的设备都以TCP的方式连接上服务器,
然后使用MQTT规定的协议,就可以轻松的实现设备和设备之间通信.
MQTT服务器实际上就是做TCP数据转发.
购买阿里云服务器
阿里/腾讯/百度/华为等等各家都推出了云服务器,用户可以根据自己的情况选择购买.
这节以阿里云为主.(只要会使用一家,其他触类旁通)
1.登录阿里云:
https://www.aliyun.com/
2.搜索云服务器
3.立即购买
4.选择1核(处理器1核) 1G(运行内存1G)的就可以.
5. 选择 CentOS 7.6
6.直接点击下一步
7.设置 root 密码 , 点击确认订单
8.付钱
配置安全组
安全组是设置云端电脑开放的端口号
为了方便学习,减少繁琐,直接开启所有的端口号.
https://www.aliyun.com/
1.选择控制台
2.点击云服务器
3.点击
4.管理
5.选择安全组 ; 配置规则
6.用户看一下入方向有没有以下设置
如果没有则手动添加
7.用户看一下出方向有没有以下设置
如果没有则手动添加
登录云服务器(在浏览器器上登录)
安装宝塔软件
宝塔软件相当于给Linux系统安装了页面.
输入y 回车
Bt-Panel 是登录宝塔的网址
username 登录的用户名
password 密码
登录宝塔
1.在浏览器上输入 登录宝塔的网址
2.我的版本启动之后有个协议,如果没有可忽略
3.进去之后会提示
4.如果是新手,建议直接点击左边的一键安装即可
注:安装Nginx就可以,版本随意
选择编译安装比较稳定!但是安装极慢,1个多小时吧.
5.安装中
Nginx : 最优秀的WEB服务器软件
Mysql : 数据库软件
FTP : 文件服务器,用于文件传输
PHP : 世界上最好用的编程语言(主要适用于Web开发)
phpMyAdmin : 数据库页面展示软件
6.安装完成
往服务器传输文件方式1
点击上传即可上传文件或者压缩包
往服务器传输文件方式2: FTP
1.添加一个FTP,设置上传文件的路径
2.安装FTP软件
3. 选择文件 站点管理器
注意:
注意:
注意:
如果出现
错误: 20 秒后无活动,连接超时
错误: 无法连接到服务器
状态: 正在等待重试...
有可能你用的移动的宽带网络!!!!
移动的宽带网络限制!!!!!
换个网络/手机开热点
传输文件夹到服务器
选择要传输的文件,拖到这个位置
注意:鼠标一定要到达右面的文件夹位置,出现图示样子,松开鼠标左键
开放端口
安装MQTT软件
1.把以下文件上传到云端电脑
2.上传到opt目录
3.解压
4. 启动命令行
5.输入 cd .. 返回上一级目录
6.输入 ls 查看下当前在哪一级
7. cd opt 进入opt目录
ls 查看目录
8.以控制台方式启动MQTT
第一次没有启动起来,启动了两次
cd emqttd && ./bin/emqttd console
cd ..
cd emqttd && ./bin/emqttd console
提示:该软件默认
1883端口是普通TCP连接
8883端口是TCP + SSL
8083端口是WebSocket
8084端口是WebSocket + SSL
测试通信
1.打开调试助手
2.这是我写的一个C#上位机MQTT调试助手,提供了源码.
①:
输入自己服务器的IP地址
端口号填写 1883
ClientID 如果不填写内部自动生成
用户名可以不填写,因为还没设置MQTT的用户名
密码同上
② 点击连接
③ 点击订阅
④ 发送数据
以上软件设置的是自发自收
因为发布的主题是 Topic 订阅的主题也是 Topic
实际上是数据携带着Topic发给了MQTT服务器,
因为软件订阅的主题是 Topic
所以服务器把数据转发给了软件
修改MQTT用户名和密码
1.退出控制台
键盘按两次 Ctrl + C
2.编辑emq.conf
3.修改一下文件里面的 mqtt.allow_anonymous = false
4.编辑 emq_auth_username.conf
修改用户名和密码(可以设置多套)
auth.user.1.username = yang
auth.user.1.password = 11223344
5.控制台启动 MQTT
cd emqttd && ./bin/emqttd console
6.浏览器输入: http://服务器IP地址:18083
默认用户名 admin 密码: public
7.启用用户鉴权
测试
把MQTT安装到电脑
1.退出控制台
键盘按两次 Ctrl + C
./bin/emqttd start
其它:停止MQTT ./bin/emqttd stop
网页端调试助手测试
1.源码路径
2.双击打开调试助手,和上面上位机一样测试即可
注:网页端走的是WebSocket