我想通过串口将一个函数发送到 RPi 上的 python
I want to send a function through serial to python on a RPi
所以我需要从单独的 PC 运行 Labview 控制 RPi,串行是我设法让任何通信正常工作的唯一方式(为什么他们不能只实现 SSH。 ..).
我的 python (2.7) 程序在 raspberry 上正确读取输入,但我如何发送一个带参数的函数让它执行?每行都作为一个名为 serial_in 的变量出现,该变量不可调用。
您可以将函数序列化为字符串,通过串行端口发送,然后在树莓派上使用 eval()
来执行代码。如果函数很简单,您可以将其作为字符串开始。例如,您可以发送这样的函数:
send("x * x")
然后在树莓派方面:
func = receive()
result = eval(func, {x: 1})
所以我需要从单独的 PC 运行 Labview 控制 RPi,串行是我设法让任何通信正常工作的唯一方式(为什么他们不能只实现 SSH。 ..).
我的 python (2.7) 程序在 raspberry 上正确读取输入,但我如何发送一个带参数的函数让它执行?每行都作为一个名为 serial_in 的变量出现,该变量不可调用。
您可以将函数序列化为字符串,通过串行端口发送,然后在树莓派上使用 eval()
来执行代码。如果函数很简单,您可以将其作为字符串开始。例如,您可以发送这样的函数:
send("x * x")
然后在树莓派方面:
func = receive()
result = eval(func, {x: 1})