GNURadio/GRC 中的串行输出块

Block for serial output in GNURadio/GRC

我正在做一个涉及 GNU Radio/GRC 的项目,对软件不是很熟悉。我正在尝试使用块将数据输出到 GNU Radio 中的串行端口,但还没有找到这样做的方法。

我想知道是否有一个预定义块可用于将此信息放入串行端口(Raspberry Pi 3 上的 USB),或者我是否必须创建自己的块。如果我必须创建自己的块,该代码会是什么样子。

我已经能够使用文件接收器将数据写入文件以确保我正在获取数据,并且想知道修复是否像将文件接收器更改为串行端口接收器一样简单。见下图:

http://imgur.com/a/BdaMZ

我也做了一些研究,发现了一个看起来像我需要的 github 存储库 -- 不幸的是,它 link 到的存储库不再存在。它确实提到了使用 pyserial,我认为这是在 python 中创建我自己的块的意思。此 repo 的 link 如下:

https://github.com/jmalsbury/gr-pyserial

… was wondering if the fix is something as simple as changing the File sink to an serial port sink.

是的!或者不,更简单:

所以,事实上,您甚至可以简单地使用您的文件接收器写入,例如/dev/ttyS0(或 /dev/ttyUSB0,或者串口的设备名称),但您必须首先设置串口才能像您希望的那样工作。一种方法是使用 stty,例如

stty -F /dev/ttyS0 115200

在 运行 你的流程图之前。

请注意,实际上您流程图中的所有点都表明您对 GNU Radio 的熟练程度不足以成功交换数据。我不能在这里涵盖所有内容,请阅读 official Guided Tutorials,但是:

  • 在像您这样的流程图中,IO 是固有的速率限制元素,您必须 不使用 "Throttle"。 Throttle 实际上只是一种避免流程图消耗所有 CPU(并减慢模拟速度)
  • 的工具
  • 给你的文件一个 .grc 结尾是不好的做法,因为这是为 GNU Radio 流程图保留的结尾。
  • 给它一个 .txt 结尾显然是一种误导,因为其中不涉及任何文本。 "file format"(我什至不称其为格式)实际上只是普通的二进制数,因为您的计算机会处理它们;不是这些浮点二进制数的十进制 ASCII 表示

I also did some research and found a github repo that looks like what I need -- unfortunately, the repository that it links to is no longer there. It did mention using pyserial, which is what I believe is meant for creating my own block in python. The link to this repo is below:

不知道你指的是什么,https://github.com/jmalsbury/gr-pyserial是完美存在的!