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

    文章

    1734

    浏览量

    152349
  • 服务器
    +关注

    关注

    12

    文章

    9295

    浏览量

    86006
  • Ubuntu
    +关注

    关注

    5

    文章

    566

    浏览量

    29995
  • MQTT
    +关注

    关注

    5

    文章

    653

    浏览量

    22681

原文标题:风火轮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 开发板体验】少儿AI智能STEAM积木平台

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

    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

    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

    Exchange_Server_2013部署手册itsot.cn

    Exchange_Server_2013部署
    发表于 06-03 16:16 13次下载

    ThinkPad X1 Carbon和X1 Yoga首批支持杜比视界的笔记本产品

    杜比推出来多款杜比技术的产品线,其中ThinkPad X1 Carbon和X1 Yoga首批支持杜比视界的笔记本产品。
    发表于 01-11 15:19 1687次阅读

    干货:Centos 6.5部署nginx和php环境部署

    干货:Centos 6.5部署nginx和php环境部署
    的头像 发表于 06-28 10:00 2334次阅读

    使用mosquitto搭建mqtt broker

    Eclipse Mosquitto是一个开源(EPL/EDL许可)消息代理(broker),它实现了MQTT协议版本5.0、3.1.1和3.1。Mosquito重量轻,适用于从低功耗单板计算机到完整服务器的所有设备。
    的头像 发表于 09-28 15:37 2605次阅读
    使用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触摸屏。 本篇文章我们在实战开发
    的头像 发表于 10-12 18:01 2340次阅读
    风火轮<b class='flag-5'>X</b>86主板<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>

    深圳风火轮科技又发新品啦--youyeetoo X1(X86开发板)

    号外,号外。。。 深圳风火轮科技又推出新品啦--youyeetoo X1youyeetoo X1 是一款由深圳风火轮科技推出的x86架构
    的头像 发表于 10-10 10:22 1095次阅读
    深圳风火轮科技又发新品啦--<b class='flag-5'>youyeetoo</b> <b class='flag-5'>X1</b>(<b class='flag-5'>X</b>86<b class='flag-5'>开发</b>板)

    来了解一下MQTT Broker代理

    )和M2M(机器对机器)通信中。MQTT BrokerMQTT通信中扮演着关键的角色,负责管理客户端的连接,接收和处理客户端发布的消息,以及这些消息传递给订阅了相应主题的订阅者。它
    的头像 发表于 07-15 17:03 424次阅读
    来了解一下<b class='flag-5'>MQTT</b> <b class='flag-5'>Broker</b>代理

    知识科普 MQTT Broker 代理 是什么

    MQTT Broker作为MQTT通信的核心组件,扮演着关键的角色,负责管理客户端连接、消息路由和订阅管理等任务。它在物联网和M2M通信中发挥着不可或缺的作用,使得设备和应用能够高效地进行实时通信,为物联网的发展和应用提供了强大
    的头像 发表于 08-01 16:51 354次阅读
    知识科普 <b class='flag-5'>MQTT</b> <b class='flag-5'>Broker</b> 代理 是什么