通过 node-red 将 Python 连接到网页
Posted
技术标签:
【中文标题】通过 node-red 将 Python 连接到网页【英文标题】:Connecting Python to a webpage via node-red 【发布时间】:2016-02-24 18:12:17 【问题描述】:我正在尝试从我的 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。
【问题讨论】:
ws/example 中有什么? 你使用什么包提供“websocket”? 【参考方案1】:请检查您的 settings.js
文件 -- 您是否为 httpRoot
或 httpNodeRoot
定义了 url 前缀?
例如,在我的项目中,当我添加一个新的 websocket 配置节点时,会显示此信息框:
默认情况下,有效载荷将包含要发送的数据,或从 网络套接字。侦听器可以配置为发送或接收整个消息 对象作为 JSON 格式的字符串。此路径将相对于
/red
。
如果是这样,我相信你将不得不在你的 python 代码中修改 url,如下所示:
ws.connect("ws://localhost:1880/red/ws/example")
当然要替换你的前缀...
【讨论】:
以上是关于通过 node-red 将 Python 连接到网页的主要内容,如果未能解决你的问题,请参考以下文章
Node-red 如何将 Pattern 与 amqp 库和变量一起使用