通过 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 设置流程如下:
然而,当我 运行 他们两个时,我的 python 程序说它正在发送消息,但是节点红色控制台正在为 msg 值返回 null。
请检查您的 settings.js
文件 -- 您是否为 httpRoot
或 httpNodeRoot
定义了 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")
替换你的前缀,当然...
我正在尝试从我的 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 设置流程如下:
然而,当我 运行 他们两个时,我的 python 程序说它正在发送消息,但是节点红色控制台正在为 msg 值返回 null。
请检查您的 settings.js
文件 -- 您是否为 httpRoot
或 httpNodeRoot
定义了 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")
替换你的前缀,当然...