1.启动远程安装宝塔面板(宝塔面板提供了可视化的服务器环境的搭建,十分方便,适合新手和刚入门的小伙伴)
首先是服务器的镜像我选择看cetons 7.2。大家可以根据自己需要选择。安装宝塔面板同样也有相应的命令,最好要对应即可。安装宝塔面板还是十分快捷的,一般1分钟就安装好了。一定要进行安全配置如下图,放行所有端口就好了。
然后登陆安装的宝塔面板,选择相应的环境进行安装,php选择7.0以上,其他的都可以使用,等待安装完成,安装emqx提供的mqtt操作面板,打开宝塔的命令行,安装官方提供的命令安装即可,我安装的是免费开源版的,安装非常的慢,不知道为啥,官网安装文档地址:emqx安装
安装巨慢,可能下载的地址是国外的节点,这个没有深究,大家可以找找看,免费开源版带webhook,可以实现监控数据并post到你的其他页面,这样你就可以保存mqtt的信息了,但是需要自己写,还不会正在研究,后期分享大家源码,如下图是我测试的运行时长
经过测试可以看出运行还是十分稳定的,如下图运行一天多从未掉线,后续运行时长会继续更新。
mqtt服务客户端搭建完成我们可以进行相应的设备端开发,因为mqtt的轻应用等级,我们可以将其写入嵌入式单片机中,使用订阅,发布等操作,实现单片机和客户端的通讯,具体实现课参考官方文档,我这里使用了uniapp借鉴了插件库简单的实现了远程电灯等操作,主要操作步骤如下:
客户端:发布一主题A(用于发布改变设备状态指令)订阅主题B(用于接收设备上线和状态改变通知)
应用端:发布一主题B(用于通知客户端设备端的状态)订阅一主题A(用于接收客户端的命令实现状态的变换)
而服务器端只实现对消息的转发,可以很便捷的实现远程数据的传输,实现物联网的效果,具体复杂事项还在进一步的测试中。
简易的智能灯,界面初设计,目前还在改进中,目标完成远程灯,远程调灯的亮度,通过传感器传输电压值,温度,湿度,距离等信,这就依赖于服务器的低延迟了,使用过程中发现这个服务还是十分不错的相对于免费的服务器,延迟很低,几乎无延迟,再体验过程中,客户端发布消息,几乎再几十ms(可能是我客户端设备端处理的问题)左右,应用端也同时接收到了消息,肉眼看来几乎没有变化,几乎时同步的,服务器使用还是十分的香的,下面附上我使用时的一些截图,