RM新时代网站-首页

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

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

3天內(nèi)不再提示

WebSocket應用:Air780E軟件的高效實踐

青山老竹農(nóng) ? 來源:jf_82863998 ? 作者:jf_82863998 ? 2024-11-05 12:16 ? 次閱讀

今天讓我們來實踐一下Air780E軟件的WebSocket應用吧,讓我們更了解它。

1、WebSocket概述

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

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

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

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

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

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

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

2、準備硬件環(huán)境

“古人云:‘工欲善其事,必先利其器?!谏钊虢榻B本功能示例之前,我們首先需要確保以下硬件環(huán)境的準備工作已經(jīng)完成?!?/p>

2.1 Air780E開發(fā)板

本demo使用的是Air780E核心板

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

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

2.2 SIM

請準備一張可正常上網(wǎng)的SIM卡,該卡可以是物聯(lián)網(wǎng)卡或您的個人手機卡。

特別提醒:請確保SIM卡未欠費且網(wǎng)絡(luò)功能正常,以便順利進行后續(xù)操作。

2.3 PC電腦

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

2.4 數(shù)據(jù)通信線

請準備一根用于連接Air780E開發(fā)板和PC電腦的數(shù)據(jù)線,該數(shù)據(jù)線將實現(xiàn)業(yè)務(wù)邏輯的控制與交互。您有兩種選擇:

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

wKgaoWcpmZSAIHDCAAQw9BCXm7c817.png

普通的手機USB數(shù)據(jù)線一般都可以直接使用;

數(shù)據(jù)線是USB轉(zhuǎn)TTL串口線。通常,這種數(shù)據(jù)線的外觀如下示意圖所示:

wKgZoWcpmaKAXIkrAAz37EWHEWw382.png

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

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

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

2.5 組裝硬件環(huán)境

2.5.1 請按照SIM卡槽上的指示方向正確插入SIM卡,務(wù)必確保插入方向正確,避免插反導致?lián)p壞!

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

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

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

wKgZoWcpmbKAWUWZABFRBClz1Ms074.png

wKgaoWcpmb6AASAlABPQtN4cXHM957.png

2.5.2 USB數(shù)據(jù)線,連接電腦和Air780E開發(fā)板,如下圖所示:

wKgZoWcpmcuAV2JsAA7jtmZIpiU927.png

3、準備軟件環(huán)境

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

3.1 Luatools工具

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

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

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

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

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

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

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

wKgaomcpmeaAJMv9AAHtJRZsaz8410.png

3.2 燒錄代碼

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

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

wKgaomcpmfCALOHVAAEuGzvKYFE129.png

3.2.1 壓縮文件:

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

3.2.2 壓縮包內(nèi)部文件

文件一:Core固件

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

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

3.2.3 找到燒錄的固件文件

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

wKgaomcpmfyAAfOtAAEYWDTs8z0401.png

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

使用帶有數(shù)據(jù)通信功能的數(shù)據(jù)線,不要使用僅有充電功能的數(shù)據(jù)線;

3.2.5 識別4G模組的boot引腳

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

具體到Air780E開發(fā)板,

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

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

wKgZomcpmhGAOa-BABN9TFd3f18862.png

3.2.6 識別電腦的正確端口

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

wKgZomcpmiCAK_wQAAQNAcCHvCA747.png

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

wKgaoWcpmiuAGKgHAAPPWwEW9qI812.png

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

3.2.7 新建項目

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

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

wKgZoWcpmjaAZnafAAF0asgj9QM332.png

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

wKgaomcpmj-AH_bIAAGXzxKgayA177.png

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

wKgZoWcpmlOAGFN0AASgUOguJkw080.png

3.2.8 開始燒錄

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

wKgaoWcpmmGASawUAAUH07qbwio153.png

wKgaoWcpmmqATVJRAAQGyvIYUJU084.png

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

wKgZoWcpmnWABTlFAADcM7hsrzU479.png

3.3 PC端串口工具

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

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

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

AUX_UART:通用串口

DBG_UART:用于輸出調(diào)試信息

wKgaoWcpmoaAM-keAAejlJfm9Xg555.png

注意:

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

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

V1.8的開發(fā)板17腳改為VBAT.

3.3.1 LLCOM工具設(shè)置:初始配置

wKgaomcpmpGAXQwHAARtj6uHOB8946.png

3.3.2 數(shù)據(jù)發(fā)送前的配置

wKgaomcpmpuANovMAAPtQQh695g136.png

4、WebSocket加密通訊的概述

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

4.1 本教程實現(xiàn)的功能定義:

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

這是個測試服務(wù),當4G模組發(fā)送的是json,且action=echo,就會回顯所發(fā)送的內(nèi)容

發(fā)送內(nèi)容是

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

4.2 文章內(nèi)容引用

780E開發(fā)板軟硬件資料:Air780E產(chǎn)品手冊

websocket函數(shù)接口不做詳細介紹,可通過此鏈接查看具體介紹:websocket-網(wǎng)絡(luò)接口-LuatOS文檔

4.3 核心腳本代碼詳解

4.3.1 websocket客戶端創(chuàng)建

wKgZomcpmriAWiMmAAHL--i2z00280.png

4.3.2 設(shè)置額外的headers

wKgZoWcpmsWAAlEqAAER6PQk1OQ424.png

4.3.3 設(shè)置自動重連機制

wKgaoWcpms6AKYdKAACDd-Tz8LY200.png

4.3.4 注冊websocket回調(diào)

wKgZoWcpmtmAAtELAAg5SjSdFzg880.png

4.3.5 連接服務(wù)器

wKgaoWcpmuKAEiFoAAD1Nf482CY791.png

4.3.6 發(fā)布消息

wKgZoWcpmu6AEitYAAK2BMTyERQ299.png

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

wsc:close()

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

4.4.1 成果運行精彩呈現(xiàn)

wKgZoWcpmvyAN_5-AAcN25rO9e4288.png

4.4.2 演示視頻生動展示

4.4.3 完整實例深度剖析

wKgZomcpmwuATKn2AAeZ2Lf43aM610.png

wKgaomcpmx-AParoAAqV7bZa8Zs010.png

wKgZomcpmy-AWz8IAARBjhBWZUE144.png

5、WebSocket-UART透傳的概述

在某些應用場景下,可能需要將WebSocket接收到的數(shù)據(jù)通過UART串口發(fā)送到其他設(shè)備,或者將UART串口接收到的數(shù)據(jù)通過WebSocket發(fā)送到服務(wù)器。這通常需要通過一個中間層或網(wǎng)關(guān)設(shè)備來實現(xiàn)數(shù)據(jù)的轉(zhuǎn)換和傳輸。

5.1 本教程實現(xiàn)的功能定義:

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

本小節(jié)教你怎么使用luatos腳本語言,就可以讓合宙4G模組通過Uart1透傳數(shù)據(jù)發(fā)送到WebSocket服務(wù)器,并且模組和服務(wù)器之間實現(xiàn)數(shù)據(jù)的交互!

5.2 文章內(nèi)容引用

780E開發(fā)板軟硬件資料:Air780E產(chǎn)品手冊

websocket函數(shù)接口不做詳細介紹,可通過此鏈接查看具體介紹:websocket-網(wǎng)絡(luò)接口-LuatOS文檔

5.3 核心腳本代碼詳解

5.3.1 websocket客戶端創(chuàng)建

wKgaomcpm0GATnuDAAHTUo3c81M534.png

5.3.2 設(shè)置額外的headers

wKgZomcpm0uAW6NxAAEZlqVq9W0426.png

5.3.3 設(shè)置自動重連機制

wKgaomcpm1WAP4qcAACMHB73P-0201.png

5.3.4 注冊websocket回調(diào)

wKgaomcpm1-AIPFAAAgz3FxgMnc435.png

5.3.5 連接服務(wù)器

wKgZomcpm2iAYAAlAAD3QCnlEEA435.png

5.3.6 串口初始化

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

wKgZomcpm3GAbEQiAAFnBq8WT6s356.png

5.3.7 接收UART消息

wKgaomcpm3yARoTvAANeSCFvqgg585.png

5.3.8 發(fā)布消息

wKgaomcpm4aAIvynAAPKiDbfhLs312.png

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

wKgZomcpm46AcWyqAABkam0CL24086.png

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

5.4.1 成果運行精彩呈現(xiàn)

wKgaomcpm5eAGniQAAPEoDhWEDI188.png

5.4.2完整實例深度剖析

wKgZomcpm6WAItjdAAhQa1VVxmY975.png

wKgaomcpm7eAB0x9AAwaaKf5-xU249.png

wKgaomcpm8mAd0lhAAg18mvTooQ575.png

wKgZomcpm9qAFpY6AAKDwUNbRfc664.png

6、總結(jié)

WebSocket加密確保了數(shù)據(jù)在傳輸過程中的安全性,防止被竊取或篡改;而WebSocket透傳則指數(shù)據(jù)在不改變內(nèi)容的情況下,通過WebSocket協(xié)議進行傳輸,通常涉及中間層或網(wǎng)關(guān)設(shè)備的數(shù)據(jù)格式轉(zhuǎn)換與傳遞

Air780E作為一款4G模組,支持WebSocket協(xié)議,并可通過Luatools等工具進行調(diào)試和固件管理。在Air780E上實現(xiàn)WebSocket加密通訊,通常需要使用SSL/TLS等加密協(xié)議來確保數(shù)據(jù)傳輸?shù)陌踩浴?/p>

7、常見問題

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

websocket需要在任務(wù)中啟動,帶自動重連,支持心跳協(xié)議

websocket心跳包,建議180秒

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

8、擴展

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

8.1 WS(WebSocket)

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

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

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

8.2 WSS(WebSocketSecure)

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

端口:默認情況下,WSS協(xié)議使用443端口,這是大多數(shù)網(wǎng)站用于HTTPS通信的標準端口。

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

審核編輯 黃宇

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

    關(guān)注

    2909

    文章

    44557

    瀏覽量

    372753
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1353

    瀏覽量

    79055
  • Sim
    Sim
    +關(guān)注

    關(guān)注

    2

    文章

    246

    瀏覽量

    39998
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5032

    瀏覽量

    97371
  • WebSocket
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    3745
收藏 人收藏

    評論

    相關(guān)推薦

    低功耗模組Air780E的AT指令:FTP示例!

    本文說的是關(guān)于4G模組AT指令的FTP示例,以Air780E為例,希望大家有所收獲。
    的頭像 發(fā)表于 11-30 09:40 ?179次閱讀
    低功耗模組<b class='flag-5'>Air780E</b>的AT指令:FTP示例!

    Air780E軟件中zlib解壓示例的詳細展示!

    今天我?guī)氲氖?b class='flag-5'>Air780E 軟件中 zlib 解壓示例,希望大家有所收獲。
    的頭像 發(fā)表于 11-17 10:01 ?229次閱讀
    <b class='flag-5'>Air780E</b><b class='flag-5'>軟件</b>中zlib解壓示例的詳細展示!

    解讀版|Air780E軟件中C語言內(nèi)存數(shù)組的神秘面紗!

    今天我們來揭開Air780E 軟件中 C 語言內(nèi)存數(shù)組的神秘面紗,希望有所收獲。
    的頭像 發(fā)表于 11-17 10:00 ?227次閱讀
    解讀版|<b class='flag-5'>Air780E</b><b class='flag-5'>軟件</b>中C語言內(nèi)存數(shù)組的神秘面紗!

    Air780E模組的ADC之旅 LuatOS開發(fā)實例

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

    Air780E模組AT指令下的MQTT應用:技術(shù)指南

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

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

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

    不可錯過的Air780EWebSocket應用示范!小白篇

    咋們今天說的Air780EWebSocket應用示范針對小白絕對是不可以錯過的示例。
    的頭像 發(fā)表于 11-03 20:16 ?814次閱讀
    不可錯過的<b class='flag-5'>Air780E</b>之<b class='flag-5'>WebSocket</b>應用示范!小白篇

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

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

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

    Air780E 模塊進行性能評估,功能調(diào)試,軟件開發(fā)等用途 二、開發(fā)板配置 IO 口默認電平 3.3V (1.8V 可調(diào)) 支持 USB 5V 直接供電 自彈式 Micro SIM 卡座 一代 IPEX 天線
    的頭像 發(fā)表于 10-23 17:07 ?386次閱讀
    如何使用<b class='flag-5'>Air780E</b>開發(fā)板?看這篇就夠了!

    合宙4G模組Air780E開發(fā)板使用手冊

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

    合宙Air780E硬件設(shè)計手冊02

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

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

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析簡介本文檔適用于合宙Air780E、
    的頭像 發(fā)表于 08-01 17:27 ?773次閱讀
    合宙 <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模塊遇到內(nèi)存死機如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到內(nèi)存死機如何分析簡介本文檔適用于合宙Air780E、
    的頭像 發(fā)表于 07-19 16:07 ?519次閱讀
    <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模塊遇到內(nèi)存死機如何分析

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

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析簡介本文檔適用于合宙Air780E、
    的頭像 發(fā)表于 07-19 15:37 ?647次閱讀
    <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硬件設(shè)計手冊

    電子發(fā)燒友網(wǎng)站提供《Air780E硬件設(shè)計手冊.pdf》資料免費下載
    發(fā)表于 04-14 09:57 ?20次下載
    RM新时代网站-首页