Günstiges PoE mit Uno & Ethernet Shield

Hallo zusammen,

viele von Ihnen kennen bestimmt PoE, sprich Power over Ethernet (802.3). PoE ist ein überraschend komplexes Thema bei dem vieles zu beachten ist. PoE wird zunehmend beliebter und finden in letzter Zeit häufiger Verwendung. Professionelle Lösungen arbeiten zur Zeit mit 48V, der Standard wird jedoch immer wieder erweitert. Eine professionelle PoE-Lösung nachzubauen ist nicht leicht, da viele Parameter einbezogen werden müssen. So ist beispielsweise die Dicke der Drähte in der Leitung entscheidend und es ist ein nur geringer Spannungsabfall zulässig (Hin- und Rückleitung). Es befinden sich mittlerweile Geräte auf dem Markt, welche bis zu 100W ziehen. 100W mit 48V im selben Kabel wie die Datenleitungen erzeugt massive Störungen, woran auch versierte Bastler scheitern. Aktive PoE-Injektoren und Splitter mit entsprechenden Filtern sind in diesem Leistungsbereich unumgänglich und relativ teuer. Die Arduino Fundation produzierte eine Zeit lang PoE-Shields für den Uno, die jedoch mittlerweile kaum noch erhältlich sind. 

Deshalb testen wir heute günstige, passive PoE-Adapter

Die Produktbeschreibung des Artikels ist meiner Meinung nach mit Vorsicht zu genießen.

Der Anschluss von IP-Cams mit diesen Adaptern ist zwar seit Jahren gängige Praxis, In Verwendung mit einem PoE Switch, hoher benötigter Leistung oder längeren Kabeln (ab 15m) kann das zu Problemen führen. Für einen UNO jedoch reicht das allemal.

Für unseren Versuch benutzen wir einen Uno mit Ethernet Shield, ein 10m Cat. 6 Kabel Ggf. brauchen Sie, je nach Netzteil ein DC-DC Modul. Als Beispielsensor benutzen wir unseren Bodenfeuchtesensor 1.2

Wir verwenden ein 12V Netzteil da der UNO eine Spannung von 12V über die Strombuchse verträgt, über das DC-DC Modul lässt sich diese, falls erforderlich noch verringern. Ein 9V Netzteil sollte am besten geeignet sein.

Unser Testaufbau:

 Den Beispielcode aus der Arduino-Ethernet Libary haben wir leicht modifiziert:

 

/*
  Web Server

  A simple web server that shows the value of the analog input pins.
  using an Arduino Wiznet Ethernet shield.

  Circuit:
   Ethernet shield attached to pins 10, 11, 12, 13
   Analog inputs attached to pins A0 through A5 (optional)

  created 18 Dec 2009
  by David A. Mellis
  modified 9 Apr 2012
  by Tom Igoe
  modified 02 Sept 2015
  by Arturo Guadalupi

*/

#include <SPI.h>
#include <Ethernet.h>


byte mac[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};


IPAddress ip(192, 168, 1, 177);
EthernetServer server(80);

void setup() {
  Serial.begin(9600);

  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("Server  IP: ");
  Serial.println(Ethernet.localIP());
}


void loop() {

  EthernetClient client = server.available();

  if (client) {
    Serial.println("New Client");

    boolean currentLineIsBlank = true;

    while (client.connected()) {

      if (client.available()) {

        char c = client.read();
        Serial.write(c);

        if (c == '\n' && currentLineIsBlank) {

          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");
          client.println("Refresh: 2");
          client.println();

          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          client.print("Analogpin 0: <b>");
          client.print(analogRead(A0));
          client.println("</b><br />");
          client.println("</html>");
          break;
        }
        if (c == '\n') {

          currentLineIsBlank = true;
        }
        else if (c != '\r') {

          currentLineIsBlank = false;
        }
      }
    }

    delay(1);

    client.stop();
    Serial.println("Connection closed");
    Serial.println("");
  }
}

 

 Der Sensor wird wie erwartet ausgelesen:

 

Bis zum nächsten Beitrag :)

 

Ihr Moritz Spranger

Team AZ-Delivery

Letzter Artikel STL in DXF umwandeln
Neuer Artikel Neues aus dem Makerspace: Lasercutter

Hinterlasse einen Kommentar

Kommentare müssen vor der Veröffentlichung überprüft werden

Erforderliche Angabe