色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

TCP-UART透傳示例~看完就會源碼開放!

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2024-12-30 16:43 ? 次閱讀

今天,來分享下TCP-UART透傳示例,源碼開放,可根據實際需求靈活應用。

一、TCP協議概述

TCP(Transmission Control Protocol,傳輸控制協議)——是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。它主要用于在不可靠的網絡環境中提供穩定的數據傳輸服務,確保數據能夠按照順序、無錯誤地到達接收端。

TCP通過三次握手建立連接,使用滑動窗口進行流量控制,以及通過校驗和確認應答、超時重傳等機制來保證數據的可靠性。它是互聯網協議套件(TCP/IP協議族)的核心組成部分,廣泛應用于各種網絡應用中。

▼ TCP工作原理

連接建立:

TCP協議使用三次握手協議來建立連接。

客戶端發送一個SYN(同步序列編號)報文給服務端,并攜帶一個隨機生成的初始序列號。

服務端收到SYN報文后,發送一個SYN+ACK(同步序列編號 + 確認應答)報文給客戶端,表示確認收到了客戶端的SYN報文,并攜帶自己的初始序列號。

客戶端收到服務端的SYN+ACK 報文后,發送一個ACK(確認應答)報文給服務端,表示確認收到了服務端的SYN+ACK報文。至此,TCP連接建立完成。

數據傳輸:

在連接建立后,雙方就可以開始傳輸數據了。TCP協議會將應用層發送的數據分割成適當長度的報文段(通常受該計算機連接的網絡的數據鏈路層的最大傳輸單元MTU的限制),并為每個報文段分配一個序號。

接收端在收到報文段后,會按照序號進行排序,并發送確認應答(ACK)給發送端。如果發送端在合理的往返時延(RTT)內未收到確認應答,則會重傳對應的報文段。

連接釋放:

TCP協議使用四次揮手協議來終止連接。

客戶端發送一個FIN(結束)報文給服務端,表示自己想要關閉連接。

服務端收到FIN報文后,發送一個ACK報文給客戶端,表示確認收到了客戶端的FIN報文。此時,客戶端到服務端的連接關閉,但服務端到客戶端的連接仍然打開。

服務端在發送完所有剩余數據后,也發送一個FIN報文給客戶端,表示自己也想要關閉連接。

客戶端收到服務端的FIN報文后,發送一個ACK報文給服務端,表示確認收到了服務端的FIN報文。至此,TCP連接完全關閉。

二、TCP-UART透傳示例

本小節教你使用LuatOS腳本語言,讓Air201模組連接上一個TCP服務器,并且實現模組和服務器之間數據的雙向傳輸。

wKgZPGdyW6uAdHISAAJCjv0QY_g668.png

軟硬件相關準備工作及最新示例源碼下載詳見:

https://docs.openluat.com/air201/luatos/app/socket/tcp/

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

通過網頁端啟動一個TCP服務器;

Air201模組插卡開機后,連接上TCP服務器;

Air201模組向TCP服務器發送:TCP CONNECT,服務器可以收到數據并且在網頁端顯示;

TCP服務器網頁端向Air201模組發送:data from TCP server,Air201模組可以收到數據并且通過串口輸出顯示。

2.2 核心腳本代碼詳解

2.2.1 串口初始化

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

wKgZO2dyW8eAQtSCAADP3s-j55Q413.png

2.2.2 數據接收回調:搭建響應橋梁

這里使用uart.rx接口,和以zbuff的方式存儲從uart1外部串口收到的數據--收取數據會觸發回調。

注意:這里的"receive"是固定值不要修改。

wKgZPGdyW9WAcuEmAAIXQ-U3V3k756.png

2.2.3 TCP網絡配置:鋪就數據通道

wKgZO2dyW-KAMu6CAAPxcQda8eQ995.png

2.2.4 TCP至串口透傳:數據無縫流轉

wKgZPGdyW--AULbRAAGeMxxQTz8320.png

2.2.5 串口至TCP反透傳:信息雙向傳遞

wKgZO2dyW_uANRgfAAIUn5l7Fxg252.png

2.3 完整代碼及運行結果

2.3.1 完整代碼

wKgZO2dyXBeAOmRPAAZ_U-ep_Tw834.pngwKgZPGdyXCuAOweDAAWPXu5-8PI053.pngwKgZO2dyXEGAOp8yAASNR5CjG8c814.pngwKgZO2dyXFaAJYmtAATBtbUEWi8972.pngwKgZPGdyXGeAcOHSAAIbvNlkmH0956.png

2.3.2 運行結果

使用TCP/UDP web測試工具及SSCOM串口工具,運行結果如下圖所示:

wKgZO2dyXIGAAaa2AAPVpVn8iQ4970.png


今天的內容就分享到這里了~

審核編輯 黃宇

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

    關注

    8

    文章

    1357

    瀏覽量

    79107
  • uart
    +關注

    關注

    22

    文章

    1237

    瀏覽量

    101445
  • 源碼開放
    +關注

    關注

    0

    文章

    2

    瀏覽量

    5170
收藏 人收藏

    評論

    相關推薦

    TCP-UART數據技術,居然如此簡單!

    今天,來分享下TCP-UART示例源碼開放,可根據實際需求靈活應用。 ? 一、
    的頭像 發表于 12-30 16:46 ?36次閱讀
    <b class='flag-5'>TCP-UART</b>數據<b class='flag-5'>透</b><b class='flag-5'>傳</b>技術,居然如此簡單!

    DTU終端CATCOM-100云端轉發應用

    本文介紹DTU設備數據轉發應用,實現點對點通信。應用場景DTU設備數據轉發功能的應用
    的頭像 發表于 10-13 08:05 ?282次閱讀
    DTU終端CATCOM-100云端<b class='flag-5'>透</b><b class='flag-5'>傳</b>轉發應用

    網絡和非是什么區別是什么

    :適用簡易、立即的數據傳輸,留意數據的完整性和低延遲。非:適用必須進行數據解決優化的狀況,提供良好的可靠性和效果。 在挑選傳輸技術時,務必根據實際的業務需求、數據種類、安全規
    的頭像 發表于 08-07 16:19 ?824次閱讀

    請問AT支持UDP嗎?

    做了測試,SDK V1.00 AT文件燒寫后,設定為TCP時,是可以了, 但是設定為UDP后,傳出現發送不成功,但是接收是可以的,是不是AT不支持UDP
    發表于 07-17 08:28

    請問SDK固件如何實現網絡

    您好,想請問一下,我們現在一個項目需要用SDK來實現網路數據,但是調用 官方API :espconn_send()會自動把HTTP報文頭部給添加上去了,沒有有辦法實現像AT固件一樣直傳?
    發表于 07-10 06:59

    為什么ESP8266 TCP傳過程會丟包?

    為什么ESP8266 TCP傳過程會丟包?
    發表于 07-09 07:55

    藍牙模塊無線世界的傳輸

    在數字化、智能化的今天,藍牙技術已成為我們生活中不可或缺的一部分。藍牙無處不在,連接著我們的每一個智能設備。而在這些設備的背后,有一個神秘的角色在默默付出,那就是藍牙模塊。今天,就讓我們一起走進
    發表于 07-03 18:40

    LwIP協議棧源碼詳解—TCP/IP協議的實現

    電子發燒友網站提供《LwIP協議棧源碼詳解—TCP/IP協議的實現.pdf》資料免費下載
    發表于 07-03 11:22 ?3次下載

    藍牙作為客戶端,實現不了是哪里出了問題?

    藍牙作為客戶端,實現不了 AT指令過程 AT+BLEINIT=1 AT+BLESCAN=1,3 AT+BLECONN=0,"f8:a7:63:39:11:df" AT+BLESPP(
    發表于 06-24 07:22

    請問ESP32 BLE如何主動發送數據?

    我在做ESP32 BLE,通過串口數據。看到的例程都是手機app端讀操作時觸發ESP_GATTS_READ_EVT事件,然后發送數據。我想問如何主動發送數據,當連接后,串口有數
    發表于 06-21 11:25

    ESP32-S3使用tcp_server例程,將網絡數據和串口數據延遲過高怎么解決?

    使用tcp_server例程修改,將tcp數據與串口數據進行,串口→tcp的數據延遲很低,基本都在10ms以內,但是
    發表于 06-06 06:06

    輕松搞懂和非的區別

    和非是數據通信中的兩種不同模式,各自有其適用場景和優勢。模式簡單、高效,適用于數據完
    的頭像 發表于 06-05 12:03 ?9801次閱讀
    輕松搞懂<b class='flag-5'>透</b><b class='flag-5'>傳</b>和非<b class='flag-5'>透</b><b class='flag-5'>傳</b>的區別

    KT6368A藍牙芯片AT命令會被傳出去,指令對為什么會被傳出去

    KT6368A再被連接之后,AT命令會被傳出去。被的這組AT命令是符合文檔要求,不應被,實際卻經常被
    的頭像 發表于 05-27 15:38 ?450次閱讀
    KT6368A藍牙芯片AT命令會被<b class='flag-5'>透</b>傳出去,指令對為什么會被<b class='flag-5'>透</b>傳出去

    關于博達工具新版本升級公告

    感謝您一直以來對博達智聯自主研發的遠程工具的支持與信任!為提升廣大用戶的操作體驗,博達智聯團隊經過不懈努力,不斷優化產品功能,將工具進行了全面的升級,即刻發出全新版本。相比于之
    的頭像 發表于 03-19 08:33 ?472次閱讀
    關于博達<b class='flag-5'>透</b><b class='flag-5'>傳</b>工具新版本升級公告

    PSoC通過wifi模組的UART bootload經常失敗怎么解決?

    我工程中有個應用,需要通過TCP/IP連接wifi模組,wif模組通過UART升級PSOC, 發現經常升級失敗,成功率不到10%。每次都是剛開始的時候返回err 0x0004.
    發表于 02-22 06:32
    主站蜘蛛池模板: 暖暖 免费 高清 日本视频大全| 国产人妻777人伦精品HD| 草b是什么感觉| 里番※琉璃全彩acg奈亚子| 亚洲国产夜色在线观看| 国产精品三级在线观看| 日韩毛片在线视频| 糙汉顶弄抽插HHHH| 人妻久久久精品99系列AV| gay台湾无套男同志xnxⅹ| 免费观看久久| 99久久爱看免费观看| 亚洲精品午夜VA久久成人 | 日本伦理片 中文字幕| 97超碰射射射| 免费看美女的网站| 97人人超碰国产精品最新蜜芽| 露露的性战k8经典| 最新无码专区在线视频| 美女打开双腿扒开屁股男生| 97在线超碰免费视频| 欧美性色xo影院69| 德国美女密密麻麻浓毛| 特黄大片aaaaa毛片| 国产欧美一区二区三区在线看 | 欧美aa级片| 补课H湿 1V1 PLAY| 桃花在线观看播放| 精品国产自在现线拍国语| 在线 日韩 欧美 国产 社区| 麻豆一区二区免费播放网站| CHINESE熟女老女人HD视频| 人妻激情综合久久久久蜜桃| 国产传媒18精品A片在线观看| 亚洲精品一卡二卡三卡四卡2021| 久久99影院| GOGOGO高清在线播放免费| 视频一区国产精戏刘婷30| 国内精品久久久久影院亚洲| 在线涩涩免费观看国产精品| 欧美一区二区三区男同|