18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

3天內不再提示

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

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2024-12-30 16:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

一、TCP協議概述

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

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

▼ TCP工作原理

連接建立:

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

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

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

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

數據傳輸:

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

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

連接釋放:

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

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

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

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

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

二、TCP-UART透傳示例

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

wKgZPGdyW6uAdHISAAJCjv0QY_g668.png

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

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

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

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

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

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

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

2.2 核心腳本代碼詳解

2.2.1 串口初始化

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

wKgZO2dyW8eAQtSCAADP3s-j55Q413.png

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

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

注意:這里的"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


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

審核編輯 黃宇

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

    關注

    8

    文章

    1416

    瀏覽量

    82784
  • uart
    +關注

    關注

    22

    文章

    1288

    瀏覽量

    105822
  • 源碼開放
    +關注

    關注

    0

    文章

    2

    瀏覽量

    5244
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【ESP8266】進入模式后,數據間隔怎么調整,

    01.TCP客戶端用ESP8266模式發(fā)送數據是10ms發(fā)送一次,(連續(xù)發(fā)送) 02.TCP服務器接收到的數據是200ms左右接收一次,數據未丟失,但是更新不及時; 03.通過
    發(fā)表于 09-15 10:16

    XL2417D 無線模組,開發(fā)門檻低,快速實現低功耗無線數據傳輸

    XL2417D 模組 采用 XL2417D 低功耗高性能 SoC 芯片,集成 2.4G 射頻收發(fā)器、MCU 及豐富外設。模塊開發(fā)門檻低,用戶只要掌握串口 UART 接口通信,無需深究 2.4G
    發(fā)表于 08-14 15:43

    揭秘Air780EGH定位功能:源碼開放助力極速開發(fā) !

    例,帶你快速上手定位功能的基本使用方法,可根據實際需求靈活擴展和應用。 ? 一、Air780EGH定位示例源碼開放 Air780EGH示例持續(xù)更新中,本文將講解Air780EGH核心板
    的頭像 發(fā)表于 07-29 16:11 ?398次閱讀
    揭秘Air780EGH定位功能:<b class='flag-5'>源碼</b><b class='flag-5'>開放</b>助力極速開發(fā) !

    HM-BT2204藍牙模塊規(guī)格詳解:功能特性、電氣參數及應用設計指導

    內容概要:HM-BT220X是一款基于低功耗藍牙BLE5.2SoC芯片的模塊,采用ARM?Cortex?-M3332位處理器內核,最高頻率76.8MHz,內嵌2.4GHz射頻收發(fā)器,支持無線數據
    發(fā)表于 07-21 09:56 ?0次下載

    ESP32用作經典藍牙串口模塊與手機進行串口通信

    本文介紹了如何把ESP32用作一個藍牙串口設備使用,其功能和常用的HC-05/06串口藍牙設備一樣。并與手機藍牙串口APP進行雙向藍牙通信。
    的頭像 發(fā)表于 06-20 17:45 ?1752次閱讀
    ESP32用作經典藍牙串口<b class='flag-5'>透</b><b class='flag-5'>傳</b>模塊與手機進行串口通信

    低功耗藍牙模塊在物聯網的應用

    在當今萬物互聯的時代,低功耗藍牙模塊憑借其獨特的優(yōu)勢,正成為物聯網領域中不可或缺的關鍵技術之一。它如同一座無形的橋梁,將各種設備緊密相連,實現了數據的高效、穩(wěn)定傳輸,為智能生活和工業(yè)自動化等眾多領域帶來了前所未有的便利和變革。
    的頭像 發(fā)表于 04-09 14:34 ?868次閱讀
    低功耗藍牙<b class='flag-5'>透</b><b class='flag-5'>傳</b>模塊在物聯網的應用

    【第一章 策略】手把手教你玩轉新版正點原子云

    2. 本次實驗為新版原子云的策略功能 2.1 首先在瀏覽器搜索并打開新版原子云進行賬號注冊和登錄 “原子云”(點擊登錄原子云),兩個設備接線如圖所示: 2.2 完成后就會進入“概覽
    發(fā)表于 03-05 16:52

    Modbus TCP Server程序開發(fā)與Yocto系統構建

    解壓后,源碼為“modbus_server_tcp.c”,它模擬一個Modbus TCP傳感器。源碼的講解請參考《11.7 Modbus TCP
    的頭像 發(fā)表于 02-14 13:38 ?1332次閱讀
    Modbus <b class='flag-5'>TCP</b> Server程序開發(fā)與Yocto系統構建

    開源直接用!UDP-UART數據傳來了

    今天就來分享一下UDP-UART示例,源碼開放,可根據實際需求靈活應用。 一、UDP-
    的頭像 發(fā)表于 02-05 17:14 ?489次閱讀
    開源直接用!UDP-<b class='flag-5'>UART</b>數據<b class='flag-5'>透</b>傳來了

    BLE方案,IoT短距無線通信的“中堅力量”

    BLE技術是一種采用藍牙通信協議在設備之間實現數據透明傳輸的技術,設備在通信時會互相驗證身份和安全密鑰,具有較高的安全性。
    的頭像 發(fā)表于 01-21 14:23 ?682次閱讀
    BLE<b class='flag-5'>透</b><b class='flag-5'>傳</b>方案,IoT短距無線通信的“中堅力量”

    Zigbee模塊使用手冊

    電子發(fā)燒友網站提供《Zigbee模塊使用手冊.pdf》資料免費下載
    發(fā)表于 01-12 09:32 ?2次下載

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

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

    源碼開放 智能監(jiān)測電源管理教程寶典!

    源碼開放,今天我們學習的是電源管理系統的核心功能模塊,手把手教你如何通過不同的技術手段實現有效的電源管理。
    的頭像 發(fā)表于 12-11 09:26 ?887次閱讀
    <b class='flag-5'>源碼</b><b class='flag-5'>開放</b>  智能監(jiān)測電源管理教程寶典!

    藍牙模塊-模塊MS88SF2 V 1.0.0產品規(guī)格書

    電子發(fā)燒友網站提供《藍牙模塊-模塊MS88SF2 V 1.0.0產品規(guī)格書.pdf》資料免費下載
    發(fā)表于 11-20 16:45 ?0次下載

    UART串口通信示例:開啟通信寶藏之門的定位模組LuatOS入門

    今天我們要講解的是UART串口通信示例,關于Air201資產定位模組LuatOS入門,我會從搭建環(huán)境、代碼燒錄、示例效果等來細說:
    的頭像 發(fā)表于 11-03 19:55 ?1783次閱讀
    <b class='flag-5'>UART</b>串口通信<b class='flag-5'>示例</b>:開啟通信寶藏之門的定位模組LuatOS入門