Erstellen eines Servers mit Arduino

Lesezeit 2 min.

Dieser Artikel stellt ein technisches Beispiel für einen Prototyp eines Webservers vor, der auf der Arduino-Plattform und dem Arduino Ethernet Shield-Modul basiert.

Anwendung des Ethernet Shield Moduls

Um den Arduino in eine Miniaturzentrale zur Verwaltung verschiedener Prozesse über das Internet zu verwandeln, schließen Sie einfach das Ethernet Shield Overlay an. Der Arduino wird dann zu einem Miniatur-Webserver, auf den über einen Browser auf einem mobilen Gerät oder PC zugegriffen werden kann. Mit einem solchen System für die Fernkonnektivität können wir eine Vielzahl von Aktivitäten durchführen, darunter Ablesen des Zustands von Schaltern und Tasten, Steuern der Betriebsparameter von Geräten und Komponenten, die mit dem Arduino verbunden sind, und Ablesen von Parametern von Messsensoren.

Ein Miniatur-Heim-Webserver auf einem Arduino - die für das Projekt benötigten Komponenten

Um einen Miniatur-Webserver mit dem Arduino-Ökosystem zu bauen, benötigen Sie die folgenden Komponenten:

  • Arduino UNO R3 oder Arduino MEGA2560 Plattform
  • Arduino Ethernet Shield Erweiterungsshield
  • 10/100Mbps kabelgebundene Ethernet/LAN-Verbindung
  • Ethernet-Anschlusskabel
  • Wi-Fi-Router
  • Kontaktplatte
  • Anschlusskabel für Kontaktplatten
  • Widerstand 10k/0.6W
  • DC 2x9V Stromversorgung
  • monostabile Taste (Mikroschalter)

Miniatur-Heim-Webserver auf Arduino - Verbindung der Systemkomponenten

Die Komponenten sollten wie folgt angeschlossen werden: An den digitalen Pin 8 des Arduino wird eine monostabile Taste angeschlossen, die als Eingang konfiguriert ist. Wenn die Taste gedrückt wird, liest der Arduino einen niedrigen Zustand an diesem Pin. Folglich setzt der Arduino den Ausgang auf einen hohen Wert. Wenn Sie die Taste loslassen, wird am Ausgang wieder ein Low-Zustand angezeigt und gehalten. Informationen über die aufgezeichnete Änderung des Zustands der Tastenposition werden an den Webserver gesendet.

Ethernet Shield Overlay-Einstellungen

Zur Steuerung des Ethernet-Overlays wird die Bibliothek Ethernet.h verwendet. Dem Overlay muss mit der Funktion Ethernet.begin() eine MAC- und IP-Adresse zugewiesen werden. Für ein bestimmtes Gerät ist die MAC-Adresse ein weltweit eindeutiger Bezeichner. Aktuelle Versionen von Ethernet-Overlays werden mit einem Aufkleber geliefert, auf dem die MAC-Adresse angegeben ist. Bei älteren Shields sollte eine zufällige Adresse verwendet werden, aber dieselbe sollte nicht auf mehreren Boards verwendet werden. Die Gültigkeit von IP-Adressen hängt von der Netzwerkkonfiguration ab. Wenn DHCP verwendet wird, kann es dem Overlay dynamisch eine IP-Adresse zuweisen.

Ermitteln der IP-Adresse

Eine IP-Adresse (Internet-Protokoll-Adresse) ist eine numerische Bezeichnung, die jedem Gerät zugewiesen wird, das an einem Computernetzwerk teilnimmt, das das Internet-Protokoll zur Kommunikation verwendet. Die Angabe einer IP-Adresse erfolgt durch das Eingeben einer Zeile:

				
					byte ip[] = { 192, 168, 0, 112 };
				
			

Die IP-Adresse muss so geändert werden, dass sie einer benutzerdefinierten Konfiguration entspricht. Um zum Beispiel die IP-Adresse des Ethernet- Shields auf 192.168.0.30 zu setzen, geben Sie die folgende Zeile ein:

				
					byte ip[] = { 192, 168, 0, 30 };
				
			

Ermitteln der MAC-Adresse

Eine MAC-Adresse (Media-Access-Control-Adresse) ist eine eindeutige Kennung, die jedem an einem physischen Netzwerk beteiligten Gerät zugewiesen wird. Jedes Netzwerkgerät hat eine eindeutige Seriennummer, mit der es sich im Netzwerk identifiziert, und diese ist in der Regel fest in die Firmware des Geräts einprogrammiert. Im Falle des Arduino können wir die MAC-Adresse jedoch selbst festlegen:

				
					byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x85, 0xD9 };
				
			

Sie können das Subnetz und das Gateway mit den folgenden Befehlen einstellen:

				
					byte subnet[] = { 255, 255, 255, 0 }; //Subnetzmaske
byte gateway[] = { 192, 168, 0, 1 }; //Netzwerk-Gateway-Adresse
				
			

Um das Ethernet-Shield zu konfigurieren, verwenden Sie den folgenden Code-Block:

				
					byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x85, 0xD9 }; // Einstellung der MAC-Adresse
byte ip[] ={ 192, 168, 0, 30 }; // Einstellen der IP-Adresse
byte subnet[] = { 255, 255, 255, 0 }; // Subnetzmaske
byte gateway[] = { 192, 168, 0, 1 }; // Zuweisung eines Standard-Gateway-Netzwerks
				
			

Arduino als Webserver - Zielprogrammcode

				
					client.println(""); //die Website verwendet ein HTML-Script
client.println(""); client.println(""); client.println("Arduino als Server "); client.println(""); client.println(""); client.println(""); client.println(""); client.println(" Observing State Of Switch"); client.print("");
Switch is: <!--2-->"); if (digitalRead(8)) { client.println(" ON"); } else { client.println("OFF"); client.println("");
				
			

Das obige Skript weist den Browser an, die Seite zu aktualisieren. Wenn die Seite erneut geöffnet wird, liest der Arduino den Zustand des Schalters erneut aus und zeigt diesen Zustand an. Wenn die Taste gedrückt wird, können wir den wechselnden Zustand des Schalters beobachten, wie in der Videodemonstration gezeigt. Sie können die Hardware auch so einstellen, dass sie ohne Router funktioniert. Weisen Sie dazu dem Ethernet-Netzwerk des Arduino manuell eine IP-Adresse zu, z. B. 192.168.0.2, und eine Standard-Subnetzmaske von 255.255.255.0. Verwenden Sie ein gekreuztes Ethernet-Kabel, um die beiden Geräte (z. B. PC und Arduino) zu verbinden. Wir sollten dann in der Lage sein, die Arduino-Site unter http://192.168.0.2 vom PC herunterzuladen.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 4.3 / 5. Stimmenzahl: 17

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Teilen:

Picture of Maciej Figiel

Maciej Figiel

Vielseitig, bereit Herausforderungen anzunehmen, weil er überzeugt ist, dass dies der schnellste Weg ist sich zu entwickeln. Er schätzt den Kontakt mit der Natur und die aktive Erholung. Hat eine Leidenschaft für Autos und neue Technologien.

Siehe mehr:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Aus Sicherheitsgründen ist die Verwendung des reCAPTCHA-Dienstes von Google erforderlich, der den Google-Datenschutzbestimmungen und Nutzungsbedingungen unterliegt..