0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_NsPBt3VS 来源:风火轮技术团队 2023-10-15 10:15 次阅读

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

a6d329b6-663b-11ee-939d-92fbcf53809c.jpg

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

a6f61750-663b-11ee-939d-92fbcf53809c.jpg

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

a70bb1a0-663b-11ee-939d-92fbcf53809c.jpg

插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制作完成。

a725a09c-663b-11ee-939d-92fbcf53809c.jpg

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

a73c34ec-663b-11ee-939d-92fbcf53809c.jpg

开始进行安装Ubuntu系统界面

a77cb652-663b-11ee-939d-92fbcf53809c.jpg

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

a79629fc-663b-11ee-939d-92fbcf53809c.jpg

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

a79f3f42-663b-11ee-939d-92fbcf53809c.jpg

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

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

a7a7225c-663b-11ee-939d-92fbcf53809c.jpg

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

a7b79ea2-663b-11ee-939d-92fbcf53809c.jpg

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

a7d01158-663b-11ee-939d-92fbcf53809c.jpg

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

a7ef39de-663b-11ee-939d-92fbcf53809c.jpg

a80396a4-663b-11ee-939d-92fbcf53809c.jpg

a818f922-663b-11ee-939d-92fbcf53809c.jpg

最后重启youyeetoo X1

a82f4970-663b-11ee-939d-92fbcf53809c.jpg

部署MQTT服务器

板子插上网线,下载emqx安装包,下载链接:https://www.emqx.com/zh/downloads/enterprise/5.0.4/emqx-enterprise-5.0.4-ubuntu22.04-amd64.deb

$wgethttps://www.emqx.com/zh/downloads/enterprise/5.0.4/emqx-enterprise-5.0.4-ubuntu22.04-amd64.deb

安装emqx

$sudoaptinstall./emqx-enterprise-5.0.4-ubuntu22.04-amd64.deb

启动emqx服务

sudosystemctlstartemqx

在浏览器中输入http://ip:18083/登录mqtt服务器,其中ip为youyeetoo X1的ip 地址。

a83af63a-663b-11ee-939d-92fbcf53809c.jpg

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

a843c706-663b-11ee-939d-92fbcf53809c.jpg

a84cbd66-663b-11ee-939d-92fbcf53809c.jpg

验证MQTT服务器

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

a85d749e-663b-11ee-939d-92fbcf53809c.jpg

a8877f6e-663b-11ee-939d-92fbcf53809c.jpg

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

a89d7882-663b-11ee-939d-92fbcf53809c.jpg

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

a8bdf8d2-663b-11ee-939d-92fbcf53809c.jpg

a8c7b11a-663b-11ee-939d-92fbcf53809c.jpg

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

a8e02380-663b-11ee-939d-92fbcf53809c.jpg

a8f6c2c0-663b-11ee-939d-92fbcf53809c.jpg

a90e8a86-663b-11ee-939d-92fbcf53809c.jpg

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

a91685c4-663b-11ee-939d-92fbcf53809c.jpg

总结

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

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

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

编辑:黄飞

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

    关注

    32

    文章

    1488

    浏览量

    149739
  • 服务器
    +关注

    关注

    12

    文章

    8116

    浏览量

    82518
  • Ubuntu
    +关注

    关注

    5

    文章

    533

    浏览量

    28834
  • MQTT
    +关注

    关注

    5

    文章

    537

    浏览量

    21976

原文标题:风火轮X86主板youyeetoo X1:部署MQTT Broker

文章出处:【微信号:风火轮技术团队,微信公众号:风火轮技术团队】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    youyeetoo X1 windows 开发板体验】支持语音控制的AIoT智能终端设计

    youyeetoo X1的外设控制,重点是其在Windows下的使用。以前测试过很多Linux开发板,本次重点想测试其Windows下的表现,开发工具
    发表于 01-26 16:32

    youyeetoo X1 windows 开发板体验】基于ROS开发的LIO系统——项目计划+前言开箱

    前言 很荣幸有机会参与到我们电子发烧友论坛平台的试用活动,也感谢深圳风火轮科技提供了这一次宝贵的机会!提供了youyeetoo X1 windows这么一款优秀开发板。闲话少说,我们快入正文; 官网
    发表于 01-26 17:58

    youyeetoo X1 windows 开发板体验】开箱贴

    Youyeetoo X1 是一款由深圳风火轮科技推出的x86架构单板电脑(SBC),处理器CPU: 11代Intel@ Jasper Lake N5105 赛扬(CPU工作频率2.0~2.9GHz
    发表于 01-27 18:54

    youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台

    这次非常有幸,能够得到深圳风火轮youyeetoo X1的体验机会,感谢电子发烧友和风火轮。 在申请youyeetoo X1之前,已经通过风火轮的官方WiKi做过了一下了解,官方的介绍
    发表于 02-01 00:20

    youyeetoo X1 windows 开发板体验】当做小主机综合测试

    youyeetoo X1 是一款由深圳风火轮科技推出的x86架构单板电脑(SBC),是目前市面上性价比高的X86 开发板可运行全功能版的wi
    发表于 02-25 22:12

    youyeetoo X1 windows 开发板体验】通过PCAN调试CANopen电机

    youyeetoo X1 windows 开发板最大好处可以把庞大的X86主机变成迷你卡片机,X86开发
    发表于 03-05 16:49

    youyeetoo X1 windows 开发板体验】+ 影音处理和AI模型移植

    youyeetoo X1 windows 开发板】+01.开箱(zmj) 1. 感谢 感谢深圳风火轮科技有限公司和电子发烧友提供的此次试用机会,可以体验
    发表于 03-23 17:47

    【每周推荐】采用11代Intel CPU,基于youyeetoo X1开发板搭建少儿AI智能STEAM积木平台

    这次非常有幸,能够得到深圳风火轮youyeetoo X1的体验机会,感谢电子发烧友和风火轮。 详细的WiKi网址:youyeetoo X1 | 风火轮Wiki ,感兴趣的同学可以前往
    发表于 04-10 14:38

    Labview2012部署共享变量运行一段时间后发生tagsrv.exe 错误

    Labview2012部署共享变量通过网线给另一台电脑发送OPC参数,运行一段时间(1到2天)后发生tagsrv.exe 错误,再接着发生Micro Visual C++ runtime library 错误,不知道问题在哪?请各位指导下。
    发表于 07-05 16:09

    怎样NodeMCU接入本地MQTT服务器呢

    文章目录1. 编译固件2.屏幕显示3.连接MQTT服务器4.组合测试5.总结在上一篇章中,实现了使用Golang开发MQTT broker
    发表于 11-24 07:12

    ESP8266编程以连接到MQTT Broker和Telegram,为什么无法同时连接?

    我正在为 ESP8266 编程以连接到 MQTT Broker 和 Telegram,用于我在 Arduino Universal Telegram Bot 库中的 IOT 项目需要
    发表于 02-22 06:08

    ESP SDK中是否支持mqtt broker功能?

    目前只看到mqtt client功能,没有看到broker功能请问是否支持mqtt broker
    发表于 03-09 07:05

    如何在RDKx3部署docker镜像?

    一种在RDKx3部署docker镜像跑tros历程的方法 为了保持主系统环境干净整洁,有在docker中部署代码的习惯。 docker pull ningcong/rdkx3:v0.1 在资源中心
    发表于 08-02 11:02

    使用mosquitto搭建mqtt broker

    Eclipse Mosquitto是一个开源(EPL/EDL许可)消息代理(broker),它实现了MQTT协议版本5.0、3.1.1和3.1。Mosquito重量轻,适用于从低功耗单板计算机到完整服务器的所有设备。
    的头像 发表于 09-28 15:37 1424次阅读
    使用mosquitto搭建<b class='flag-5'>mqtt</b> <b class='flag-5'>broker</b>

    风火轮X86主板youyeetoo X1部署MQTT Broker

    ,6路USB口、1路I2C、1路SPI、5路GPIO等 AIOT物联网常用的接口,还能接7寸MIPI触摸屏。 本篇文章我们在实战开发,将youyeetoo X1
    的头像 发表于 10-12 18:01 794次阅读
    风火轮X86主板<b class='flag-5'>youyeetoo</b> <b class='flag-5'>X1</b>:<b class='flag-5'>部署</b><b class='flag-5'>MQTT</b> <b class='flag-5'>Broker</b>