通过 node-red 将 Python 连接到网页

Connecting Python to a webpage via node-red

我正在尝试从我的 python 程序中获取信息并在网页上实时更新。

我正在尝试使用 node-red 并通过网络套接字进行通信。

我的python程序如下:

#!/usr/bin/python

import time

import websocket
ws = websocket.WebSocket();
ws.connect("ws://localhost:1880/ws/example")
count = 0;
while(count < 50):
        print "Sending 'Hello, World'..."
        ws.send("Hello, World")
        print "Sent"
        time.sleep(5)
        count = count + 1

 ws.close()

我使用 Node-red 设置流程如下:

Node-Red Flow

然而,当我 运行 他们两个时,我的 python 程序说它正在发送消息,但是节点红色控制台正在为 msg 值返回 null。

请检查您的 settings.js 文件 -- 您是否为 httpRoothttpNodeRoot 定义了 url 前缀?

例如,在我的项目中,当我添加一个新的 websocket 配置节点时,会显示以下信息框:

By default, payload will contain the data to be sent over, or received from a websocket. The listener can be configured to send or receive the entire message object as a JSON formatted string. This path will be relative to /red.

如果是这样,我相信您将不得不修改 python 代码中的 url,如下所示: ws.connect("ws://localhost:1880/red/ws/example")

替换你的前缀,当然...