一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

TCP-UART數(shù)據(jù)透?jìng)骷夹g(shù),居然如此簡(jiǎn)單!

青山老竹農(nóng) ? 來源:jf_82863998 ? 作者:jf_82863998 ? 2024-12-30 16:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天,來分享下TCP-UART透?jìng)魇纠?,源碼開放,可根據(jù)實(shí)際需求靈活應(yīng)用。

一、TCP協(xié)議概述

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

TCP通過三次握手建立連接,使用滑動(dòng)窗口進(jìn)行流量控制,以及通過校驗(yàn)和確認(rèn)應(yīng)答、超時(shí)重傳等機(jī)制來保證數(shù)據(jù)的可靠性。它是互聯(lián)網(wǎng)協(xié)議套件(TCP/IP協(xié)議族)的核心組成部分,廣泛應(yīng)用于各種網(wǎng)絡(luò)應(yīng)用中。

▼ TCP工作原理

連接建立:

TCP協(xié)議使用三次握手協(xié)議來建立連接。

客戶端發(fā)送一個(gè)SYN(同步序列編號(hào))報(bào)文給服務(wù)端,并攜帶一個(gè)隨機(jī)生成的初始序列號(hào)。

服務(wù)端收到SYN報(bào)文后,發(fā)送一個(gè)SYN+ACK(同步序列編號(hào) + 確認(rèn)應(yīng)答)報(bào)文給客戶端,表示確認(rèn)收到了客戶端的SYN報(bào)文,并攜帶自己的初始序列號(hào)。

客戶端收到服務(wù)端的SYN+ACK 報(bào)文后,發(fā)送一個(gè)ACK(確認(rèn)應(yīng)答)報(bào)文給服務(wù)端,表示確認(rèn)收到了服務(wù)端的SYN+ACK報(bào)文。至此,TCP連接建立完成。

數(shù)據(jù)傳輸:

在連接建立后,雙方就可以開始傳輸數(shù)據(jù)了。TCP協(xié)議會(huì)將應(yīng)用層發(fā)送的數(shù)據(jù)分割成適當(dāng)長(zhǎng)度的報(bào)文段(通常受該計(jì)算機(jī)連接的網(wǎng)絡(luò)的數(shù)據(jù)鏈路層的最大傳輸單元MTU的限制),并為每個(gè)報(bào)文段分配一個(gè)序號(hào)。

接收端在收到報(bào)文段后,會(huì)按照序號(hào)進(jìn)行排序,并發(fā)送確認(rèn)應(yīng)答(ACK)給發(fā)送端。如果發(fā)送端在合理的往返時(shí)延(RTT)內(nèi)未收到確認(rèn)應(yīng)答,則會(huì)重傳對(duì)應(yīng)的報(bào)文段。

連接釋放:

TCP協(xié)議使用四次揮手協(xié)議來終止連接。

客戶端發(fā)送一個(gè)FIN(結(jié)束)報(bào)文給服務(wù)端,表示自己想要關(guān)閉連接。

服務(wù)端收到FIN報(bào)文后,發(fā)送一個(gè)ACK報(bào)文給客戶端,表示確認(rèn)收到了客戶端的FIN報(bào)文。此時(shí),客戶端到服務(wù)端的連接關(guān)閉,但服務(wù)端到客戶端的連接仍然打開。

服務(wù)端在發(fā)送完所有剩余數(shù)據(jù)后,也發(fā)送一個(gè)FIN報(bào)文給客戶端,表示自己也想要關(guān)閉連接。

客戶端收到服務(wù)端的FIN報(bào)文后,發(fā)送一個(gè)ACK報(bào)文給服務(wù)端,表示確認(rèn)收到了服務(wù)端的FIN報(bào)文。至此,TCP連接完全關(guān)閉。

二、TCP-UART透?jìng)魇纠?/p>

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

wKgZPGdyW6uAdHISAAJCjv0QY_g668.png

軟硬件相關(guān)準(zhǔn)備工作及最新示例源碼下載詳見:

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

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

通過網(wǎng)頁端啟動(dòng)一個(gè)TCP服務(wù)器;

Air201模組插卡開機(jī)后,連接上TCP服務(wù)器;

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

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

2.2 核心腳本代碼詳解

2.2.1 串口初始化

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

wKgZO2dyW8eAQtSCAADP3s-j55Q413.png

2.2.2 數(shù)據(jù)接收回調(diào):搭建響應(yīng)橋梁

這里使用uart.rx接口,和以zbuff的方式存儲(chǔ)從uart1外部串口收到的數(shù)據(jù)--收取數(shù)據(jù)會(huì)觸發(fā)回調(diào)。

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

wKgZPGdyW9WAcuEmAAIXQ-U3V3k756.png

2.2.3 TCP網(wǎng)絡(luò)配置:鋪就數(shù)據(jù)通道

wKgZO2dyW-KAMu6CAAPxcQda8eQ995.png

2.2.4 TCP至串口透?jìng)鳎簲?shù)據(jù)無縫流轉(zhuǎn)

wKgZPGdyW--AULbRAAGeMxxQTz8320.png

2.2.5 串口至TCP反透?jìng)鳎盒畔㈦p向傳遞

wKgZO2dyW_uANRgfAAIUn5l7Fxg252.png

2.3 完整代碼及運(yùn)行結(jié)果

2.3.1 完整代碼

wKgZO2dyXBeAOmRPAAZ_U-ep_Tw834.png

wKgZPGdyXCuAOweDAAWPXu5-8PI053.png

wKgZO2dyXEGAOp8yAASNR5CjG8c814.png

wKgZO2dyXFaAJYmtAATBtbUEWi8972.png

wKgZPGdyXGeAcOHSAAIbvNlkmH0956.png

2.3.2 運(yùn)行結(jié)果

使用TCP/UDP web測(cè)試工具及SSCOM串口工具,運(yùn)行結(jié)果如下圖所示:

wKgZO2dyXIGAAaa2AAPVpVn8iQ4970.png


今天的內(nèi)容就分享到這里了~

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【干貨】數(shù)據(jù)“零處理”,什么是DTU機(jī)制?

    概述DTU(數(shù)據(jù)傳輸單元)模式是工業(yè)物聯(lián)網(wǎng)的核心技術(shù),它像一條透明的數(shù)據(jù)管道,不做任何解析或修改,直接將終端設(shè)備的原始字節(jié)流(如傳感器
    的頭像 發(fā)表于 07-03 19:32 ?249次閱讀
    【干貨】<b class='flag-5'>數(shù)據(jù)</b>“零處理”,什么是DTU<b class='flag-5'>透</b><b class='flag-5'>傳</b>機(jī)制?

    低功耗藍(lán)牙BLE模塊HM-BT4531的技術(shù)規(guī)格與應(yīng)用指南

    內(nèi)容概要:HM-BT4531是一款基于高性能、超低功耗藍(lán)牙5.1芯片CMT4531的低功耗藍(lán)牙(BLE)模塊。它采用32位ARM? Cortex?-M0內(nèi)核,最高頻率64MHz,集成48KB
    發(fā)表于 06-12 17:13 ?1次下載

    低功耗藍(lán)牙模塊在物聯(lián)網(wǎng)的應(yīng)用

    在當(dāng)今萬物互聯(lián)的時(shí)代,低功耗藍(lán)牙模塊憑借其獨(dú)特的優(yōu)勢(shì),正成為物聯(lián)網(wǎng)領(lǐng)域中不可或缺的關(guān)鍵技術(shù)之一。它如同一座無形的橋梁,將各種設(shè)備緊密相連,實(shí)現(xiàn)了數(shù)據(jù)的高效、穩(wěn)定傳輸,為智能生活和工
    的頭像 發(fā)表于 04-09 14:34 ?518次閱讀
    低功耗藍(lán)牙<b class='flag-5'>透</b><b class='flag-5'>傳</b>模塊在物聯(lián)網(wǎng)的應(yīng)用

    【第一章 策略】手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云

    點(diǎn)擊復(fù)制 2.6 打開兩個(gè)模型配置軟件,依次進(jìn)行配置,調(diào)出剛才復(fù)制的內(nèi)容按Win + V 2.7 本次實(shí)驗(yàn)使用兩個(gè)模型進(jìn)行數(shù)據(jù),所以再重復(fù)以上步驟完成另一個(gè)的配置 2.8 此時(shí)打開新版原子
    發(fā)表于 03-05 16:52

    BLE方案,IoT短距無線通信的“中堅(jiān)力量”

    BLE技術(shù)實(shí)現(xiàn)設(shè)備間快速數(shù)據(jù)同步,支持多設(shè)備連接,功耗低,兼容性強(qiáng),適用于物聯(lián)網(wǎng)設(shè)備。通過簡(jiǎn)單設(shè)置即可上手,加速產(chǎn)品開發(fā),廣泛應(yīng)用于智能
    的頭像 發(fā)表于 02-11 10:14 ?1273次閱讀
    BLE<b class='flag-5'>透</b><b class='flag-5'>傳</b>方案,IoT短距無線通信的“中堅(jiān)力量”

    開源直接用!UDP-UART數(shù)據(jù)傳來了

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

    BLE方案,IoT短距無線通信的“中堅(jiān)力量”

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

    Zigbee模塊使用手冊(cè)

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

    TCP-UART示例~看完就會(huì)源碼開放!

    今天,來分享下TCP-UART示例,源碼開放,可根據(jù)實(shí)際需求靈活應(yīng)用。 ? 一、TCP協(xié)議概述 TCP(Transmission Con
    的頭像 發(fā)表于 12-30 16:43 ?618次閱讀
    <b class='flag-5'>TCP-UART</b><b class='flag-5'>透</b><b class='flag-5'>傳</b>示例~看完就會(huì)源碼開放!

    【新品】100%純國產(chǎn)方案!高效傳輸,低功耗2.4G無線模塊

    的效率、可靠性和可持續(xù)性。億佰特E35-2G4T10S/SX系列2.4G無線模塊支持高效數(shù)據(jù)連續(xù)傳輸且具備多種傳輸方式,簡(jiǎn)單易開發(fā),賦能電網(wǎng)等多種應(yīng)用場(chǎng)景。E35
    的頭像 發(fā)表于 11-01 08:07 ?819次閱讀
    【新品】100%純國產(chǎn)方案!高效傳輸,低功耗2.4G無線<b class='flag-5'>透</b><b class='flag-5'>傳</b>模塊

    DTU終端CATCOM-100云端轉(zhuǎn)發(fā)應(yīng)用

    本文介紹DTU設(shè)備數(shù)據(jù)轉(zhuǎn)發(fā)應(yīng)用,實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通信。應(yīng)用場(chǎng)景DTU設(shè)備數(shù)據(jù)
    的頭像 發(fā)表于 10-13 08:05 ?793次閱讀
    DTU終端CATCOM-100云端<b class='flag-5'>透</b><b class='flag-5'>傳</b>轉(zhuǎn)發(fā)應(yīng)用

    【新品】這樣的4G DTU網(wǎng)關(guān),你見過嗎?

    DP210是一款全網(wǎng)通4GDTU網(wǎng)關(guān),提供1路開關(guān)量輸入和1路繼電器輸出。支持循環(huán)定時(shí)寫入數(shù)據(jù)給PLC實(shí)現(xiàn)鎖機(jī)功能,以及循環(huán)定時(shí)同步時(shí)間給PLC同步年月日/時(shí)分秒。還可接入阿里云、騰訊云、百度云
    的頭像 發(fā)表于 08-31 08:05 ?1176次閱讀
    【新品】這樣的4G DTU<b class='flag-5'>透</b><b class='flag-5'>傳</b>網(wǎng)關(guān),你見過嗎?

    網(wǎng)絡(luò)和非是什么區(qū)別是什么

    :適用簡(jiǎn)易、立即的數(shù)據(jù)傳輸,留意數(shù)據(jù)的完整性和低延遲。非:適用必須進(jìn)行
    的頭像 發(fā)表于 08-07 16:19 ?1734次閱讀

    TC6222藍(lán)牙操作--PHY6222

    :燒錄成功后需將TM接地,復(fù)位即可正常運(yùn)行 四、操作流程 1.藍(lán)牙連接后使能CCCD 2.串口發(fā)送數(shù)據(jù)到模組,模組通過藍(lán)牙發(fā)送到手機(jī)+3.手機(jī)發(fā)送數(shù)據(jù)到藍(lán)牙模組,在通過串口
    的頭像 發(fā)表于 08-07 14:24 ?1220次閱讀
    TC6222藍(lán)牙<b class='flag-5'>透</b><b class='flag-5'>傳</b>操作--PHY6222

    請(qǐng)問ESP32-S3-WROOM-1U模組可以做串口或者SPI接口的數(shù)據(jù)嗎?

    請(qǐng)問下,ESP32-S3-WROOM-1U模組可以做串口或者SPI接口的數(shù)據(jù)嗎?還需要額外對(duì)模組進(jìn)行編程下載嗎?還是模組默認(rèn)的程序就可以實(shí)現(xiàn)
    發(fā)表于 07-19 06:54