NEWS
Vom Arduino Messwerte über Serielle Schnittstelle zu IOBroker VIS und Chart
-
Hallo Freunde, ich habe heute IOBroker auf einen Raspberry PI3 installiert und versuche seit Stunden irgendwie Messwerte vom Arduino über die Serielle Schnittstelle zum IOBroker zu senden, um sie anschließend zu Visualisieren und Charts zu erstellen. Leider komme ich nicht weiter.
Ich sende von einem Arduino Nano die Zustände der 8 Analog und 7 Digital Eingängen. Es wird alle 60 Sekunden eine Zeile gesendet zb. 322;123;234;765;900;12;200;345;1;1;1;1;0;1;1;.
In Node Red bekomme ich die Werte angezeigt und kann sie auch im IOBroker unter Ereignisse sehen. Aber wie geht es dann weiter? Ich gehe mal davon aus, dass IOBrocker mit dieser Zeile nicht viel anfangen kann, aber wie müssten die Daten aussehen? Ich habe schon stunden Gegooglet ohne erfolg.
Vielleicht mache ich es mir auch zu schwert, gibt es schon eine art Adapter, der so etwas kann?
Wie würdet Ihr das machen? Währe für jeden Tip dankbar.
Grüsse Buzii
-
Hallo buzii,
prinzipiell kannst Du das schon so machen. Dann musst Du die gesendete Zeile in einem Function-Node in die einzelnen Werte zerlegen, verschiedenen Messages zuweisen und, vermutlich über Switches(?) und ioBroker-out Nodes in Datenpunkte schreiben.
Allerdings würde ich empfehlen gleich auf MQTT umzuschwenken. Das ist wesentlich universeller in der Handhabung und läuft vor allem übers Netzwerk, somit muss der Arduino nicht direkt am ioBroker-Rechner hängen. Allerdings hat der Arduino Nano keinen Netzwerkanschluss - wenn Du den unbedingt verwenden willst. Es gibt da aber wunderbare kleine und preiswerte Sachen aus Fernost mit integriertem WLAN. Schau Dir mal http://forum.iobroker.net/viewtopic.php?f=35&t=2061 an.
Wenn Du Dich für einen Weg entschieden hast und weitere Hilfe brauchst melde Dich ruhig nochmal.
-
Hallo Thisoft, danke für die Antwort.
Da IOBrocker auf einem Raspberry läuft und es irgendwann autark im Garten laufen sollte, würde ich lieber bei der Seriellen Schnittstelle bleiben. Sonnst müsste ich noch ein Netzwerk im Garten aufbauen.
Das hat mir natürlich alles keine Ruhe gelassen, ich denke wir kennen das alle ;-), also habe ich weiter probiert.
Der Arduino sendet jetzt immer eine Zeile pro Messwert zb. A0=222 das A0= kann man mit node-red gut abfragen, bereinigen, umrechnen und an denn entsprechenden IOBroker Objekt leiten. Ich bekomme jetzt in denn Ereignissen immer die neuen Werte angezeigt. Seltsam ist nur das ich manche Objekte zb. Analogwert0, Anlaogwert1 usw. im FLOT auswählen kann und andere wieder nicht, obwohl ich sie nach dem Gleichen Prinzip erstellt habe.
Aber es ist jetzt spät und ich sehe den Monitor schon 3 Fach. Ich denke es wir Zeit schlaffen zu gehen.
Vielleicht hat da noch jemand ein TIP was ich versuchen kann oder eine Erklärung wie man die Objekte Richtig erstellt?
Grüße Buzii
-
Heute morgen ging es auf einmal doch die Objekte in FLOT auszuwählen, wahrscheinlich hätte ich etwas warten müssen.
Jetzt gibt es wieder ein anderes Problem, ich bekomme im LOG immer Fehlermeldungen vom SQL, was kann das sein?
sql.0 2016-07-19 12:39:33.587 error sql.0 Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(19, 1468924772574, -10.10752688172043, 1, 2, 0);: Error: SQLITE_BUSY: database is locked
sql.0 2016-07-19 12:39:29.583 error sql.0 Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(27, 1468924767589, 1, 1, 2, 0);: Error: SQLITE_BUSY: database is locked
sql.0 2016-07-19 12:39:29.288 error sql.0 Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(20, 1468924767576, 9.409028504398828, 1, 2, 0);: Error: SQLITE_BUSY: database is locked
sql.0 2016-07-19 12:39:29.288 error sql.0 Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(19, 1468924767566, -10.420332355816226, 1, 2, 0);: Error: SQLITE_BUSY: database is locked
-
Hallo buzii12,
ich habe nun auch mit meinem SmartHome auf Basis RaspBerry als WebServer mit ioBroker losgelegt. Der bisher selbstgeschriebene WebServer soll nun ersetzt werden
Ein Arduino Mega 2560 R3 (RS485-Master) ist per USB mit den Raspi verbunden. Am Mega hängen eine Menge weiterer Arduinos als Clients per RS485.
Soweit so gut. Bin z.Z. am Protokoll-Tunen mit Checksum. Da ich mich recht mühsam durch die Thematik wussel eine Frage zu Deinem interessanten Projekt.
****=> Wie kann ich im ioBroker den Mega per USB zusammen bringen??? Würde auch, wenn nötig, die UARTs verwenden.
Normalerweise würde ich die Daten vom Mega im Raspi auf die virtuelle RAM-Disk packen und beliebig von anderer Stelle/SW zugreifen bzw. bearbeiten.
Kann der ioBroker auch über so eine Schnittstelle die Daten handeln???****
Ich möchte wie Du auf keinen Fall per LAN/WLAN verbinden. Die Teile stehen nebeneinander der Raspi hängt bereits am einzigen LAN-Kabel.
Danke und Gruß
-
schaut eich einfach mysensors an…
ist mehr als genial mit arduino und in Verbindung mit dem Adapter im ioBroker einfach GEIL!