serial-port - GNURadio/GRC 中的串行输出 block

标签 serial-port gnuradio gnuradio-companion

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

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

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

/image/WcyRY.jpg fg excerpt

我还做了一些研究,发现了一个看起来像我需要的 github 存储库 - 不幸的是,它链接到的存储库已不存在。它确实提到了使用 pyserial,我认为这是用于在 python 中创建我自己的 block 的意思。该存储库的链接如下:

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,或任何串行端口的设备名称),但您必须设置串行端 Eloquent 能工作就像你希望它首先分开一样。一种方法是使用 stty,例如

stty -F /dev/ttyS0 115200

在运行流程图之前。

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

  • 在像您这样的流程图中,IO 本质上是速率限制元素,您不得使用“Throttle”。 Throttle 实际上只是一个避免流程图消耗所有 CPU(并减慢模拟速度)的工具
  • 为文件提供 .grc 结尾是不好的做法,因为这是为 GNU Radio 流图保留的结尾。
  • 给它一个 .txt 结尾显然是一种误导,因为其中不涉及任何文本。 “文件格式”(我什至不会称其为格式)实际上只是普通的二进制数,因为您的计算机会处理它们;这些浮点二进制数的非十进制 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完美存在!

关于serial-port - GNURadio/GRC 中的串行输出 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43413483/

相关文章:

c++ - Gnu_radio,工作循环和停止

c++ - 在分层 block 中使用 gr::fec::code::cc_encoder 类

java - 如何向串口发送命令(JAVA + RXTX)

c - linux C 串行结构缓冲区

c# - SerialPort.ReadLine() 返回垃圾

c++ - GNU Radio general_work()函数

python - "ImportError no module named gnuradio"尝试执行 ./uhd_fft

gnuradio - GNU radio 伴侣 : enable/disable a block with variable

gnuradio - 如何增加 gnuradio-companion 3.7 中工作台的大小?

C++ Linux (Ubuntu) 正确写入串口 (Arduino)