如何以最简单的方式传输文件到开发板上-lrzsz-ZModem

news/2024/10/23 22:15:04/文章来源:https://www.cnblogs.com/yuewusayuri/p/18491688

在某鱼上闲逛的时候,看到树莓派A+这个型号的板子,很便宜30来块钱,有6ULL的性能。
但是既没有网口、也没有WiFi,只有一个usb,电脑和它传数据岂不是非常麻烦?

其实有一个非常好用的协议叫ZModem,它的设计就是主要为了能在串口这种几乎无需配置的连接协议上传输文件。类似的还有XModem 和 YModem,但是正如他们的名字顺序一样,ZModem最为强大。rz、sz就可以在串口上用ZModem协议传输数据

基于网络的远程文件传输的工具有很多,例如scp、sftp、ftp等。如果开发板没网口、或者电脑与开发板ping通需要大量繁琐的网络配置,串口几乎是唯一交互方式的情况下,使用rz、sz传输更为方便。(其实还有USB虚拟网卡)

  • Xmodem:这种古老的传输协议速度较慢,但由于使用了CRC错误侦测方法,传输的准确率可高达99.6%
  • Ymodem:这是Xmodem的改良版,使用了1024位区段传送,速度比Xmodem要快。
  • Zmodem:Zmodem采用了串流式(streaming)传输方式,传输速度较快,而且还具有自动改变区段大小和断点续传、快速错误侦测等功能,是目前最流行的文件传输协议

ZModem强大在于它的稳定与可靠性

  • 自动重传:在出现传输错误时,可以自动重传数据。
  • 文件恢复:支持在断点处恢复文件传输,避免从头开始。
  • 动态缓冲:能够根据网络状况自动调整数据传输速度。
  • 支持长文件名:可以处理比其他协议更长的文件名。

我们常用的终端都支持ZModem传输,以下我会使用MobaXterm、XShell、Tabby三个终端举例

安装lrzsz

先在开发板上安装lrzsz,rz和sz分别是发送与接收的两个工具

sudo apt install lrzsz
  • 接收文件
rz
  • 发送文件
sz filename

MobaXterm

我使用的版本如上图,本身自带ZModem功能,有的老版本有可能需要安装插件。

输入rz,代表你要发送文件

此时界面会卡死, Ctrl+C终止都没用,也千万不要点击键盘发送任何字符,不然就只能等着强制断电重启

调出右键菜单,选中Send File Using Z-modem

我的习惯是右键设置为粘贴,左键选中复制,所以需要按住Ctrl+右键,调出右键菜单,

显示的上传的很快,但是其实并没那么快,要等到它跑完,过程是无法打断的

只有出现上面传输完成的字样后,按下回车就回到了系统。

使用sz filename来发送文件到电脑

还是一样的操作,这次选择Recieve file using Z-modem

可以看到传输过程中还是出现了错误,但是由于ZModem强大的错误校验自动重传功能,我们的文件还是完好的保存了下来

X Shell

xshell简单很多,输入rz自动打开文件选择框,传输就行了

sz也是一样的

Tabby

和xshell一样很方便,会自动弹出文件选择框

tabby和moba一样会显示假速度,需要等到文字提示完成才算完成。

出现Sent字样就代表完成了

下载文件显示的是真实的速度

传输完成

总结

我个人更喜欢Xshell,传输速度显示正确,终端稳定性和多开padding也很方便。唯一的缺点就是在vim和menuconfig的时候总是持续性卡顿,所有操作都慢一拍,不懂是我的问题还是它的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/818791.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

东山Pi柒号-3-STM32MP1 引导链概述

进行移植前先看看ST官网的一些资料,了解芯片的工作方式: STM32MP1 引导链概述 https://wiki.stmicroelectronics.cn/stm32mpu/wiki/STM32MP1_boot_chain_overview启动步骤如下BROM(BL1):芯片内部程序,根据BOOT PIN读取对应启动设备里的程序到内部SYSRAM执行,工作在在Secur…

派生类

派生类 1. 派生类2. 派生类对象定义时调用构造函数的顺序 Man man;3. public、protected、private 4. 函数遮蔽

2024年好用的短链接短网址工具推荐

小码短链接,作为一款专业的短链接生成和统计工具,能够帮助您轻松应对各种场景需求,让运营工作变得简单高效。 小码短链接功能介绍 1. 链接缩短 小码短链接不仅可以缩短您的原始链接,还可以提供简洁美观的短链接形式。通过短链接,您可以有效地减少短信或营销内容的字数,从…

Python找不到项目模块解决方法

BiliBili VsCode在使用Python过程中遇到找不到项目模块的问题问题描述 目录及代码如下的项目结构demo ├─ main.py └─ src├─ __init__.py├─ a.py└─ b.py在"src/a.py"文件中有一个方法,代码如下def xxc():print("hello")在"src/b.py"和…

循环结构程序设计

为什么需要循环控制 循环结构或称重复结构 几乎每一种计算机高级语言都提供了循环控制,用来处理需要进行的重复操作 大多数的应用程序都会包含循环结构 循环结构和顺序结构、选择结构是结构化程序设计的3中基本结构,它们是各种复杂程序的基本构成单元。 用 while 语句实现循环…

python 实现课堂练习

module.py中的:import math class Complex:def __init__(self,real=0,imag=0):self.real=realself.imag=imagdef add(self,other):if isinstance(other,Complex):self.real=self.real+other.realself.imag=self.imag+other.imag def output(other):if isinstance(other, Compl…

Portainer - 用于管理容器的 UI-k8s

简介 🔰什么是Portainer? Portainer 是一个开源的轻量级管理 UI,它允许我们在 Docker、Docker Swarm、Kubernetes 和 Azure ACI 中轻松构建和管理容器,例如管理 Swarm 服务的创建和删除、用户身份验证、授权、连接、执行命令运行容器的控制台,并查看容器的日志。 Portainer …

k8s-Portainer 让应用部署变得简单

什么是搬运工 Portainer 是一个 Kubernetes、Docker/Swarm 和 Nomad 通用容器管理系统,它简化了容器操作,因此我们可以更快地将软件部署到更多地方。 概述 Portainer 服务器和 Portainer 代理是 Portainer 的两个组件。两者都作为轻量级容器在您现有的容器化基础设施上运行。集…

2000+多种开源大模型随意部署!一键搭建本地大模型,不挑环境、不挑配置(ollama 安装部署教程《Windows/Linux,Mac》)

2000+多种开源大模型随意部署!一键搭建本地大模型,不挑环境、不挑配置(ollama 安装部署教程《Windows/Linux,Mac》) 一、Ollama介绍 2.1 基本介绍 Ollama是一个支持在Windows、Linux和MacOS上本地运行大语言模型的工具。它允许用户非常方便地运行和使用各种大语言模型,比如…

SPSS、R 语言因子分析FA、主成分分析PCA对居民消费结构数据可视化分析

全文链接:https://tecdat.cn/?p=37952 原文出处:拓端数据部落公众号 分析师:Ting Mei在经济发展的大背景下,居民消费结构至关重要。本文围绕居民消费结构展开深入研究,运用 SPSS25.0 和 R 语言,以因子分析法和主成分分析法对东北三省居民消费价格指数及全国城镇居民消费…

LLM学习-基础知识

NLP NLP代表自然语言处理,是关于计算机和人类语言之间交互的领域。NLP涵盖了一系列任务,包括文本处理、语音识别、语言翻译、信息检索等。NLP技术的发展使得计算机能够理解、解释和生成人类语言,促进了许多领域的发展,包括智能助手、文本分析、情感分析等。 LLM LLM指的是大…

Photoshop PS 免费安装使用2024 最新使用

传送门: ps:下载后解压就可使用在前端开发的过程中,设计师没有空的时候,或者独自在加班的时候,图像处理是一个不可避免的任务。无论是切图、调整图片尺寸,还是简单的修饰,掌握一款强大的图像编辑工具都是非常重要的。作为一名前端工程师。体积小,不需要破解花里胡哨的操…