加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專(zhuān)業(yè)用戶(hù)
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

ElfBoard技術(shù)貼|如何將libwebsockets庫(kù)編譯為x86架構(gòu)

07/10 17:51
1530
閱讀需 7 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
在之前的文章中,我們已經(jīng)詳細(xì)介紹了如何交叉編譯libwebsockets并將其部署到ELF 1開(kāi)發(fā)板上。然而在調(diào)試階段,發(fā)現(xiàn)將libwebsockets在Ubuntu環(huán)境下編譯為x86架構(gòu)可能更為方便和高效。
通過(guò)在主機(jī)環(huán)境中編譯運(yùn)用x86架構(gòu)下的libwebsockets庫(kù),可以充分利用主機(jī)卓越的計(jì)算性能與豐富的調(diào)試資源,顯著提升開(kāi)發(fā)及調(diào)試工作的效率與便捷性。
接下來(lái),將和各位小伙伴詳盡闡述在Ubuntu系統(tǒng)中編譯libwebsockets庫(kù)的具體步驟,以及如何對(duì)其進(jìn)行有效測(cè)試。
編譯libwebsockets
1、從Github下載libwebsockets源碼
https://github.com/warmcat/libwebsockets
2、將下載的libwebsockets-main.zip拷貝到開(kāi)發(fā)環(huán)境/home/elf/work目錄下解壓
elf@ubuntu:~/work$ unzip libwebsockets-main.zip
3、進(jìn)入解壓后的目錄,新建build和insatll目錄
elf@ubuntu:~/work$ cd libwebsockets-main/
elf@ubuntu:~/work/libwebsockets-main$ mkdir build
elf@ubuntu:~/work/libwebsockets-main$ mkdir install
4、進(jìn)入build目錄,配置編譯環(huán)境并編譯源碼
elf@ubuntu:~/work/libwebsockets-main$ cd build/
elf@ubuntu:~/work/libwebsockets-main/build$ cmake -DCMAKE_INSTALL_PREFIX=../install ..
elf@ubuntu:~/work/libwebsockets-main/build$ make
5、編譯完成后,安裝文件
elf@ubuntu:~/work/libwebsockets-main/build$ make install
基礎(chǔ)測(cè)試

驗(yàn)證libwebsockets庫(kù)的基本功能,確保服務(wù)器能夠正確啟動(dòng)并能通過(guò)瀏覽器訪(fǎng)問(wèn)。
1、測(cè)試工具
使用libwebsockets提供的測(cè)試程序進(jìn)行測(cè)試,查看安裝目錄中的可執(zhí)行文件:
elf@ubuntu:~/work/libwebsockets-main/build$ cd ../install/bin/
elf@ubuntu:~/work/libwebsockets-main/install/bin$ ls
libwebsockets-test-client  libwebsockets-test-lejp  
libwebsockets-test-server  libwebsockets-test-server-extpoll
2、運(yùn)行服務(wù)器端測(cè)試程序
elf@ubuntu:~/work/libwebsockets-main/install/bin$ libwebsockets-test-server

可以看到服務(wù)器已經(jīng)在7681端口監(jiān)聽(tīng)。

3、在瀏覽器中訪(fǎng)問(wèn)服務(wù)器

打開(kāi)瀏覽器,輸入http://192.168.2.101:7681,替換192.168.2.101為自己的服務(wù)器IP地址。出現(xiàn)如下頁(yè)面,測(cè)試成功。

擴(kuò)展測(cè)試

前面已經(jīng)介紹了如何將libwebsockets庫(kù)編譯成ARM架構(gòu)并移植到ELF 1開(kāi)發(fā)板上。為了驗(yàn)證 libwebsockets 庫(kù)在不同架構(gòu)上的兼容性和實(shí)際應(yīng)用中的穩(wěn)定性,以ARM開(kāi)發(fā)板為客戶(hù)端來(lái)連接虛擬機(jī)上的服務(wù)端。

前提:將虛擬機(jī)設(shè)置為橋接模式,使虛擬機(jī)和開(kāi)發(fā)板處于同一局域網(wǎng)內(nèi),確保網(wǎng)絡(luò)連接正常。

1、虛擬機(jī)運(yùn)行服務(wù)端測(cè)試程序

elf@ubuntu:~/work/libwebsockets-main/install/bin$ libwebsockets-test-server
可以看到服務(wù)器已經(jīng)在7681端口監(jiān)聽(tīng)。
2、開(kāi)發(fā)板運(yùn)行客戶(hù)端測(cè)試程序

客戶(hù)端命令格式:

libwebsockets-test-client <server address> [--port=<p>] [--ssl] [-k] [-v <ver>] [-d <log bitfield>] [-l]

執(zhí)行如下命令,替換192.168.2.101為自己的服務(wù)器IP地址。

root@ELF1:~# libwebsockets-test-client 192.168.2.101 --port=7681

可以看到連接開(kāi)始于2024年6月24日15:55:01,目標(biāo)IP地址為192.168.2.101。連接成功后,客戶(hù)端打印了mirror: LWS_CALLBACK_CLIENT_ESTABLISHED的消息,表示已成功建立與服務(wù)器的WebSocket連接。
至此就完成了將libwebsockets庫(kù)編譯為x86架構(gòu)的步驟,希望本篇指南能成為各位小伙伴在嵌入式技術(shù)探索之旅上的得力助手。如果您在實(shí)踐過(guò)程中遇到任何問(wèn)題,歡迎留言交流。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠(chǎng)商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
MOC207M 1 Fairchild Semiconductor Corporation Transistor Output Optocoupler, 1-Element, 2500V Isolation, LEAD FREE, PLASTIC, SOIC-8
$0.81 查看
KSZ8995MI 1 Microchip Technology Inc DATACOM, LAN SWITCHING CIRCUIT, PQFP128

ECAD模型

下載ECAD模型
$11.54 查看
OPF520 1 TT Electronics OPTEK Technology Receiver, 5Mbps, Through Hole Mount, ROHS COMPLIANT, PLASTIC, 3 PIN
$4.78 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜