Das Projekt wurde 2025 geschlossen, es wird keine Updates mehr geben.
Mit I/O Schnittstellen Modulen steuert und überwacht man elektrische Einrichtungen. Da PC's keine herkömmlichen Parallel-Ports mehr haben, stelle ich hier einen Ersatz mit Ethernet vor. Man kommt je nach Mikrocontroller auf 19 bis 71 steuerbare Anschlüsse. Mit Hilfe von ein paar billigen Schieberegistern sind noch mehr machbar. Der Zugriff auf die I/O Ports erfolgt über einfache Textbefehle.
Die Firmware enthält eine optionale Komponente, welche 8 Pins überwacht und konfigurierbare Emails verschickt. Über den eingebauten Webserver wird das Gerät konfiguriert, und man hat lesenden Zugriff auf die optionale SD Speicherkarte.
Downloads:
Nach dem Start wartet das Modul 1-2 Minuten darauf, eine IP Adresse vom DHCP Server zu erhalten. Falls dies fehlschlägt, verwendet es diese Standardwerte:
Öffne eine TCP Socket Verbindung auf der IP-Adresse und Port 23.
Ebenso kann der serielle (USB) Port mit 115200 Baud verwendet werden.
Auf beiden Verbindungen kannst du 100 Befehle pro Sekunde ausführen,
aber kurzzeitige Verzögerungen durch das Netzwerk sollten eingeplant werden.
Man kann Befehle auch per HTTP Request absetzen, zum Beispiel http://ip-address/io?iPB3
.
Das Modul antwortet dann im Plain-Text Format genau wie beim TCP Socket.
Neben dem allgemeinen Befehlssatz unterstützt die Ethernet Version
folgende Ergänzungen:
Rufe die IP-Adresse (ohne weitere Parameter) in einem Web-Browser auf, um das Modul zu konfigurieren. Die Webseite zeigt den Status und eine Hilfe mit dem ganzen Befehlssatz an.
Eine ausführliche Erklärung, wie das Multithreading und der verwendete µIP Stack funktioniert, findest du hier.
Die Schaltpläne findest du im Download-Paket. Du kannst den Ethernet Controller an beliebige Pins des Mikrocontrollers anschließen, da die Zuordnung der Pins konfigurierbar ist. Du brauchst auch einen Programmieradapter für den Mikrocontroller. Im Falle des Xmega128D3 muss es einer mit PDI Schnittstelle sein. Es gibt fertige Mikrocontroller Module mit USB Bootloader, die ohne Programmieradapter nutzbar sind.
Die Anzahl der I/O Ports kann man mit Schieberegistern vom Typ 74HC165 und 74HC595 oder TPIC6B595 erweitern. So kommt man auf bis zu 32 zusätzliche Eingänge und 32 zusätzliche Ausgänge. Außerdem wird ein serieller 12bit ADC vom Typ MCP3204 oder MCP3208 unterstützt, als Alternative zum internen ADC vom Mikrocontroller.
Man kann eine SD Speicherkarte direkt an den SPI Port des AVR anschließen, wenn er mit 3,3 Volt versorgt wird. Über den Webserver hat man von außen lesenden Zugriff auf die SD Karte. Die Firmware enthält auch Code zum Beschreiben der SD Karte, er wird aber nicht verwendet.
I/O-Befehle über TCP Socket (interaktiv mit Netcat oder Telnet):