Strommessung mit JeeNodes läuft!

Die JeeNodes sind vor einigen Tagen angekommen. Der Zusammenbau war äusserst einfach – besonders wegen der perfekten Anleitung auf www.jeelabs.org. Das Löten war super einfach, da alle Bohrungen komplett duchkontaktiert zu sein scheinen – da saugt sich das Lötzinn richtig rein 🙂

Zusätzlich zu den beiden JeeNodes habe ich gleich noch einen BUB II zusammen gebaut – wobei da ja nur eine Sockeleiste zu montieren war. Der / das (??) BUB hat sich gleich prima als FTDI am Mac gemeldet und die JeeNode hat ihr RF12-Demo-Programm gestartet. Damit kann man direkt die „ID“ der JeeNode und die Kommunikationsparameter setzen. Die Werte werden im EEPROM des Arduino gespeichert, damit weiss die JeeNode in Zukunft immer, welche ID sie hat. Diese IDs sind wiederum wichtig, wenn man direkt von einem zum anderen kommunizieren will.

Ich habe dann den Code des Strommess-Arduino an die JeeNode und die andere Art der Kommunikation angepasst und geflasht. Mit ein paar manuellen Impulsen am Analog-Input fing die Node dann brav an, die Stromwerte per Funk zu übertragen.

Die zweite Node wurde entsprechend mit dem Empfänger-Code bestückt und hat die empfangenen Signale an ihrem seriellen Ausgang über das BUB an den Rechner geschickt. — Das war einfach — 😉

Ein Problem beim Strommesser gab es noch: nachdem die JeeNodes mit 3.3V statt 5V laufen, hat die Reflexlichtschranke zu wenig Spannung bekommen und nur unsaubere Werte geliefert. Ich habe die nun direkt an die 5V Spannungsversorgung, welche über ein Steckernetzteil erfolgt, angeschlossen. Ich hoffe, das die Werte nun wieder besser werden. Am Eingang der JeeNode kommen trotzdem keine zu grossen Spannungen an, da die Reflexlichschranke über einen Widerstand mit VCC verbunden ist, und der regelt die Spannung schon auf ein erträgliches Maß. Ich hatte erst einen Spannungsteiler zusätzlich drin, aber damit kam nichts mehr am Arduino an…

Die Kommunikation des Empfängers über das serielle Interface mit meine NAS (Synology) erfolgt über das USB-BUB und ein Perl-Programm, welches die Werte empfängt. Dabei wird bereits ein Protokoll verwendet, was zusätzlich noch die Temperatur- und sonstige Werte übertragen könnte. Im nächsten Schritt werde ich die Temperaturwerte vom anderen Arduino auch per Funk an die zentrale JeeNode schicken. Wenn das alles gut läuft, werde ich die zentrale JeeNode durch einen JeeLink ersetzen, da der ja nur die Funk-Kommunikation machen soll.

Weitere Artikel in diesem Zusammenhang: