0

我想构建一个闪亮的应用程序并通过它使用树莓派的 GPIO 引脚来控制一些硬件。如果我在 pi 本身上安装 R 并使用类似的代码

library(rPython)
python.exec("
                import RPi.GPIO as GPIO
                import time
                GPIO.setmode(GPIO.BCM)
                GPIO.setwarnings(False)
                GPIO.setup(18,GPIO.OUT)
                GPIO.output(18,GPIO.HIGH)
            ")

我可以从树莓派的 R 控制台很好地控制 GPIO 引脚上的输出和输入。但是由于 pi 无法托管 Shiny 服务器,有没有办法可以使用笔记本电脑的 R 会话连接到 pi 的 python 环境并通过 rPython 控制 GPIO 引脚?或者对这项任务有什么其他建议?

4

1 回答 1

2

试试 R 的svSocket包。这通过 TCP/IP 协议进行通信。使用此软件包,您可以在 pi 上设置服务器。喜欢

require(svSocket)
startSocketServer(port = 9999) # choose your preferred port
while(1)
{
   ... # some code to do
   Sys.Sleep(0.05) # give the system some time to do other things
}

while这使您的 pi 可以在语句中执行一些操作。同时,您可以向它发送一些代码,这些代码将从正在运行的服务器进行评估。

在您计算机上的 R 会话中,键入:

require(svSocket)
con <- socketConnection(port = 9999)

evalServer(con, <code to evaluate on your pi>)

这是我在不同计算机上与不同 R 会话交谈的方式。

最好的!马丁

于 2016-03-14T05:45:36.720 回答