Inhaltsverzeichnis
metadair2
metadair2
ist ein auf dem Mikrocontroller ESP8266 (ESP-12 in der Variante des Adafruit ESP8266 Huzzah breakout board) und der Firmware NodeMCU basierender minimaler Terminalserver, der den UART-Port des ESP8266 per TCP/IP über WLAN zugreifbar macht.
Zusätzlich wird RFC2217 gesprochen, d.h. Parameter des UARTS wie Baudrate lassen sich in-band ändern. Das Gerät annonciert sich im LAN per mDNS, sodaß geeignete Software eines oder mehrere Module automatisch finden können.
Ausserdem wird ein Telnet-Zugang auf die Lua-Konsole geboten, der (zumindest prinzipiell, wenigstens in Teilen) OTA zulässt.
Diverse Fehlersituation werden direkt oder über Watchdogs überprüft, Ziel ist ein „wasserdichter“ Betrieb ohne Eingriff von aussen.
Das Modul wird über ein Config-File mit WLAN-SSID- und Passwort parametrisiert, hier werden auch Default-UART-Parameter eingestellt (für Zugriff ohne RFC2217) sowie die mDNS-Lokation angegeben.
Das Modul ist bezüglich Software fertiggestellt, bez. Hardware teilweise noch in Arbeit.
Einsatzmöglichkeiten
Die realisierten und geplanten Einsatzmöglichkeiten erstecken sich über
- Kamstrup 382 (getestet mit 382J, ggf. auch 162/352/382M/Omnipower) über die achtpolige Erweiterungs-Steckleiste (Status: fertig)
- „yport+ light“; mittels Schreib-/Lesekopf lassen sich alle üblichen Zähler mit optischer Schnittstelle ansprechen; evtl. lassen sich zwei Leseköpfe gleichzeitig anschliessen (Status: Platine mit Netzteil HLK-PM01 o.ä. muss noch entworfen werden, Ziel: Hutschienengehäuse)
- RS485-Modul zum Ansprechen von Modbus-Zählern wie z.B. dem SDM-630 und ähnlichen Modellen
- RS232-Modul zum Ansprechen von Wechselrichtern wie z.B. den Infini-Modellen und Artverwandten.
- CAN-Bus-Modul zum Ansprechen von Li-Ionen-Akkus
Abgrenzung
Da es inzwischen viele Projekte mit dem ESP8266 oder dem größeren ESP32 gibt, soll auf die Unterschiede eingegangen werden:
- ESPEasy - überträgt Sensordaten oder GPIO an die Volkzzähler-Middleware, „spricht“ aber nicht über die serielle Schnittstelle.
- weitere…
Eingabe/Ausgabe
Die Ausgabe ist eine transparente Weitergabe der Daten von der und an die serielle Schnittstelle. Die Auswertung erfolgt in der nachgelagerten Software wie vzlogger.
Hardware
Da das Huzzah-Breakout-Board (Achtung: nicht Feather Huzzah) eigentlich alles mitbringt, insbesondere einen Spannungsregler auf 3.3V sowie einen Pegelwander für den RX-Port (ESP8266 ist entgegen vieler Meinungen nicht (dauerhaft) 5V-kompatibel!), beschränkt sich für die erste Variante (Kamstrup) die Arbeit auf das Anlöten eines 10uF-Kondensators zur Spannungsstabilisierung zwischen V+ und GND sowie einer Pfostenleiste. Desweiteren wird ein kleines Adapterkabel mit 2.54mm-Crimp-Verbindern zusammengesteckt, vier Leitungen male/female an eine 1*5- und eine 2*4-Leiste.
Das Layout des Kamstrup-Steckers ist
4 | 5 | 6 | 7 |
3 | 2 | 1 | 8 |
die Belegung
1 | GND |
2 | TX |
3 | Pulse out 1 |
4 | Pulse out 2 |
5 | RX |
6 | 4.2V (aber nur 5mA…) |
7 | „High-power“ 4.2V |
8 | GND high-power |
Es werden also Pins 5, 2, 7 und 8 mit den jeweiligen Pins am ESP-Breakout-Board verbunden.
Software und Installation
Liegt auf https://github.com/netadair/metadair2 .
Geschichte
metadair1
war ein WLAN-Extender eines ungenannten Herstellers, dessen Firmware etwas angepasst wurde und somit Netzwerk-Zugriff (via ser2net) auf die serielle Konsole erlaubte; hier war dann ein TTL-Lesekopf angeschlossen.
metadair1b
war ein Powerline-Adapter eines ungenannten Herstellers, dessen charmante Eigenart ein nach aussen geführter USB-Anschluss war (eigentlich USB over Powerline). Die Firmware wurde etwas angepasst und erlaubte somit Netzwerk-Zugriff auf einen angeschlossenen USB-Lesekopf.
Beide waren aber wg. diverser Einschränkungen in der Firmware (4MB Flash in den Geräten) nicht über den (allerdings funktionieren) Prototypen-Status hinausgekommen.
Nachdem die Prototypen mehrere Jahre im Regal lagen, auf Grund einer konkreten Gegebenheit und Anlasses nun: metadair2
.