"); //-->
今天,来分享下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服务器,并且实现模组和服务器之间数据的双向传输。

软硬件相关准备工作及最新示例源码下载详见:
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)。

2.2.2 数据接收回调:搭建响应桥梁
这里使用uart.rx接口,和以zbuff的方式存储从uart1外部串口收到的数据--收取数据会触发回调。
注意:这里的"receive"是固定值不要修改。

2.2.3 TCP网络配置:铺就数据通道

2.2.4 TCP至串口透传:数据无缝流转

2.2.5 串口至TCP反透传:信息双向传递

2.3 完整代码及运行结果
2.3.1 完整代码





2.3.2 运行结果
使用TCP/UDP web测试工具及SSCOM串口工具,运行结果如下图所示:

今天的内容就分享到这里了~
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
Kwikset:超低功耗Wi-Fi解锁无缝体验
16位语言函数工具库
嵌入式系统与物联网
用AT89C2051单片机实验合弦乐
创维数码5000系列彩电开关电源(AN单片机)电路
用单片机制作的纯正弦波逆变电源电路
利用PIC12C508单片机来实现加密狗技术[转帖]
SmartDV展示完整的边缘与连接IP解决方案,以高速和低功耗特性赋能移动、物联网和媒体处理设备创新
纳米电力将nPZero集成电路推向超低功耗物联网的量产
AVR 单片机专栏,资料下载!之二
语音合成芯片T6668和单片机8031的接口电路图
长虹R2118A型彩电开关电源(LA单片机)电路
单片机语言C51应用实战集锦
超低功率高性能新一代产品MSP430F5xx
MSP430x2xx4xx系列
《AVR单片机C语言库》
5V 单片机与5V 耐压单片机有何区别,为什么至关重要
MSP430单片机TIMER_A在产品设计中的应用
GD32E230F6V6实用指南:为下一个项目选择合适单片机
AVR 单片机专栏,资料下载!
TDK 发布 SensorStage 传感器评估平台,大幅加速 IMU 开发进程
《ATmega8原理及应用手册》
被收购后的芯科实验室:物联网与人工智能的未来走向
边缘计算与人工智能(Edge AI)如何引领新一轮技术革命
MSP430 电表解决方案
基于物联网的电池组均衡充电与监控系统
物联网与RFID芯片
芯科科技驱动和重塑智能门锁行业格局
倾情奉献:MSP430汇编指令集(中文),详解带实例!
[转帖]从Cygnal C8051F看8位单片机发展之路