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
$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 地址。
第一次登錄需要重新修改密碼,修改完密碼,即可登錄。
驗證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系統運行不卡頓,值得點贊。
編輯:黃飛
-
HDMI
+關注
關注
32文章
1694瀏覽量
151865 -
服務器
+關注
關注
12文章
9123瀏覽量
85329 -
Ubuntu
+關注
關注
5文章
563瀏覽量
29707 -
MQTT
+關注
關注
5文章
650瀏覽量
22487
原文標題:風火輪X86主板youyeetoo X1:部署MQTT Broker
文章出處:【微信號:風火輪技術團隊,微信公眾號:風火輪技術團隊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論