NEWS
Anfänger Beratung für Projekt.
-
zum Runden brauchst du aber keine Formel, oder?
Du solltest am Anfang ein bischen Geduld haben, die Tutorials machen, mit kleinen Programmen anfangen.
Gleich mit einem Sensor loszulegen, wo du noch gar nicht weisst wo vorne und hinten ist, wird schwierig und braucht noch mehr Geduld.
-
Dann halt Befehl statt Formel( oder wie auch immer man das nennt).
Ich würde halt gerne wissen ob ich das ganze überhaupt umsetzen kann ohne Javascript lernen zu müssen.
Weil ich dann auch das ganze in Python umsetzen kann, da findet man 99% der Sachen die man braucht recht schnell und die Sprache ist auch einfacher.
Was mich in iobroker anspricht ist die vis, welche scheinbar recht einfach Schöne GUIs macht.
Zumindest schönere als z.b. Tkinker oder Kivy.
****Bis jetzt funktioniert:
-DS18b20
-DHT22
-Relais
-Sonnenauf/untergang****
<u>Hilfe bräuchte ich im moment bei:</u>
<u>Sensoren:</u>
-BH1750 (noch keine Ahnung wie ich damit umgehen soll)
-HC-SR04 (noch keine Ahnung wie ich damit umgehen soll)
<u>LED Steuerung:</u>
-WS2801 LEDs
Damit komme ich nicht weiter.
ich habe dafür https://www.npmjs.com/package/rpi-ws2801 genommen.
Ich habe es installiert und eingetrage.
var leds = require('rpi-ws2801'); // connecting to Raspberry Pi SPI leds.connect(10); // assign number of WS2801 LEDs // set all colors to yellow console.log("fill all yellow"); // fill(r, g, b) // r, g, b: value as hex (0x00 = 0, 0xFF = 255, 0x7F = 127) leds.fill(0xFF, 255, 0x00); // after 2 seconds set first 6 LEDs to (red, green, blue, red, green, blue) setTimeout(function(){ console.log("red green blue red green blue"); // setRGB(ledIndex, hexColor); // ledIndex: 0 = LED1, 1 = LED2, … // hexColor: '#FF0000' = red, '#00FF00' = green, ... leds.setRGB(0, '#FF0000'); // set LED1 to red leds.setRGB(1, '#00FF00'); // set LED2 to green leds.setRGB(2, '#0000FF'); // set LED3 to blue // setColor(ledIndex, color); // ledIndex: 0 = LED1, 1 = LED2, … // color: array[red, green, blue] = [255,0,0] = red, [0,255,0] = green leds.setColor(3, [255,0,0]); // set LED4 to red leds.setColor(4, [0,255,0]); // set LED5 to green leds.setColor(5, [0,0,255]); // set LED6 to blue // send all set colors to SPI via update(); leds.update(); }, 2000)
Dabei bekomme ich aber auch immer nur eine Fehlermeldung raus:
16.1.2017, 16:52:57ae1fe2ff.f22cdfunction : (error)ReferenceError: require is not defined (line 1, col 12)
-
Hi
Ich hatte von javascript auch keinen plan, bis ich mit iobroker angefangen habe.
Ich habe zuerst in nodered die Logik zusammen gebaut.
Mit FUNCTION kann man mit ein paar Zeilen javascript deine Zahlen runden. Das ist ganz easy, nimm google und "runden javascript".
unter nodered im Forum gibts auch ein paar Beispiele, oder auf nodered.org. Die kannst du per copy and import+paste als Beispiele
in dein Nodered Editor reinladen und dann gucken wie das andere gemacht haben.
Solltest du diese LED Stripes nehmen wollen (WS2812 oder wie die hiessen), dazu gibt es ein paat python scripte mit denen du die steuern kannst.
Das python script kannst du in Nodered mit EXEC wieder ausführen.
So weit war ich dann irgendwann auch mit meinem Projekt, und habe es dann einfach in javascript zusammen geschustert. Das ganing dann viel schneller
Aber der Lernerfolg mit Nodered hält einem bei der Stange
Zum iobroker: Die Möglichkeiten mit der Visu von iobroker sind schon echt gut! Open Source seitig habe ich nichts einfacheres gefunden und die Leute hier
helfen einem auch wo Sie können (dafür mal von mir hier einen dicken "Daumen Hoch!")
Jetzt weiß ich nicht wie weit du in der Elektronik bewandert bist, aber bzgl. der Heizung solltest du dir überlegen ob du da nicht eine Schutzschaltung mit verwenden willst.
Wenn der Raspi die Heizung über den Port einschaltet und dann abstürtzt, wird es wohl etwas warm für die Fischchen (Schlangen, Schildkröten, Krokodile oder so)
Mit einem Atmel tiny plus Miniprogramm z.B. kannst du einen Watchdog zwischen schalten. Bleiben die regelmässigen Rücksetzsignale vom Script weg (über einen zweiten GPIO), schaltet die Heizung aus.
LG
Uwe
-
Naja,
ich habe aber kein interesse daran großartig Javascript zu lernen.
Ich kann es weder Beruflich noch Privat gebrauchen.
Da bleibe ich dann lieber bei Python und schau wie ich die GUI da hinbekomme.
Das geht schneller, dazu gibt es wesentlich mehr Anfängerfreundliche tutorials und es ist 100% Raspberry kompatibel.
-
ich habe aber kein interesse daran großartig Javascript zu lernen. `
wie gesagt sehr viel geht mit Blockly per drag and drop.Innerhalb der nodes bei node-red musst du allerdings js einsetzen.
Da bleibe ich dann lieber bei Python … dazu gibt es wesentlich mehr Anfängerfreundliche tutorials `
Mal hier gesehen:http://www.iobroker.net/?page_id=5385&lang=de
falls du es dir doch anders überlegen willst
Gruß
Rainer
-
Schau ih mir an, danke.
Ich müsst aber jetzt erst schauen wie das mit der Verknüpfung von Node und Python ausschaut.
Bei z.B den Sensoren die ich nicht ans laufen bekomme müsste ich ja dann Pythonscript nehmen und daraus irgendwie in Real-Time die Messdaten auslesen und wiedergeben.
Was halt noch laufen muss ist der HC-Sr04.
-
Ok,
LED's laufen auch.
Ich habe alles probiert was ich gefunden habe aber nicht hat funktioniert.
Also blieb nur die Methode von Uwe, über exec das Python script auszuführen und die funktioniert.
jetzt muss ich mit dem HC-SR04 weitermachen.
-
Der HC-SR04 läuft auch.
Kann mir villt jemand helfen folgende node and laufen zu bekommen?
https://github.com/Jorgen-VikingGod/node-rpi-ws2801
Ich bekomme es nicht hin.
Scheinbar hat es irgendwas mit Global context zu tun http://nodered.org/docs/writing-functio … al-context
-
Kennt sich wer mit PWM in Node-red aus?
-
Hallo,
also das Projekt ist nicht tot.
Mitlerweile steht ein Testaqurium wo wir erstmal alles testen.
Statt des SR-04 zu Wasserstand bestimmung wollen wir aber nun ein Magnetventil verwenden.
Damit stehe ich aber irgendwie auf dem Kriegsfuß.
Im Internet steht (bei den Raspberrys) das man ein Pullup oder Pulldown Wiederstand verwenden soll.
Node-Red scheint das ganze aber egal zu sein. Ich kann mit Pullup, Pulldown Wiederstand arbeiten oder ohne funktioniert immer. Warum ist das so?
Wofür genau ist die Node-Red interne einstellung dazu? Die hat auch keine Auswirkung.
Und zu guter letzt.
Kann Node-Red auch "0" ausgeben?
Ich bekomme immer nur 1 bei geschlossen aber keine 0 wenns wieder aufgeht.
Hoffe ihr könnt mich da aufklären.
Gruß