8

我正在使用 Node-Red,它托管在 Raspberry Pi 上,用于 IoT 项目。

如何触发来自 Node-Red 的 raspi 上的 Python 脚本?我想运行一个脚本来更新位于 Pi 上的 Adafruit LCD 屏上的文本

我是否应该以某种方式将 Python 脚本公开为 Web 服务?

我正在使用树莓派 B+

4

3 回答 3

9

Node-RED 提供一个 exec 节点作为其核心集的一部分,可用于调用外部命令,这可以调用您的 python 脚本。

将副本拖到画布上时,可以在信息侧栏中找到有关如何使用它的更多详细信息。

或者,您可以将脚本包装为 Web 服务或只是一个简单的 TCP 套接字,两者都有可用于驱动它们的节点。

于 2015-08-17T19:27:59.643 回答
1
  1. 我希望你已经安装了 red-node 和 Python。如果没有,请在 Power shell 或 CMD 中使用以下命令安装它: npm install -g node-red-contrib-python3-function
  2. 启动node-red后,可以在node-red的节点面板中找到pythonshell节点。拖放它并双击它以获取“节点属性”面板,在名称中输入 Python.exe 路径,在 Py 文件中输入 Python 文件,然后单击完成。
  3. 将 msg-payload 节点连接到它并部署。
  4. 单击 PythonShell 节点输入,您将执行 Python 程序并显示在输出中。
于 2019-02-11T15:33:29.193 回答
0

您可以使用 exec node 命令调用带有参数的 Python 脚本:

python ~/script.py arg1 arg2

在您的 Python 脚本中,您可以使用 sys 模块捕获参数:

import sys

var1 = sys.argv[1]
var2 = sys.argv[2]

sys.argv[0] 为脚本名称保留。

于 2018-06-20T10:06:15.940 回答