Netzwerksetup / Networksetup Webinterface für Arduino (EEPROM) mit Webduino
Viele meiner Anwendungen nutzen das Arduino Ethernet Shield (http://arduino.cc/en/Main/ArduinoEthernetShield).
Ein Nachteil ist, dass die Netzwerkkonfiguration meist nur im Quellcode vorgenommen werden kann. Hat man mit viel Mühe eine Anwendung entwickelt, die Elektronik gelötet und gibt das fertige Gerät an eine andere Person weiter, so muss man immer den Quellcode mitgeben um das Netzwerksetup zu ermöglichen (und natürlich hoffen, dass die Person sich dann mit der Arduino IDE auskennt).
Um dies zu vereinfachen habe ich auf Basis des Webduino ein Weboberfläche entwickelt, welches ein Netzwerksetup im Browser bietet.
Webduino ist eine Arduino Library, welche es auf einfachem Weg ermöglicht einen Webserver mit dem Arduino Ethernet Shield zu erstellen. Die Webduino Library kann unter https://github.com/sirleech/Webduino heruntergeladen werden. Die Installation ist dort beschrieben.
Mein „Websetup“ ist bereits im Download enthalten. Es ist in der Arduino IDE (siehe http://www.edvler-blog.de/arduino-software-installieren/) zu finden unter Datei -> Beispiele -> Webduino -> Web_Net_Setup.
Der Funktionsumfang:
Am Anfang des Web_Net_Setup Quellcodes sind die wichtigsten Punkte beschrieben! Der Quellcode kann hier eingesehen werden (Vorsicht das ist nicht der vollständige Download!!!): (https://github.com/sirleech/Webduino/blob/master/examples/Web_Net_Setup/Web_Net_Setup.pde).
Der komplette Downloadlink ist nochmals hier: https://github.com/sirleech/Webduino/archive/master.zip
Alle Einstellung werden im EEPROM gespeichert, sind also permanent! Einmal konfiguriert kann der Arduino aus- und eingeschaltet werden ohne die Konfiguration zu verlieren.
Im Quellcode ist eine Standardkonfiguration hinterlegt. Diese wird automatisch verwendet, wenn keine Konfiguration gefunden wird.
Es kann ein RESET Button an den Arduino angeschlossen werden, um die Konfiguration auf Standard zurückzusetzen.
Über die Weboberfläche sind folgende Einstellungen möglich:
- IP Adresse
- MAC Adresse
- Subnet
- Gateway
- DNS Server
- Webserver port
- USE DHCP YES/NO
- DHCP renew interval
Das Webinterface liefert zusätzlich folgende Infos:
- DHCP renew Return Code (beschrieben unter http://arduino.cc/en/Reference/EthernetMaintain)
- Den letzten DHCP renew timestamp
- Uptime des Arduino
- SRAM Auslastung
Hier ein Screenshot:
Ein Hinweis noch zum Schluss! Sollte nach Upload des Sketches der Arduino nicht pingbar sein und die Weboverfläche nicht laden, einfach den Reset Button des Arduino-Boards betätigen!
Am Ende möchte ich noch auf meine Posts im arduino.cc Forum und auf mikrocontroller.net verweisen:
http://www.mikrocontroller.net/topic/291845#new
http://arduino.cc/forum/index.php/topic,157145.0.html
Viel Spass damit!
Enrico
5 Apr, 2013
Vielen Dank für diesen tollen Beitrag und die Library.
Es ist wirklich interessant was alles machbar ist.
Louise
22 Mai, 2017
Hey, vielen Dank für den tollen Beitrag und die Verweise auf den Quellcode. Haben gerade frisch gebaut und nach einer Netzwerklösung in Villach gesucht. Die Anschlüsse müssen leider erst erweitert werden, bis wir auch daheim wieder, außerhalb mobiler Daten das I-Net nutzen können.