在之前的文章中,我們已經詳細介紹了如何交叉編譯libwebsockets并將其部署到ELF 1開發板上。然而在調試階段,發現將libwebsockets在Ubuntu環境下編譯為x86架構可能更為方便和高效。
通過在主機環境中編譯運用x86架構下的libwebsockets庫,可以充分利用主機卓越的計算性能與豐富的調試資源,顯著提升開發及調試工作的效率與便捷性。
接下來,將和各位小伙伴詳盡闡述在Ubuntu系統中編譯libwebsockets庫的具體步驟,以及如何對其進行有效測試。
編譯libwebsockets
1、從Github下載libwebsockets源碼
https://github.com/warmcat/libwebsockets
2、將下載的libwebsockets-main.zip拷貝到開發環境/home/elf/work目錄下解壓
elf@ubuntu:~/work$ unzip libwebsockets-main.zip
3、進入解壓后的目錄,新建build和insatll目錄
elf@ubuntu:~/work$ cd libwebsockets-main/ elf@ubuntu:~/work/libwebsockets-main$ mkdir build elf@ubuntu:~/work/libwebsockets-main$ mkdir install
4、進入build目錄,配置編譯環境并編譯源碼
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
基礎測試
驗證libwebsockets庫的基本功能,確保服務器能夠正確啟動并能通過瀏覽器訪問。
1、測試工具使用libwebsockets提供的測試程序進行測試,查看安裝目錄中的可執行文件:
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、運行服務器端測試程序
elf@ubuntu:~/work/libwebsockets-main/install/bin$ libwebsockets-test-server
可以看到服務器已經在7681端口監聽。
3、在瀏覽器中訪問服務器
打開瀏覽器,輸入http://192.168.2.101:7681,替換192.168.2.101為自己的服務器IP地址。出現如下頁面,測試成功。
擴展測試
前面已經介紹了如何將libwebsockets庫編譯成ARM架構并移植到ELF 1開發板上。為了驗證 libwebsockets 庫在不同架構上的兼容性和實際應用中的穩定性,以ARM開發板為客戶端來連接虛擬機上的服務端。
前提:將虛擬機設置為橋接模式,使虛擬機和開發板處于同一局域網內,確保網絡連接正常。
1、虛擬機運行服務端測試程序
elf@ubuntu:~/work/libwebsockets-main/install/bin$ libwebsockets-test-server
可以看到服務器已經在7681端口監聽。
2、開發板運行客戶端測試程序
客戶端命令格式:
libwebsockets-test-client [--port=
] [--ssl] [-k] [-v ] [-d ] [-l]
執行如下命令,替換192.168.2.101為自己的服務器IP地址。
root@ELF1:~# libwebsockets-test-client 192.168.2.101 --port=7681
可以看到連接開始于2024年6月24日15:55:01,目標IP地址為192.168.2.101。連接成功后,客戶端打印了mirror: LWS_CALLBACK_CLIENT_ESTABLISHED的消息,表示已成功建立與服務器的WebSocket連接。
至此就完成了將libwebsockets庫編譯為x86架構的步驟,希望本篇指南能成為各位小伙伴在嵌入式技術探索之旅上的得力助手。如果您在實踐過程中遇到任何問題,歡迎留言交流。
-
單片機
+關注
關注
6039文章
44587瀏覽量
636762 -
嵌入式
+關注
關注
5087文章
19150瀏覽量
306357 -
嵌入式開發
+關注
關注
18文章
1033瀏覽量
47630 -
嵌入式開發板
+關注
關注
5文章
83瀏覽量
18773
發布評論請先 登錄
相關推薦
評論