transfer - 使用 xBee 传输文件(Raspberry Pi 到笔记本电脑)
问题描述
我有一个 Raspberry Pi 3 Model B。我想将一个文件从 Raspberry 发送到笔记本电脑。我配置了我的 xBee (Zigbee) 设备,我可以在 XCTU 上相互发送 ASCII 文本。
我想在没有 XCTU 的情况下传输文件 (1 MB)。你能给我推荐一个来源吗?我怎样才能做到这一点?
解决方案
您需要为 Pi 提供某种协议,以便在开始发送之前告诉笔记本电脑文件有多大。您可以从非常简单的开始,在将文件内容写入串行端口之前发送一行包含文件名、文件大小和换行符的内容。在接收端,解析出文件名和大小,然后开始读取字节,直到到达末尾。
更复杂的协议将允许任一端中止传输。您不必担心纠错,因为您可能使用的 USB 接口在 FTDI 控制器和 XBee 之间不会产生线路噪声,并且无线传输会为您纠正错误。
请务必将两端的 XBee 模块配置为使用流量控制,并预计传输需要很长时间。您要确保以 Pi 上的 XBee 可以处理的速率发送字节。笔记本电脑上的流量控制可能不太重要。将 ATBD 设置为 7 (115200 bps) 或 8 (230400 bps) 以最小化每个设备和 XBee 模块之间的传输时间,但要准备好以大约 10KB/s 的无线传输速度。1MB/10KB/s = 100 秒。
推荐阅读
- visual-studio - 还有两个与 VS Build Tools 和 VS 代理相关的问题
- reactjs - 如何在 React 中重新分配 Ref 对象
- javascript - 如何从angularjs上的xml响应中获取元素值
- file - 将“带转义字符”标签添加到 .txt 文件
- filter - FILTER 中的子条件使用非相关表
- angular - Angular Material mat-select multiselect dropdown 仅获取选中或未选中的项目
- ruby - 这段代码是用什么语言编写的?我将如何在 Ruby 中编写代码?
- python-3.x - 在 Airflow 中提取持续时间统计 API
- mysql - { 错误:ER_PARSE_ERROR:您的 SQL 语法有错误
- python - EC.presence_of_element_located not 和 WebDriverWait 导致 Python 的 selenium 中出现“其他元素将收到点击:...”错误