Geben Sie Ihrem Arduino-Projekt einen eigenen Mini-Webserver mit einem Ethernet-Schild

Geben Sie Ihrem Arduino-Projekt einen eigenen Mini-Webserver mit einem Ethernet-Schild / DIY

Vor einiger Zeit habe ich Ihnen gezeigt, wie Sie ein Internet - Steuersystem für Ihr Arduino einrichten. So richten Sie die Arduino Web - Steuerung ohne Ethernet - Schild ein. So richten Sie die Arduino Web - Steuerung ohne Ethernet - Schild ein. In den letzten Wochen habe ich die Kontrolle über die Stimmungsbeleuchtung in meinem Studio für die Zuschauer während der Live-Übertragung von Technophilia Podcast - Sie können die Ergebnisse davon in den… Read More - aber es musste über USB mit einem Computer verbunden bleiben, um die Internetverbindung aufrechtzuerhalten. Wenn Sie über eine Ethernet-Abschirmung verfügen, ist dies nicht erforderlich. Heute werden wir einen Arduino als Basis-Webserver einrichten, sodass wir unsere eigene Website zur Gerätesteuerung hosten können.

Du wirst brauchen:

  • Ein Arduino oder Arduino-Klon, wie hier detailliert beschrieben. Geben Sie kein Geld für ein Arduino aus - Bauen Sie Ihr eigenes für viel weniger aus Geben Sie kein Geld für ein Arduino aus - Bauen Sie ein eigenes für viel weniger Ich liebe meine Arduinos. Zu jeder Zeit habe ich einige Projekte im Gange - Prototyping ist mit ihnen so einfach. Aber manchmal möchte ich das Projekt funktionsfähig halten, ohne es zu kaufen. Lesen Sie mehr
  • Ethernet Shield (~ 35 $) - Stellen Sie sicher, dass Sie eine Version erhalten, die zu Ihrem Arduino passt, da diese nicht alle kompatibel sind
  • Freier Port an Ihrem Router oder Switch und Ethernet-Kabel
  • Das WebServer-Beispiel in der Arduino-Anwendung

Einrichten

Die Ethernet-Abschirmung verwendet Pins 10 bis 13 Um die Netzwerkverbindung zu steuern, lassen Sie diese außerhalb Ihres Projekts aus. Pin 4 wird auch für die SD-Karte verwendet, aber wir werden das heute nicht verwenden.

Erste Dinge zuerst - öffnen Sie das Datei->Beispiele->Ethernet->WebServer Das ist in der Arduino IDE enthalten. Suchen Sie die Zeilen, die sich auf die MAC- und IP-Adresse beziehen.

Die MAC-Adresse für meine wurde auf der Box gefunden - Ihre befindet sich möglicherweise auf dem Schild. Passen Sie die erste Zeile an Werten an - Sie müssen das Vorhergehende verlassen 0x etwas aber Technisch gesehen spielt es keine Rolle, was Sie hier eingeben, solange Sie keine widersprüchlichen Werte in Ihrem Subnetz haben. Trotzdem wurden die vom Hersteller zugewiesenen Adressen verwendet, sodass wir uns wahrscheinlich daran halten sollten. Wisse einfach, dass es funktioniert, wenn du es falsch machst.

Als nächstes ist die IP-Adresse. Wir möchten eine bestimmte feste Adresse, damit wir die Portweiterleitung richtig einrichten können. Der Shield kann eine Adresse von DHCP beziehen. Dies ist jedoch nur nützlich, wenn er lediglich als Client und nicht als Server verwendet wird. Geben Sie eine IP-Adresse ein, die in Ihrem lokalen Netzwerk, der Router-IP und in 255.255.255.0 (dem Subnetz) nicht verwendet wird. Wenn nichts davon für Sie sinnvoll ist, lesen Sie unsere kostenlose und ausführliche Anleitung zum Heimnetzwerk. Alles, was Sie über Heimnetzwerke wissen müssen. Alles, was Sie über Heimnetzwerke wissen müssen. Die Einrichtung eines Heimnetzwerks ist nicht so schwer, wie Sie denken . Weiterlesen .

Port-Weiterleitung

Bearbeiten Sie die Zeile, die sagt EthernetServer Server (Nummer), und ändern Sie die Nummer in 8081. Dadurch wird unser Server so eingerichtet, dass er Port 8081 überwacht, falls Ihr Internetdienstanbieter den Internetverkehr auf dem herkömmlichen Port 80 blockiert.

Laden Sie die Demo an dieser Stelle hoch und testen Sie sie von einem lokalen Computer aus. Sie müssen natürlich auch das Ethernet-Kabel anschließen. Lassen Sie auch den USB-Stecker angeschlossen, da wir ihn zur Stromversorgung benötigen - Sie können ihn später durch ein 9-V-Netzteil ersetzen. Wir testen jedoch noch.

Noob-Tipp: Wenn Sie diesen Fehler erhalten, bedeutet dies, dass Sie irrtümlich eine Hauptstadt O anstelle einer 0 im MAC-Adressbereich. Es gibt kein O in Hex-Werten! Wenn Sie wirklich neu sind, lohnt es sich vielleicht, unseren Arduino-Beginner zu lesen!

Um auf das Arduino zuzugreifen, geben Sie die Adresse und die Portnummer direkt über einen Browser ein.

Sie sollten so etwas sehen - so weit so gut. Leider ist dies nur auf der lokales Netzwerk Gehen Sie jetzt zur Port-Konfigurationsseite Ihres Routers, um eine Umleitung von Port 8081 zu demselben Port auf der IP-Adresse Ihres Arduino einzurichten (Siehe: Was ist Portweiterleitung? Was ist Portweiterleitung und wie kann es mir helfen? [MakeUseOf erklärt] Was ist Portweiterleitung und wie kann sie mir helfen? [MakeUseOf Explains] Weinen Sie ein wenig, wenn Ihnen jemand sagt, dass es ein Problem mit der Portweiterleitung gibt, und deshalb funktioniert Ihre glänzende neue App nicht? Deine Xbox lässt dich keine Spiele spielen, deine Torrent-Downloads lehnen ab… Lesen Sie mehr )

Testen Sie dies von einem mobilen 3G-Internetgerät mit deaktiviertem WLAN. Denken Sie daran, Ihre zu verwenden öffentliche IP-Adresse, nicht Ihre lokale Netzwerkadresse. Ihr Router sollte Ihnen dies mitteilen können, oder Sie fragen einfach Google “Was ist meine IP“.

Die Ausgabe verstehen

Die Seite, die in der Demo angezeigt wird, liest Werte von den analogen Pins - aber da dort nichts verbunden ist, werden Sie Unsinn bekommen. Schließen Sie einen Lichtsensor (Fotowiderstand) an den Anschluss an A0 und +5 v, mit einer 10k Widerstand auch auf A0 und gnd (Dies ist ein Spannungsteiler, da die analogen Pins nur die Spannung und nicht den Widerstand lesen können.) Nur um zu bestätigen, dass der Server tatsächlich Werte liest. Beachten Sie, dass sich die Werte der anderen Pins auch ändern, wenn sich die Lichtintensität ändert. Dies liegt daran, dass sie alle nicht verbunden sind.

Interaktiv werden

Das Lesen dieser Werte ist alles gut und gut, aber den Sprung zu machen Controlling Ein Arduino von hier aus ist ein großer Sprung und liegt heute außerhalb des Rahmens dieses Tutorials. Anstatt das Rad neu zu erfinden, zeige ich Sie an die Benutzer des Arduino-Forums, die eine grundlegende API für die Interaktion mit digitalen Pins geschrieben haben. Verwenden Sie diesen Code (ich habe ihn so geändert, dass er mit der neuesten Ethernet-Bibliothek arbeitet), verbinden Sie die lange Leitung einer LED (Anode) mit Pin 8 und die kurze Leitung mit Pin 7 (mit einem geeigneten Widerstand). Sie können dann URLs des Formulars verwenden http: // ip: port / digitalWrite / 8/1 LED einschalten und http: // ip: port / digitalWrite / 8/0 ausschalten und Analogwerte mit lesen analogLesen / 0.

Dieses Beispiel von bildr zeigt Ihnen auch, wie Sie eine Folge von LEDs durch Lesen der GET-Anforderung steuern.

Sie können auch dieses Beispiel überprüfen, in dem auf der Seite ein Formular zur Steuerung einer blinkm RGB-LED ausgegeben wird. Sie können es jedoch leicht für einen RGB-Streifen anpassen, z. B. für das dynamische Umgebungslichtprojekt. Erstellen Sie Ihre eigene dynamische Umgebungsbeleuchtung für ein Media Center Build Ihr eigenes dynamisches Umgebungslicht für ein Media Center Wenn Sie viele Filme auf Ihrem PC oder Media Center sehen, bin ich mir sicher, dass Sie mit dem Beleuchtungsdilemma konfrontiert sind. Schalten Sie alle Lichter vollständig aus? Halten Sie sie auf Hochtouren? Oder… Read More haben wir vor einiger Zeit gebaut.

Nun, ich hatte Spaß daran, diese zu bauen, also hoffe ich, dass Sie das auch gemacht haben. Wenn Sie eine Bibliothek erstellt haben, die das Bereitstellen von Seiten und Steuerelementen vereinfacht, setzen Sie sich bitte mit den Kommentaren in Verbindung.

Erfahren Sie mehr über: Arduino, Web Server.