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?

Code: Select all

sudo apt install nodejs
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.

Code: Select all

sudo apt-get install mosquitto

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
IMG_20180927_181358.jpg (43.62 KiB) Viewed 8362 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?