Tag: node red

将外部MQTT发布者与NODE-RED连接

在我目前的项目中,我试图将外部温度传感器连接到NODE-RED。 我已经用外部传感器插入了MQTT。 该传感器正在使用tempMeasurement主题发布数据。 MQTT发布者的configuration如下: public class MQTTPublisher { // public static final String BROKER_URL = // "tcp://broker.mqttdashboard.com:1883"; public static final String BROKER_URL = "tcp://test.mosquitto.org:1883"; private MqttClient client; public MQTTPublisher() { try { client = new MqttClient(BROKER_URL, MqttClient.generateClientId(), new MemoryPersistence()); client.connect(); } catch (MqttException e) { e.printStackTrace(); } } public void publish(String topicName, int qos, byte[] […]

实施实时传感器仪表板

在我目前的项目中,我们试图实现一个显示不同传感器值的仪表板。 以下显示function。 在这里,function是 – humidity和temperature传感器周期性地发送它们的值。 Displaycontroller接收这些值,并将其发送到仪表板进行可视化。 为了实验目的和探索新技术,我们一直在用以下方式实现上述四个组件: node.js中的TemperatureSensor和HumiditySensor使用MQTT发布者发布该值。 Node-RED中的DisplayController ,可以通过NODE-RED MQTT用户接收温度和湿度传感器值。 在HTML和Javascript DashBoard 现在,这是我的问题—我们如何连接DisplayController和DashBoard组件? 由于Displaycontroller组件在Node-RED中实现, DashBoard在HTML和JavaScript实现,问题可能会变得复杂。 可以连接这些组件吗? 如果是,那我们怎么连接它们? 为了进一步清晰起见,我添加了Dashboard组件代码。 dashborad组件连续轮询DisplayController组件( 用Nodejs编写,而不是Node-RED ) <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <script type="text/javascript" src="https://www.google.com/jsapi?autoload={ 'modules':[{ 'name':'visualization', 'version':'1', 'packages':['corechart'] }] }"> </script> </head> <body> <div id="chart" style="width: 1500px; height: 700px"></div> <script> $(document).ready(function () { var maxDataPoints = 10; var chart = […]

JavaScript在node.js / Node-RED中返回之前如何使节点等待?

经验丰富的程序员,没有经验的JavaScript程序员。 我正在使用Node-RED,并且在我的一个节点中,我正在使用'child_process'调用外部程序,该程序通过stdout将数据发送回我的节点。 我正在使用console.info(标准输出)loggingsubprocess数据,所以我知道它正在适当的工作。 这是函数节点中的代码: /* required modules */ var cp = context.global.child_process; /* variables */ var packet = {}; var cmd = '~/packet/packet.py '; /* construct the packet object */ packet.networkTime = (msg.payload[3] << 24) + (msg.payload[2] << 16) + (msg.payload[1] << 8) + msg.payload[0]; packet.sampleCount = msg.payload[4]; packet.uncompressedWidth = msg.payload[5]; packet.compressedWidth = msg.payload[6]; packet.sample0 […]

节点红色:很多时间来响应

我有一个本地的节点红色实例,有两个节点:http in和http out。 但是这个简单的节点需要6秒的响应时间,并且没有进程。 其他stream量的stream量也是一样的(5/6)。 有人有一个想法? 为什么它真的很慢? 编辑:对coms的回应: 这不是代码问题。 stream量下面: networking分析(云中的服务器具有很好的下载/上传速度): 我在节点红色服务器上还有10个其他的stream量,包括mqtt节点,http,udp等等。但是一切都很慢。 在执行过程中,两个stream与HTTP通信时将近5秒。 硬件部分是好的:CPU的i5,8转到RAM等。

节点应用程序获取“错误:EACCES:权限被拒绝,mkdir'.tmp'

我在我的覆盆子pi上运行node-red,并试图find一个我自己编写的节点。 该节点在我的Windows PC上工作正常,但我还没有能够得到它在我的pi工作。 我的节点使用mailin来设置SMTP服务器,但我不认为这是该包的问题。 邮件试图创build一个临时文件夹,但它显然没有权限。 我如何给节点的权限,它需要能够创build此文件夹? 完整的错误: 5 Apr 20:06:22 – [info] Starting flows shell.js: internal error Error: EACCES: permission denied, mkdir '.tmp' at Error (native) at Object.fs.mkdirSync (fs.js:794:18) at mkdirSyncRecursive (/home/pi/.node-red/node_modules/node-red-contrib-mailin-smtp/node_modules/mailin/node_modules/shelljs/src/mkdir.js:11:8) at /home/pi/.node-red/node_modules/node-red-contrib-mailin-smtp/node_modules/mailin/node_modules/shelljs/src/mkdir.js:63:7 at Array.forEach (native) at Object._mkdir (/home/pi/.node-red/node_modules/node-red-contrib-mailin-smtp/node_modules/mailin/node_modules/shelljs/src/mkdir.js:48:8) at Object.mkdir (/home/pi/.node-red/node_modules/node-red-contrib-mailin-smtp/node_modules/mailin/node_modules/shelljs/src/common.js:186:23) at Mailin.start (/home/pi/.node-red/node_modules/node-red-contrib-mailin-smtp/node_modules/mailin/lib/mailin.js:73:15) at new MailinSMTP (/home/pi/.node-red/node_modules/node-red-contrib-mailin-smtp/mailinSMTP.js:15:10) at createNode (/usr/lib/node_modules/node-red/red/runtime/nodes/flows/Flow.js:276:18) at Flow.start […]

为Node-REDfunction块上的每个输出返回一条消息

在Node-RED中,如何在function块上返回多个消息,每个输出都有一个消息? 我试图基于文档,没有成功。 msg1 = "1" msg2 = "2"; msg3 = "3"; msg.payload = [msg1, msg2, msg3]; return msg

创build节点红色的二进制有效载荷

新的节点红色和JavaScript。 我需要使用TCPinput连接到继电器控制器的状态。 我正在使用函数节点来生成一个两字节的请求,将stream向TCPinput节点和控制器,但不知道如何格式化在Java中。 我可以设置 msg.payload = "hello"; 发送一个string,但我需要发送2个字节:0xEF 0xAA。 在C#中,我只是创buildstring msg.payload = "\xEF\xAA"; 或者其他的东西。 如何在java / node-red中做到这一点?

node.js openshift用户目录

我正在使用Openshift创build我的节点红色应用程序。 我想将我的节点存储在Openshift环境variablesprocess.env.OPENSHIFT_DATA_DIR的用户目录中,但是当我构build并运行我的应用程序时,我从Openshift部署日志中看到这个错误: Environment: DEV_MODE=false NODE_ENV=production DEBUG_PORT=5858 Launching via npm… npm info it worked if it ends with ok npm info using npm@2.15.1 npm info using node@v4.6.2 npm info prestart node-red-app@ npm info start node-red-app@ > node-red-app@ start /opt/app-root/src > node app.js Potentially unhandled rejection [1] Error: Property 'userDir' is read-only 这里是我的app.js: var http = require('http'); […]

通过节点 – 红色gpio或i2c在i2c上发送asciistring命令

我希望通过I2C将节点红色的ASCIIstring发送到Atlas Scientific pH I2C模块。 我目前已经尝试使用节点红色contrib gpio和i2c。 我能够发送命令r ascii数字114并得到一个回应。 但是当我尝试命令sleep不起作用。 我试图把它作为一个数组发送,个别ASCII码数字延迟,一串数字,全部为一个数字,空字节。 目前为止还没有工作,手册说这些命令由5部分组成。 开始-I2C地址 – 写命令(ascii命令string) – 停止。 在SDA和SCL图中显示, 地址位 – >写 – >确认 – >命令的第一个字母 – >确认 – > ……->命令的最后一个字母 – >确认 – >停止。 我input的数据格式不正确,或者在发送下一个字母之前,i2c节点是否有问题等待确认?

你将如何解码在JavaScript中的节点红色msg.payload内的HTML实体?

作为一个实验的一部分,我正在使用Node-Red。 我创build了一个简单的工作stream程,只需点击一个button,就可以从各种网站中embedded(下载html内容)到自己的页面上。 但是,提取的HTML, msg.payload会自动被编码为HTML。 因此,而不是经常地<div> ,我会得到&lt;div class=&quot;shot&quot;&gt; 。 这破坏了这个想法。 有了“function节点”,我可以将任何Javascript应用到msg.payload,从而提取HTML。 我需要find一种将HTML实体解码为好HTML的方法。 默认情况下, msg.payload已经包含提取的内容,所以如果需要,你可以在Javascript var中使用它。 var x = msg.payload 所以tl;博士:我如何解码HTML实体只有Javascript? 如果您想用我的工作stream程“摆弄”,请复制并粘贴以下代码。 [{"id":"b05c9e5a.4fa36","type":"http request","name":"Get to Dribbble","method":"GET","ret":"obj","url":"https://dribbble.com/search?utf8=%E2%9C%93&q=flat+design&s=latest","x":181,"y":169,"z":"9b321f64.64cde","wires":[["93dfb5e5.6c2048"]]},{"id":"c3be5c2.f3c41a","type":"inject","name":"","topic":"","payload":"","payloadType":"none","repeat":"","crontab":"","once":false,"x":156,"y":106,"z":"9b321f64.64cde","wires":[["b05c9e5a.4fa36"]]},{"id":"93dfb5e5.6c2048","type":"html","name":"Get each Dribbble","tag":".dribbble","ret":"html","as":"multi","x":188,"y":257,"z":"9b321f64.64cde","wires":[["ef6b650e.109498"]]},{"id":"cea8d694.315728","type":"file","name":"","filename":"dribbble/dribbbleFile.html","appendNewline":true,"overwriteFile":"true","x":895,"y":302,"z":"9b321f64.64cde","wires":[]},{"id":"6a37543c.95c8ac","type":"template","name":"","field":"payload","format":"handlebars","template":"<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n\t<meta charset=\"UTF-8\">\n\t <title>Document</title>\n <link href=\"http://iscs.nl/dribbble.css\"></link>\n</head>\n<body>\n\nThis is the payload: {{payload}} !\n\t\n</body>\n</html>\n\n\n\n\n\n","x":676,"y":303,"z":"9b321f64.64cde","wires":[["cea8d694.315728"]]},{"id":"ef6b650e.109498","type":"function","name":"","func":"return msg;","outputs":1,"noerr":0,"x":492,"y":303,"z":"9b321f64.64cde","wires":[["6a37543c.95c8ac"]]}]