电子说
MQTT Broker 也称为 MQTT 消息服务器,它可以是运行了 MQTT 消息服务器软件的一台服务器或一个服务器集群。MQTT Broker 负责接收来自客户端的网络连接,并处理客户端的订阅/取消订阅(Subscribe/Unsubscribe)、消息发布(Publish)请求,同时也会将客户端发布的消息转发给其他订阅者。
风火轮X86主板youyeetoo X1这个小巧的板子,正合我意,可以部署一个MQTT Broker在家里,然后实现智能家居的场景,让家里的设备能够实现互联。
本篇文章我们在实战开发,将youyeetoo X1部署成mqtt Broker。下面我们看看需要做哪些工作:
切换系统
youyeetoo X1默认为windows系统,我们mqtt网关方案是部署在ubuntu上面,youyeetoo X1支持ubuntu系统,所以需要将其系统替换为ubuntu系统。
BIOS更新
笔者采用的是hdmi屏幕,而板子默认的BIOS的屏幕是mipi,显示HDMI的时候会有些问题,所以我们需要更行BIOS。更新步骤如下:
下载完整BIOS更新包,下载地址:http://d.youyeetoo.cn/X1/BIOS/X1%20BIOS(%E5%AE%8C%E6%95%B4BIOS%E6%9B%B4%E6%96%B0%E5%8C%85).zip。
将完整包BIOS解压之后内容放在U盘的根目录上。
不同版本BIOS下载,下载地址:http://d.youyeetoo.cn/X1/BIOS/BIOS.zip,解压之后的内容如下:
BIOS名称 | 说明 |
---|---|
X1_01_S4_Analog_MIC_20230915144429.bin | 4G 内存DDR4 + 模拟MIC + MIPI 7 LCD屏默认显示 |
X1_01_S4_Digital_MIC_20230915152233.bin | 4G 内存DDR4 + 数字MIC麦克风 + MIPI 7 LCD屏默认显示 |
X1_01_S8_Digital_MIC_20230915151924.bin | 8G 内存DDR4 + 数字MIC麦克风 + MIPI 7 LCD屏默认显示 |
X1_01_S8_Analog_MIC_20230915144727.bin | 8G 内存DDR4 + 模拟MIC麦克风 + MIPI 7 LCD屏默认显示 |
X1_01_S16_Analog_MIC_20230915145021.bin | 16G 内存DDR4 + 模拟MIC麦克风 + MIPI 7 LCD屏默认显示 |
X1_01_S16_Digital_MIC_20230915151544.bin | 16G 内存DDR4 + 数字MIC麦克风 + MIPI 7 LCD屏默认显示 |
X1_NO_MIPI_01_S4_Analog_MIC_20230915150032.bin | 4G 内存DDR4 + 模拟MIC + HDMI默认显示(关闭MIPI屏显示) |
X1_NO_MIPI_01_S8_Analog_MIC_20230915145622.bin | 8G 内存DDR4 + 模拟MIC + HDMI默认显示(关闭MIPI屏显示) |
X1_NO_MIPI_01_S8_Digital_MIC_20230915150730.bin | 8G 内存DDR4 + 数字MIC + HDMI默认显示(关闭MIPI屏显示) |
X1_NO_MIPI_01_S16_Analog_MIC_20230915145317.bin | 16G 内存DDR4 + 模拟MIC + HDMI默认显示(关闭MIPI屏显示) |
X1_NO_MIPI_01_S16_Digital_MIC_20230915151145.bin | 16G 内存DDR4 + 数字MIC + HDMI默认显示(关闭MIPI屏显示) |
笔者拿到的youyeetoo X1的板子是8G的DDR,所以需要将U盘中的BIOS.bin替换为X1_NO_MIPI_01_S8_Analog_MIC_20230915145622.bin或者X1_NO_MIPI_01_S8_Digital_MIC_20230915150730.bin,并将名字修改为BIOS.bin(一定要修改为这个名字)。
插U盘上电,就能自动进入更新BIOS程序。
ubuntu系统安装
下载ubuntu镜像,笔者使用的ubuntu20.04,下载连接:https://releases.ubuntu.com/22.04/ubuntu-22.04.3-desktop-amd64.iso
下载ubuntu启动盘制作工具,下载地址:http://d.youyeetoo.cn/X1/Linux-tools/rufus-4.2.exe
双击rufus-4.2.exe,插入U盘(注意:如果U盘有重要的东西,保存好,启动盘制作过程,会将U盘格式化)。操作步骤如下图,漫长等待ubuntu制作完成。
将ubuntu启动盘插入到youyeetoo X1,然后开发板上电,等待进入系统安装界面,出现如下图,选择第二个,进入ubuntu系统的安装。
开始进行安装Ubuntu系统界面
在安装之前,需要先格式化一遍emmc,否则可能会导致在安装过程中失败
删除emmc全部分区,删除分区的方法是鼠标选中对应分区,点击下面的减号。
创建emmc分区,这里我们只需要创建两个分区就足够了,一个是efl分区和根文件分区。一个用来引导进入Ubuntu系统,一个用来挂载Ubuntu新系统。创建方法:鼠标选中 free space分区,点击加号,并进行配置。
创建efl分区,这里我们配置大小为512MB,分区格式选择EFI System Partition。
创建根文件分区,分区格式选择Ext4 journaling file system,挂载点选择/
配置完分区之后,选择擦除整个磁盘并安装ubuntu
进行下一配置,设备账号和密码,开始安装
最后重启youyeetoo X1
部署MQTT服务器
板子插上网线,下载emqx安装包,下载链接:https://www.emqx.com/zh/downloads/enterprise/5.0.4/emqx-enterprise-5.0.4-ubuntu22.04-amd64.deb
$ wget https://www.emqx.com/zh/downloads/enterprise/5.0.4/emqx-enterprise-5.0.4-ubuntu22.04-amd64.deb
安装emqx
$ sudo apt install ./emqx-enterprise-5.0.4-ubuntu22.04-amd64.deb
启动emqx服务
sudo systemctl start emqx
在浏览器中输入http://ip:18083/登录mqtt服务器,其中ip为youyeetoo X1的ip 地址。
第一次登录需要重新修改密码,修改完密码,即可登录。
验证MQTT服务器
我们通过mqtt.fx作为客户端验证youyeetoo X1上搭建的mqtt服务器。在mqtt.fx上创建一个profiler
修改profiler的信息,填入mqtt服务器IP,端口号,客户端ID,用户名,登录密码
连接服务器,验证是否能连接,如果mqtt.fx的右上角亮绿灯说明连接成功,并且我们可以在MQTT服务器上看到连接的设备
在mqtt.fx上订阅一个主题,通过emqx自带的websocket发布主题信息,查看数据传输是否正常。
查看mqtt.fx上可以接收到websocket发布的消息.
总结
风火轮推出的X86开发板(youyeetoo X1),支持系统windows和ubuntu,这让我们部署一些服务提供便利。
youyeetoo X1 小巧的特性,作为一个小网关是非常便捷的,我们可以在家里部署一个智能家居场景。
youyeetoo X1的性能整体验证下来还不错,ubuntu系统运行不卡顿,值得点赞。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !