Page 3 of 4
Re: NodeRed und DIO
Posted: 18 Oct 2017, 08:35
by FedericoDC
ich verstehe was du sagst, ich bin der gleiche Meinung. Mein Post war ein Übersetzung von was ich in Python gemacht hatte (mit Hilfe von deine Demo), esrte Beispiel.
Ich hatte auch ein "Drag & Drop" gesucht und war auch traurig, dass ich hatte es nicht gefunden
So, für die Leute das es suchen, weil sie warten, es ist nicht so kompliziert direct zu machen.
Heute Programmierer lieben die Classes, Namen und Objekte, ich habe Programmierung auf "Basic" gelernt in eine "nicht kompatibel" 16Kb machine, alle Variabeln waren 1 oder 2 Buschtaben. Komplizierte Objekte waren immer direkt in Memory geschrieben mit die Functionen "Peek" und "Poke". Man musste immer denken an die Memory Map und Addresse, sondern die ganze Machine halten würde mit ein falsch Poke.
Re: NodeRed und DIO
Posted: 15 May 2018, 16:44
by weberg
Hallo,
für eine einen use-case wollte ich auch über node-red auf DIOs zugreifen und habe das erst mit der exec-node gelöst, wie Boris schon vorher
gezeigt hat (Aufruf von piTest). Da das aber leider sehr viel Zeit braucht, (dabei wird ein eigener Prozess erstellt etc...) wollte ich es in einen Funktionsaufruf umwurschteln...
Dazu habe ich das hier gefunden :
https://github.com/tmuellerWieland/revpi
Hier wird mit dem node.js Modul ffi Fremdfunktionen aus shared c-Libraries (piControl.h) benutzt.
Ich habe diese Idee übernommen und gleich den Quellcode von piTest.c (reduziert auf setBit und getBit) zu einer
Library übersetzt und greife auf eben diese Funktionen dann über node.js zu.
Das ganze habe ich in sehr spartanischer Form dann auch mal hochgeladen, kann bei node-red unter
"node-red-contrib-revolution-pi-dio" gefunden werden.
https://flows.nodered.org/node/node-red ... ion-pi-dio
Es stellt eine "revpi-read"und eine "revpi-write" node zur Verfügung, mit denen unter Angabe von Offset und Bit auf die DIOs
zugegriffen werden kann.
Falls es an meinem Vorgehen es irgendwelche rechtlichen/lizenztechnischen Probleme gibt, bitte ich darum mir das mittzuteilen.
Ansonsten stehe ich bei Fragen gerne zur Verfügung.
Grüße
Georg
Re: NodeRed und DIO
Posted: 15 May 2018, 17:49
by volker
Hallo Georg,
vielen Dank für diesen Beitrag zur Community! Aus Sicht von KUNBUS gibt es da keine lizenzrechtlichen Probleme.
Nur zur Info: Wir arbeiten aktuell an einer umfassenderen allgemeinen Lösung für einen RevPi Node, der sich möglichst optimal konfigurieren lassen soll. Aber das kann noch ein wenig dauern...
Re: NodeRed und DIO
Posted: 18 Jul 2018, 19:28
by matt.s
Hallo Georg,
ich wollte gerade einmal deines nodes ausprobieren, bekomme sie aber leider nicht installiert. Das Thema node-red ist ganz neu für mich, vielleicht sieht jemand mit mehr Erfahrung direkt wo es hängt?
Vorgehen:
1) SSH-Verbindung zum RevPi aufbauen
2) in der Konsole den Befehl "npm install node-red-contrib-revolution-pi-dio" eingeben erzeugt folgenden Output:
Code: Select all
npm WARN engine app-root-path@2.1.0: wanted: {"node":">= 4.0.0"} (current: {"node":"0.10.29","npm":"1.4.21"})
-
> ref@1.3.5 install /home/pi/node_modules/node-red-contrib-revolution-pi-dio/node_modules/ffi/node_modules/ref
> node-gyp rebuild
make: Entering directory '/home/pi/node_modules/node-red-contrib-revolution-pi-dio/node_modules/ffi/node_modules/ref/build'
CXX(target) Release/obj.target/binding/src/binding.o
In file included from ../src/binding.cc:7:0:
../../nan/nan.h:331:47: error: ‘REPLACE_INVALID_UTF8’ is not a member of ‘v8::String’
static const unsigned kReplaceInvalidUtf8 = v8::String::REPLACE_INVALID_UTF8;
^
../src/binding.cc: In function ‘void init(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’:
../src/binding.cc:643:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Handle<v8::Object>, v8::Handle<v8::Value>, v8::Handle<v8::Value>, v8::PropertyAttribute)’ is deprecated (declared at ../../nan/nan_maybe_pre_43_inl.h:162) [-Wdeprecated-declarations]
Nan::ForceSet(target, Nan::New<v8::String>("endianness").ToLocalChecked(), Nan::New<v8::String>(CheckEndianness()).ToLocalChecked(), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
^
../src/binding.cc:643:187: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Handle<v8::Object>, v8::Handle<v8::Value>, v8::Handle<v8::Value>, v8::PropertyAttribute)’ is deprecated (declared at ../../nan/nan_maybe_pre_43_inl.h:162) [-Wdeprecated-declarations]
Nan::ForceSet(target, Nan::New<v8::String>("endianness").ToLocalChecked(), Nan::New<v8::String>(CheckEndianness()).ToLocalChecked(), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
^
../src/binding.cc:644:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Handle<v8::Object>, v8::Handle<v8::Value>, v8::Handle<v8::Value>, v8::PropertyAttribute)’ is deprecated (declared at ../../nan/nan_maybe_pre_43_inl.h:162) [-Wdeprecated-declarations]
Nan::ForceSet(target, Nan::New<v8::String>("NULL").ToLocalChecked(), WrapNullPointer(), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
^
../src/binding.cc:644:142: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Handle<v8::Object>, v8::Handle<v8::Value>, v8::Handle<v8::Value>, v8::PropertyAttribute)’ is deprecated (declared at ../../nan/nan_maybe_pre_43_inl.h:162) [-Wdeprecated-declarations]
Nan::ForceSet(target, Nan::New<v8::String>("NULL").ToLocalChecked(), WrapNullPointer(), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
^
binding.target.mk:82: recipe for target 'Release/obj.target/binding/src/binding.o' failed
make: *** [Release/obj.target/binding/src/binding.o] Error 1
make: Leaving directory '/home/pi/node_modules/node-red-contrib-revolution-pi-dio/node_modules/ffi/node_modules/ref/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:267:23)
gyp ERR! stack at ChildProcess.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:809:12)
gyp ERR! System Linux 4.4.50-rt66-v7+
gyp ERR! command "nodejs" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /home/pi/node_modules/node-red-contrib-revolution-pi-dio/node_modules/ffi/node_modules/ref
gyp ERR! node -v v0.10.29
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian
npm ERR! ref@1.3.5 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ref@1.3.5 install script.
npm ERR! This is most likely a problem with the ref package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls ref
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 4.4.50-rt66-v7+
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "node-red-contrib-revolution-pi-dio"
npm ERR! cwd /home/pi
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.21
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/pi/npm-debug.log
npm ERR! not ok code 0
Kann es sein, dass die installierte Version von "node" zu alt ist? Falls ja, wie bekomme ich eine aktuellere?
sagt mir, ich hätte schon die neueste Version installiert.
Re: NodeRed und DIO
Posted: 12 Oct 2018, 17:07
by SchreiberJ
Hallo,
gibt es denn schon eine Bibliothek für den RevPi in Node-Red?
LG Josef
Re: NodeRed und DIO
Posted: 15 Oct 2018, 08:22
by Eduard
Hallo Josef,
von KUNBUS gibt es zurzeit noch keine fertige Node-Red Bibliothek für den RevPi.
Sobald die Bibliothek verfügbar ist werden wir euch informieren.
Gruß
Eduard
Re: NodeRed und DIO
Posted: 17 Oct 2018, 09:13
by RevPiModIO
Moin!
Mit RevPiPyLoad kann man alle Werte vom RevPi per MQTT übertragen und mit den MQTT Knoten in Node-Red nutzen. Hatten wir auf dem RevPiDay 2018 vorgestellt.
Dabei kann man zyklisch alle IO-Daten übertragen, eventbasierend (also bei Änderung) und sogar Ausgänge setzen, wenn man eine MQTT Nachricht aus NodeRed published.
Noch haben wir kein genaues "HowTo", aber die Einrichtung von RevPiPyLoad mit MQTT ist generell hier beschrieben
https://revpimodio.org/iot-mqtt-revpi/
Wir werden aber noch einen Blogeintrag dazu schreiben.
Man müsste lediglich auf dem RevPi selber Mosquitto als Broker installieren und schon kann man mit NodeRed arbeiten.
Und dann einfach als Broker-IP die 127.0.0.1 verwenden.
The attachment IMG_20180927_181358.jpg is no longer available
- IMG_20180927_181358.jpg (43.62 KiB) Viewed 14930 times
Gruß, Sven
Re: NodeRed und DIO
Posted: 29 Nov 2018, 20:44
by RevPiModIO
Und hier sind nun auch alle Informationen, wie NodeRED mit MQTT verwendet werden kann.
Schritt für Schritt:
https://revpimodio.org/nodered-mqtt/
Sven
Re: NodeRed und DIO
Posted: 31 Mar 2019, 14:09
by ocean
Hallo,
für ein anderes Produkt habe ich sehr nützliche Nodes entwickelt.
Es sind Nodes, mit denen man eine komplette Steuerung mit Node-Red verwirklichen kann.
Die IEC 61131-3 Norm wurde zum grössten Teil umgesetz.
Die Nodes sind für User gedacht, die sich nicht in Programmierung auskennen.
Da ich RevPi mit Interesse verfolge, will ich diese Nodes auch für RevPi anpassen.
Ocean
Re: NodeRed und DIO
Posted: 01 Apr 2019, 15:24
by dirk
Hi, ich denke da läufst Du in der Community aber offene Türen ein. Warum machst Du nicht ein GitHub Repository und postest einen Link z.B.
hier?