将youyeetoo X1部署成mqtt Broker实战开发

电子说

1.2w人已加入

描述

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盘的根目录上。

Ubuntu

不同版本BIOS下载,下载地址:http://d.youyeetoo.cn/X1/BIOS/BIOS.zip,解压之后的内容如下:

Ubuntu

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(一定要修改为这个名字)。

Ubuntu

插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

将ubuntu启动盘插入到youyeetoo X1,然后开发板上电,等待进入系统安装界面,出现如下图,选择第二个,进入ubuntu系统的安装。

Ubuntu

开始进行安装Ubuntu系统界面

Ubuntu

在安装之前,需要先格式化一遍emmc,否则可能会导致在安装过程中失败

Ubuntu

删除emmc全部分区,删除分区的方法是鼠标选中对应分区,点击下面的减号。

Ubuntu

创建emmc分区,这里我们只需要创建两个分区就足够了,一个是efl分区和根文件分区。一个用来引导进入Ubuntu系统,一个用来挂载Ubuntu新系统。创建方法:鼠标选中 free space分区,点击加号,并进行配置。

创建efl分区,这里我们配置大小为512MB,分区格式选择EFI System Partition。

Ubuntu

创建根文件分区,分区格式选择Ext4 journaling file system,挂载点选择/

Ubuntu

配置完分区之后,选择擦除整个磁盘并安装ubuntu

Ubuntu

进行下一配置,设备账号和密码,开始安装

Ubuntu

Ubuntu

Ubuntu

最后重启youyeetoo X1

Ubuntu

部署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 地址。

Ubuntu

第一次登录需要重新修改密码,修改完密码,即可登录。

Ubuntu

Ubuntu

验证MQTT服务器

我们通过mqtt.fx作为客户端验证youyeetoo X1上搭建的mqtt服务器。在mqtt.fx上创建一个profiler

Ubuntu

Ubuntu

修改profiler的信息,填入mqtt服务器IP,端口号,客户端ID,用户名,登录密码

Ubuntu

连接服务器,验证是否能连接,如果mqtt.fx的右上角亮绿灯说明连接成功,并且我们可以在MQTT服务器上看到连接的设备

Ubuntu

Ubuntu

在mqtt.fx上订阅一个主题,通过emqx自带的websocket发布主题信息,查看数据传输是否正常。

Ubuntu

Ubuntu

Ubuntu

查看mqtt.fx上可以接收到websocket发布的消息.

Ubuntu

总结

风火轮推出的X86开发板(youyeetoo X1),支持系统windows和ubuntu,这让我们部署一些服务提供便利。

youyeetoo X1 小巧的特性,作为一个小网关是非常便捷的,我们可以在家里部署一个智能家居场景。

youyeetoo X1的性能整体验证下来还不错,ubuntu系统运行不卡顿,值得点赞。

编辑:黄飞

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分