两台PC通过USB转TTL互传文件

目录

 

一、任务要求

  二、线路连接

三、sscom发送和接收一张图片

四、结果分析

          五、总结与参考


一、任务要求

    串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。

  二、线路连接

     首先将两台PC通过USB转TTL连接起来,连线如图所示:

36a123828e434f888b8094c2afaafc12.png

        cda06f051eac410e98d264eb4058cd47.jpeg

三、sscom发送和接收一张图片

下面通过串口调式助手发送一个文件,有些软件可能不支持,或者发送完成了不能够正确解码,如xcom,我们在实验中使用得是sscom,打开sscom软件,打开串口:

19cdc6432bd44d2c988998af08bea742.png

配置好波特率,数据位,停止位等参数,打开串口,然后选择发送的文件,点击发送文件,注意两边都使用相同的参数。

这是发送的图片:

ac218f8fd2ad43dfb7506deb91bed33a.png

下面进行传输文件:

3a63680775974048a9662334d615561b.png

85af0e7950d0442b86c77f2e89d4a1a7.png

发送完成后,保存为.bat文件

0c06d9932deb424aae8dc478054025a1.png

将文件重命名为.jpg文件(这里是和发送端一样),然后打开

7368da7b65fe4d9bb32165027572ffb5.png

93569fc3a4664a7bac3e97673562a5c4.png

可以看出和之前的文件是一样的

四、结果分析

计算预计传输时间:理论时间=(文件大小*8)/波特率

                      4bdb94a6b40040f0aa1762fb2d752bc6.png
那么上面的压缩包理论传输时间为22.96秒,但是还需要加上每个256bit延时1ms的时间,那么总时间为:

                        ad7eead3816e4baaadd85d1bee29e546.png
22.9+1.3=24.2s

实际时间为:26.9s

实际传输时间比理论时间多,这可能实在传输过程中出现丢失、重传、排序错乱等现象导致。

五、总结与参考

总结: 两台电脑可以通过usb转ttl来传输文件,该文件可以是图片、视频、文件等,传输的时间根据传输波特率有关,且可以根据波特率来推出传输时间,但是实际传输时间因为丢失、重传、排序错乱等现象时间更加长。对比我们平时用qq、wx等方式传输文件,通过usb转ttl的传输速度是十分man的。

参考:

电脑间串口连接传输文件-CSDN博客

源码下载:

交流群 :456948834

### 如何通过 USB 连接两台电脑实现文件传输 #### 使用 USB RS232 模块进行串口通信 一种可行的方式是利用 **USB RS232 模块** 和杜邦线建立两台电脑之间的物理连接。具体来说,可以通过以下方式完成文件传输: - 需要准备两台 PC 机、两个 USB TTL 串口模块以及四根杜邦线来构建硬件环境[^3]。 - 建立好串口连接之后,可使用带有文件传输功能的串口助手软件,在其中配置合适的波特率并计算理论传输时间。最终将目标文件(如图片、视频或压缩包)从一台设备发送至另一台设备。 #### 利用专用 USB 数据交换线 另一种更为便捷的选择是采用专门设计用于双机互联的数据交换线。这种方案无需额外驱动程序安装,仅需插入两端接口便能快速启动跨平台数据同步过程[^4]。一旦成功配对,则可以直接像操作本地磁盘那样拖拽所需项目到对方位置上完成整个流程而不需要依赖任何第三方应用程序辅助执行任务;同时由于绕过了传统意义上的网络架构约束条件限制因素影响下的效率瓶颈问题所在之处——即所谓的“中间环节”,因此理论上能够达到更高的实时性和稳定性表现水平标准之上运行效果呈现出来给用户带来更好的体验感受价值体现形式之一方面考虑进去的话就显得尤为重要起来了呢! ```python import socket # 创建套接字对象 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定地址和端口号 (假设这里是服务器端) host = 'localhost' port = 9999 server_socket.bind((host, port)) # 开始监听请求 server_socket.listen() print(f"等待客户端连接... {host}:{port}") # 接受来自客户端的连接 client_socket, addr = server_socket.accept() print(f"已接受来自{addr}的连接") # 发送消息给客户端 message = b'你好,这是服务端发来的测试消息!' client_socket.send(message) # 关闭连接 client_socket.close() server_socket.close() ``` 上述代码片段展示了基于 Python 的简单 Socket 编程实例,可用于局域网内的计算机间通讯基础框架搭建工作当中去实践应用起来看看效果如何吧!当然这只是一个非常初级入门级别的例子而已啦~ ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值