您好哦哦强大的StackOverflow.com社区。
这是我一直在摆弄一段时间的问题。我有(将有)Arduino 2560使用一对388 RF发射器/接收器与RPi对话 - 因此它将有效地进行串行通信。更糟糕的是,会有许多发射器(Arduinos)和一个接收器(RPi)。两个问题,我无法找到答案:
无论如何,这就是我的立场。将不胜感激任何答案。
这是我正在使用的transmitter,这是一个receiver。
非常感谢大家!
你看过Arduino Virtual Wire库 - http://www.pjrc.com/teensy/td_libs_VirtualWire.html吗?这适用于Arduino上的那些发送器和接收器,并且不应该太难以移植到Raspberry Pi。在http://www.raspberrypi.org/phpBB3/viewtopic.php?t=24215&p=239410有一个关于它的论坛讨论。
从理论上讲,接收可以移植到Raspberry,但是您需要实时访问处理器才能使用bit-banging进行传输。不幸的是,Linux不是一个实时操作系统,因为处理器花费了不同的时间来处理其他进程。当您尝试创建软件时钟参考时,这会造成严重破坏。它在Arduino上运行良好,它只运行一个程序。
有一些硬件kludges涉及一点额外的成本和硬件复杂性。一种是在模式0中将数据发送到SPI,并将MOSI和SCLK引脚连接到XOR门IC的输入。另一种硬件方法是将Arduino或PIC编程为RF模块和Raspberry Pi之间的网关,使用SPI或I2C处理RF。
注意:此kludge需要FIFO缓冲SPI UART。一些较早的Raspberry Pi型号具有软件SPI,并且不使用硬件FIFO。检查特定版本的规格。
有兴趣和熟练的人也可以为Pi创建一个内核模块来处理这种类型的链接。有关该主题的更多信息,请访问: