精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

不可錯過的Air780E之WebSocket應用示范!小白篇

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2024-11-03 20:16 ? 次閱讀

咋們今天說的Air780E之WebSocket應用示范針對小白絕對是不可以錯過的示例。

1、WebSocket概述

WebSocket是HTML5下一種新的協議(本質上是一個基于TCP的協議),它實現了瀏覽器與服務器之間的全雙工通信,能夠節省服務器資源和帶寬,達到實時通訊的目的。WebSocket協議通過握手機制,允許客戶端和服務器之間建立一個類似TCP的連接,從而方便它們之間的通信。

在線聊天應用:允許用戶實時發送和接收消息,而無需頁面刷新或輪詢服務器。

實時協作應用:支持多用戶實時編輯文檔或共享白板等場景。

實時游戲:允許多個玩家之間進行實時的游戲交互。

實時數據展示:用于顯示實時數據,如股票市場變化、天氣預報更新等。

實時通知和提醒:用于向用戶發送實時的通知消息,如新郵件提醒、社交媒體通知等。

在線會議和視頻通話:支持實時的音視頻通信。

2、準備硬件環境

“古人云:‘工欲善其事,必先利其器。’在深入介紹本功能示例之前,我們首先需要確保以下硬件環境的準備工作已經完成。”

2.1 Air780E開發板

本demo使用的是Air780E核心板,

此核心板的詳細使用說明參考:
https://docs.openluat.com/air780e/product/

Air780E產品手冊中的<<開發板Core_Air780E使用說明VX.X.X.pdf>>,寫這篇文章時最新版本的使用說明為:開發板Core_Air780E使用說明V1.0.5.pdf;核心板使用過程中遇到任何問題,可以直接參考這份使用說明pdf文檔。

2.2 SIM

請準備一張可正常上網的SIM卡,該卡可以是物聯網卡或您的個人手機卡。

特別提醒:請確保SIM卡未欠費且網絡功能正常,以便順利進行后續操作。

2.3 PC電腦

請準備一臺配備USB接口且能夠正常上網的電腦。

2.4 數據通信線

請準備一根用于連接Air780E開發板和PC電腦的數據線,該數據線將實現業務邏輯的控制與交互。您有兩種選擇:

USB數據線(其一端為Type-C接口,用于連接Air780E開發板)。通常,這種數據線的外觀如下示意圖所示:

wKgaoWcnZhaAU5LXAAdVjG36Rf8175.png

普通的手機USB數據線一般都可以直接使用;

數據線是USB轉TTL串口線。通常,這種數據線的外觀如下示意圖所示:

wKgaoWcnZiiAIVnAABq_EEXoZOc781.png

在本教程中,我們將采用以下數據線配置進行測試和數據查看:

第一種:USB數據線:此數據線不僅用于為測試板供電,還用于查看數據日志。其一端為Type-C接口,連接Air780E開發板;另一端為標準USB接口,連接PC電腦。

第二種:USB轉TTL串口線:此數據線主要用于Websocket-UART透傳數據的查看。其一端為USB接口,連接PC電腦;另一端為TTL串口接口,連接Air780E開發板,以便進行串口通信和數據傳輸。

2.5 組裝硬件環境

2.5.1 請按照SIM卡槽上的指示方向正確插入SIM卡,務必確保插入方向正確,避免插反導致損壞!

通常,插入SIM卡的步驟如下:

將SIM卡的金屬接觸面朝下,對準卡槽的開口。

用力平穩地將SIM卡推入卡槽,直至聽到“咔嚓”一聲,表示SIM卡已正確安裝到位。

wKgZoWcnZjyAH7JiACTaV2jrDUM603.png

wKgZoWcnZkqAGaJAACaaOJInfFs390.png

2.5.2 USB數據線,連接電腦和Air780E開發板,如下圖所示:

wKgaoWcnZluAEwAxACINVhIU5k8571.png

3、準備軟件環境

“凡事預則立,不預則廢。”在詳細闡述本功能示例之前,我們需先精心籌備好以下軟件環境。

3.1 Luatools工具

要想燒錄AT固件到4G模組中,需要用到的調試工具:Luatools;

Luatools工具集具備以下幾大核心功能:

一鍵獲取最新固件:自動連接服務器,輕松下載最新的模組固件。

固件與腳本燒錄:便捷地將固件及腳本文件燒錄至目標模組中。

串口日志管理:實時查看模組通過串口輸出的日志信息,并支持保存功能。

串口調試助手:提供簡潔的串口調試界面,滿足基本的串口通信測試需求。

Luatools下載之后,無需安裝,解壓到你的硬盤,點擊Luatools_v3.exe運行,出現如下界面,就代表Luatools安裝成功了:

wKgaoWcnZnaAN-pUAAShcCepfPU807.png

3.2 燒錄代碼

首先要說明一點:腳本代碼,要和固件的LuatOS-SoC_V1112_EC618_FULL.soc文件一起燒錄。

整體壓縮文件:內含有文件一:Core固件和文件二:WebSocket加密通訊腳本文件,文件三:WebSocket-UART透傳腳本文件,如圖所示。

wKgZoWcnZoeADVw6AAKjApzyPus023.png

3.2.1 壓縮文件:

閱讀原文下載完整壓縮文件包:
https://docs.openluat.com/air780e/luatos/app/socket/websocket/

3.2.2 壓縮包內部文件

文件一:Core固件

文件二:WebSocket加密通訊腳本文件

文件三:WebSocket-UART透傳腳本文件

3.2.3 找到燒錄的固件文件

https://docs.openluat.com/air780e/luatos/app/socket/websocket/

wKgaoWcnZpaAV3xFAAKNq-fYVhw659.png

3.2.4 正確連接電腦和4G模組電路板

使用帶有數據通信功能的數據線,不要使用僅有充電功能的數據線;

3.2.5 識別4G模組的boot引腳

在下載之前,要用模組的boot引腳觸發下載,也就是說,要把4G模組的boot引腳拉到1.8v,或者直接把boot引腳和VDD_EXT引腳相連。我們要在按下BOOT按鍵時讓模塊開機,就可以進入下載模式了。

具體到Air780E開發板,

當我們模塊沒開機時,按著BOOT鍵然后長按POW開機。

當我們模塊開機時,按著BOOT鍵然后點按重啟鍵即可。

wKgaoWcnZuaAPNstACPnj_hv3S0579.png

3.2.6 識別電腦的正確端口

判斷是否進入BOOT模式:-模塊上電,此時在電腦的設備管理器中,查看串口設備,如下圖:

wKgaoWcnZwiAFKTSAAnqPMpq9Vg005.png

進入boot下載模式,如下圖所示:

wKgZoWcnZxmAPF96AAlCvG5LBXA129.png

這時候,硬件連接上就緒狀態,恭喜你,可以進行燒錄了!

3.2.7 新建項目

首先,確保你的Luatools的版本大于或者等于3.0.6版本.

在Luatools的左上角上有版本顯示的,如圖所示:

wKgZoWcnZyeAaeZOAANkyaEQtKc066.png

Luatools版本沒問題的話,就點擊Luatools右上角的“項目管理測試”按鈕,如下圖所示:

wKgaoWcnZzSAQxB1AAN72Wj_fWA811.png

這時會彈出項目管理和燒錄管理的對話框,如下圖:

wKgaoWcnZ0WAapBhAAq2A-nrLCA413.png

3.2.8 開始燒錄

選擇780E板子對應的底層core和剛改的main.lua腳本文件。下載到板子中。

wKgZoWcnZ1KAGCLkAAw0YTre3cE057.png

wKgZoWcnZ2GAehVoAAjbgYR6icY739.png

點擊下載后,我們需要進入boot模式才能正常下載。

wKgaoWcnZ22AACXfAAHmfvWEuyA031.png

3.3 PC端串口工具

閱讀原文下載:
https://docs.openluat.com/air780e/luatos/app/socket/websocket/

串口接線方式:Air780提供三個Uart.

MAIN_UART:通用串口,可用于AT命令和數據傳輸最大波特率921600bps,默認波特率自適應9600-115200bps支持硬件流控(RTS/CTS)

AUX_UART:通用串口

DBG_UART:用于輸出調試信息

wKgaoWcnZ32AflwyABIhr8RsZU4305.png

注意:

以上PinOut圖示,對應的V1.8的開發板,版本號在板子絲印上可查閱。

V1.4的開發板,由于LCD腳有差異,圖示的LCD_RS/LCD_CLK實際位于開發板管腳編號06/05的UART2/AUX_UART腳,不在編號11/14腳。

V1.8的開發板17腳改為VBAT.

3.3.1 LLCOM工具設置:初始配置

wKgZoWcnZ4mAIP5lAAo-a46JNJ8443.png

3.3.2 數據發送前的配置

wKgaoWcnZ5SAIZVUAAk68nGkiIo828.png

4、WebSocket加密通訊的概述

本小節教你怎么使用luatos腳本語言,就可以讓4G模組連接上一個WebSocket服務器,并且模組和服務器之間實現數據的交互!

4.1 本教程實現的功能定義:

4G模組插卡開機后,連接上WebSocket服務器;

這是個測試服務,當4G模組發送的是json,且action=echo,就會回顯所發送的內容

發送內容是

wsc:send((json.encode({action="echo",msg=os.date()})))

4.2 文章內容引用

780E開發板軟硬件資料:Air780E產品手冊

websocket函數接口不做詳細介紹,可通過此鏈接查看具體介紹:websocket-網絡接口-LuatOS文檔

4.3 核心腳本代碼詳解

4.3.1 websocket客戶端創建

wKgZoWcnZ7GABSlYAAQ2bCR3Ykg522.png

4.3.2 設置額外的headers

wKgaoWcnZ72AFWP7AAKFzkieMWk994.png

4.3.3 設置自動重連機制

wKgZoWcnZ8iADPjyAAE26Hu6ft8151.png

4.3.4 注冊websocket回調

wKgaoWcnZ9SAWSuxABMod1uLQg4217.png

4.3.5 連接服務器

wKgZoWcnZ9-AdKmwAAI4P7dI-xE897.png

4.3.6 發布消息

wKgaoWcnZ-uAbmfEAAZVn5u8kgs908.png

4.3.7 websocket客戶端關閉(關閉后資源釋放無法再使用)

wsc:close()

4.4 成果演示與深度解析:視頻+圖文全面展示

4.4.1 成果運行精彩呈現

wKgZoWcnaAGASihNABFDaMknIeA857.png

4.4.2 演示視頻生動展示

4.4.3 完整實例深度剖析

wKgaoWcnaBCAM2sGAA3e9Paa00w149.pngwKgaoWcnaCWAM_GNABbzKmLfTFg564.pngwKgaoWcnaDiAHosQAA-AqHFiVvU704.png

5、WebSocket-UART透傳的概述

在某些應用場景下,可能需要將WebSocket接收到的數據通過UART串口發送到其他設備,或者將UART串口接收到的數據通過WebSocket發送到服務器。這通常需要通過一個中間層或網關設備來實現數據的轉換和傳輸。

5.1 本教程實現的功能定義:

4G模組插卡開機后,連接上WebSocket服務器;

本小節教你怎么使用luatos腳本語言,就可以讓4G模組通過Uart1透傳數據發送到WebSocket服務器,并且模組和服務器之間實現數據的交互!

5.2 文章內容引用

780E開發板軟硬件資料:Air780E產品手冊

websocket函數接口不做詳細介紹,可通過此鏈接查看具體介紹:websocket-網絡接口-LuatOS文檔

5.3 核心腳本代碼詳解

5.3.1 websocket客戶端創建

wKgZoWcnaGKAHkO1AAQyaDG4tKA817.png

5.3.2 設置額外的headers

wKgaoWcnaG2AEoWhAAJ6RoOA-Fw842.png

5.3.3 設置自動重連機制

wKgZoWcnaHyASJXiAAExBQtq8bI354.png

5.3.4 注冊websocket回調

wKgaoWcnaIqAVwCnABMXFpzVYiM103.png

5.3.5 連接服務器

wKgaoWcnaJmAEWzpAAI0ImItwDg827.png

5.3.6 串口初始化

本文示例:串口使用MAIN_UART(uart1)

wKgZoWcnaKSAdY7wAAMv66k11Rw068.png

5.3.7 接收UART消息

wKgaoWcnaLCAXnJ-AAe5a1BL_z0842.png

5.3.8 發布消息

wKgZoWcnaLyAFQwIAAjYJa19WCQ806.png

5.3.9 websocket客戶端關閉(關閉后資源釋放無法再使用)

wKgZoWcnaMeAWDUWAADYjXJs6hg922.png

5.4 成果演示與深度解析:視頻+圖文全面展示

5.4.1 成果運行精彩呈現

wKgaoWcnaN6AQmlnAAj-hAiinwY864.png

5.4.2完整實例深度剖析

wKgZoWcnaOuASaXGABGUu8pjKjQ660.pngwKgaoWcnaQCADM2zABNcRVpn64Q371.pngwKgaoWcnaRWAIQ9fABQm-mImhOA952.pngwKgZoWcnaSSAfFZ6AA3Q9vJeJ18939.pngwKgaoWcnaTKAXM7NAAI_y7sCxjM635.png

6、總結

WebSocket加密確保了數據在傳輸過程中的安全性,防止被竊取或篡改;而WebSocket透傳則指數據在不改變內容的情況下,通過WebSocket協議進行傳輸,通常涉及中間層或網關設備的數據格式轉換與傳遞

Air780E作為一款4G模組,支持WebSocket協議,并可通過Luatools等工具進行調試和固件管理。在Air780E上實現WebSocket加密通訊,通常需要使用SSL/TLS等加密協議來確保數據傳輸的安全性。

7、常見問題

websocket服務器的連接地址,格式為ws(或wss)://xxx開頭

websocket需要在任務中啟動,帶自動重連,支持心跳協議

websocket心跳包,建議180秒

注意串口發送過去的數據是字符格式,這里進行對比時注意echo的類型ifuart_rx_buff_data=='"echo"'

8、擴展

在WebSocket中,WS和WSS代表兩種不同的連接類型,它們分別具有以下特點:

8.1 WS(WebSocket)

含義:表示非安全的WebSocket連接,即沒有加密的WebSocket通信。

端口:默認情況下,WebSocket的WS協議使用80端口。

使用場景:適用于不需要數據加密的場景,或者在安全性要求不高的環境中使用。然而,對于敏感數據或需要保護通信內容的情況,WS可能不是最佳選擇。

8.2 WSS(WebSocketSecure)

含義:表示安全的WebSocket連接,即在TLS(傳輸層安全協議)之上的WebSocket通信。WSS相當于HTTPS在WebSocket中的應用,提供了數據加密和完整性驗證等安全功能。

端口:默認情況下,WSS協議使用443端口,這是大多數網站用于HTTPS通信的標準端口。

使用場景:適用于需要保護通信內容、防止數據竊取或篡改的場景。WSS是處理敏感數據或進行安全通信時的推薦選擇。

分享完畢


審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 物聯網
    +關注

    關注

    2904

    文章

    44304

    瀏覽量

    371447
  • 開發板
    +關注

    關注

    25

    文章

    4959

    瀏覽量

    97214
  • WebSocket
    +關注

    關注

    0

    文章

    29

    瀏覽量

    3737
收藏 人收藏

    評論

    相關推薦

    【合宙Air780E開發板趣味應用】Air780E開發板方言打麻將

    合宙10月份推出的Air780E模組,是一款LTE Cat.1 bis通信模塊,采用移芯EC618平臺,支持4G全網通。合宙也推出了相應的開發板,別看開發板身材小,價格低,但是身手不差。合宙
    發表于 01-04 13:45

    Air780E硬件設計手冊

    電子發燒友網站提供《Air780E硬件設計手冊.pdf》資料免費下載
    發表于 04-14 09:57 ?20次下載

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析簡介本文檔適用于合宙Air780E
    的頭像 發表于 07-19 15:37 ?595次閱讀
    <b class='flag-5'>Air780E</b>/<b class='flag-5'>Air780</b>EP/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201模塊遇到死機問題如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到內存死機如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到內存死機如何分析簡介本文檔適用于合宙Air780E
    的頭像 發表于 07-19 16:07 ?486次閱讀
    <b class='flag-5'>Air780E</b>/<b class='flag-5'>Air780</b>EP/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201模塊遇到內存死機如何分析

    合宙 Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析簡介本文檔適用于合宙Air780E
    的頭像 發表于 08-01 17:27 ?700次閱讀
    合宙 <b class='flag-5'>Air780E</b>/<b class='flag-5'>Air780</b>EP/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201模塊遇到死機問題如何分析

    合宙Air780E硬件設計手冊02

    合宙低功耗4G模組Air780E硬件設計介紹
    的頭像 發表于 09-06 12:02 ?408次閱讀
    合宙<b class='flag-5'>Air780E</b>硬件設計手冊02

    合宙4G模組Air780E開發板使用手冊

    合宙開發板Air780E使用說明
    的頭像 發表于 09-09 18:22 ?618次閱讀
    合宙4G模組<b class='flag-5'>Air780E</b>開發板使用手冊

    如何使用Air780E開發板?看這篇就夠了!

    ? 一、綜述 CORE-AIR780E 開發板是合宙通信推出的基于 Air780E 模組所開發的,包含電源,SIM 卡,USB,天線,音頻等必要功能的最小硬件系統。以方便用戶在設計前期
    的頭像 發表于 10-23 17:07 ?301次閱讀
    如何使用<b class='flag-5'>Air780E</b>開發板?看這篇就夠了!

    從箱子里找出來的示例:Air780E軟件指南TCP應用

    今天翻箱倒柜,把塵封已久的關于Air780E軟件指南TCP應用教程翻出來給大家展示展示:讓我從概述、環境準備、問題等方面來給大家說清楚。
    的頭像 發表于 11-02 11:58 ?343次閱讀
    從箱子里找出來的示例:<b class='flag-5'>Air780E</b>軟件指南<b class='flag-5'>之</b>TCP應用

    奇妙的Air780EUDP應用示例大賞!

    關于UDP是一種無連接的、不可靠的傳輸層協議,主要用于實現網絡中的快速通訊,我們今天將把Air780E的UDP應用分析透徹。
    的頭像 發表于 11-04 09:25 ?246次閱讀
    奇妙的<b class='flag-5'>Air780E</b><b class='flag-5'>之</b>UDP應用示例大賞!

    UDP應用詳解:Air780E軟件的全面手冊

    了解Air780E軟件UDP應用全面手冊,永享編程幸福人生。
    的頭像 發表于 11-05 12:31 ?151次閱讀
    UDP應用詳解:<b class='flag-5'>Air780E</b>軟件的全面手冊

    Air780E模組AT指令下的MQTT應用:技術指南

    今天我要講的是Air780E模組AT指令下的MQTT應用,希望對大家有所幫助。
    的頭像 發表于 11-07 14:02 ?235次閱讀
    <b class='flag-5'>Air780E</b>模組AT指令下的MQTT應用:技術指南

    LuatOS與ADC:Air780E模組開發的新篇章!

    今天我們學習的是Air780E模組LuatOS開發ADC應用,希望能幫助到大家。
    的頭像 發表于 11-07 14:12 ?192次閱讀
    LuatOS與ADC:<b class='flag-5'>Air780E</b>模組開發的新篇章!

    Air780E模組的ADC之旅 LuatOS開發實例

    今天學習一個新的示例,關于Air780E模組LuatOS開發的ADC應用實例,希望大家有所收獲。
    的頭像 發表于 11-11 09:33 ?151次閱讀
    <b class='flag-5'>Air780E</b>模組的ADC之旅  LuatOS開發實例

    Air780E模組LuatOS開發的位運算(bit)教程

    本次我們要學習的是4G模組Air780E的LuatOS開發,關于位運算(bit)教程分享給大家。
    的頭像 發表于 11-26 11:58 ?35次閱讀
    <b class='flag-5'>Air780E</b>模組LuatOS開發的位運算(bit)教程<b class='flag-5'>篇</b>!