通过 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 文件 -- 您是否为 httpRoothttpNodeRoot 定义了 url 前缀?

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

默认情况下,有效载荷将包含要发送的数据,或从 网络套接字。侦听器可以配置为发送或接收整个消息 对象作为 JSON 格式的字符串。此路径将相对于/red

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

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

【讨论】:

以上是关于通过 node-red 将 Python 连接到网页的主要内容,如果未能解决你的问题,请参考以下文章

将 Api.ai 连接到节点 red

使用 Node-RED 处理 MQTT 数据

Node-red 如何将 Pattern 与 amqp 库和变量一起使用

如何通过蓝牙将 iPhone 连接到本地 Python 客户端?

外网如何连接到内网

SSH通过SSH代理连接到内网机器