Abo
  • Services:
Anzeige
Arduino mit Ethernet-Shield zur Temperaturmessung
Arduino mit Ethernet-Shield zur Temperaturmessung (Bild: Alexander Merz/Golem.de)

Ethernet-Shield initialisieren

Bevor wir Daten über das Ethernet-Shield verschicken können, müssen wir es initialisieren. Dazu benötigen wir zwei Bibliotheken, die bereits mit der Arduino-IDE mitgeliefert werden. Außerdem müssen wir für das Ethernet-Shield von Hand eine MAC festlegen und ein Objekt definieren, über das unsere Kommunikation mit dem Shield abgewickelt wird:

  1. EthernetClient client;
  2. byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
So vorbereitet beschränkt sich der Start des Ethernet-Shields auf einen Funktionsaufruf, den wir in die setup()-Funktion des Sketch packen:

Anzeige

  1. Ethernet.begin(mac)

In unserem Skript auf Github haben wir diesen Aufruf in der Funktion initEthernet() gekapselt, die auch die Fehler bei der Initialisierung behandelt.

Temperatur senden

Die Daten werden schließlich in der Funktion sendTemperature() versendet. Die Funktion erwartet als Parameter die ID des Sensors, die wir in der Variable thermometer gespeichert haben.

Damit lesen wir den gespeicherten Temperaturwert des Sensors in Grad Celsius aus:

  1. float tempC = sensors.getTempC(deviceAddress);

Als Nächstes weisen wir das Ethernet-Shield an, eine TCP-Verbindung zum Golem.de-Server an Port 80 aufzubauen, die Konstante SERVER enthält den Servernamen "www.golem.de":

  1. client.connect(SERVER, 80)

War das erfolgreich, wickeln wir eine HTTP-GET-Anfrage von Hand ab. Diese bauen wir mit Hilfe eines String-Objekts zusammen. Wichtigster Bestandteil ist die URL, sie besteht aus der Konstante namens URL, daran wird die Temperatur als Parameter angehängt.

Wie die URL-Konstante aufgebaut werden muss, kann der technischen Dokumentation unseres Messprojekts entnommen werden. Teil der Dokumentation ist auch ein Formular, um sich die URL einfach zusammenzuklicken. Für die URL ist es wichtig, dass "Temperatur anhängen" ausgewählt wurde.

  1. String cmd = "GET ";
  2. cmd += URL;
  3. cmd += tempC;
  4. cmd += " HTTP/1.0";
  5.  
  6. client.println(cmd);
  7. client.print("Host: ");
  8. client.println(SERVER);
  9. client.println("Connection: close");
  10. client.println();

Die Zeichenketten in den Aufrufen von client.print() und client.println() werden direkt an den Golem.de-Server geschickt.

 LED ansprechenZeitgesteuerte Ausführung 

eye home zur Startseite
MikePenison 22. Apr 2016

Hallo, ich habe Interesse an so einem Temperatur Projekt auf Bluetooth Basis (Arduino...

NoLabel 22. Apr 2016

Breadboard ist ja auch nur zum testen einer Schaltung da und nicht für Dauerbetrieb...

TuX12 22. Apr 2016

Damit geht's auch und kost' fast nix ;)



Anzeige

Stellenmarkt
  1. CERATIZIT Deutschland GmbH, Empfingen
  2. GERMANIA Fluggesellschaft mbH, Berlin-Tegel
  3. eins energie in sachsen GmbH & Co. KG, Chemnitz
  4. über HRM CONSULTING GmbH, Köln


Anzeige
Top-Angebote
  1. (alle Angebote versandkostenfrei, u. a. Xbox One Elite Controller für 99,00€ u. LG OLED 65-Zoll...
  2. (alle Angebote versandkostenfrei, u. a. Creative Sound BlasterX H7 USB 7.1 für 99,00€)
  3. (heute u. a. LG 4K-Fernseher u. Serien-Box-Sets reduziert u. Nintendo 2DS inkl. YO-KAI WATCH für...

Folgen Sie uns
       


  1. Apple

    Aktivierungssperre des iPads lässt sich umgehen

  2. Amazon

    Downloader-App aus dem Fire-TV-Store entfernt

  3. Autonomes Fahren

    Apple zeigt Interesse an selbstfahrenden Autos

  4. Sicherheit

    Geheimdienst warnt vor Cyberattacke auf russische Banken

  5. Super Mario Bros. (1985)

    Fahrt ab auf den Bruder!

  6. Canon EOS 5D Mark IV im Test

    Grundsolides Arbeitstier mit einer Portion Extravaganz

  7. PSX 2016

    Sony hat The Last of Us 2 angekündigt

  8. Raspberry Pi

    Schutz gegen Übernahme durch Hacker und Botnetze verbessert

  9. UHD-Blu-ray

    PowerDVD spielt 4K-Discs

  10. Raumfahrt

    Europa bleibt im All



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Astrohaus Freewrite im Test: Schreibmaschine mit Cloud-Anschluss und GPL-Verstoß
Astrohaus Freewrite im Test
Schreibmaschine mit Cloud-Anschluss und GPL-Verstoß
  1. Cisco Global Cloud Index Bald sind 90 Prozent der Workloads in Cloud-Rechenzentren
  2. Cloud Computing Hyperkonvergenz packt das ganze Rechenzentrum in eine Kiste
  3. Cloud Computing Was ist eigentlich Software Defined Storage?

Senode: Eine ganze Komposition in zwei Graphen
Senode
Eine ganze Komposition in zwei Graphen
  1. Offlinemodus Netflix erlaubt Download ausgewählter Filme und Serien
  2. LG PH450UG LED-Kurzdistanzprojektor arbeitet mit Akku
  3. Freenet TV DVB-T2 Receiver mit Twin-Tuner brauchen nur ein Abo

HTC 10 Evo im Kurztest: HTCs eigenwillige Evolution
HTC 10 Evo im Kurztest
HTCs eigenwillige Evolution
  1. Virtual Reality HTC stellt Drahtlos-Kit für Vive vor
  2. Google Im Pixel steckt wohl mehr HTC als gedacht
  3. Desire 10 Lifestyle HTC stellt noch ein Mittelklasse-Smartphone für 300 Euro vor

  1. Clickbait-Titel?

    AussieGrit | 13:12

  2. Re: Einheiten richtig umrechnen du musst

    Gamma Ray Burst | 13:08

  3. Re: Pervers... .

    Tunkali | 12:58

  4. Re: ich dachte immer der versand wird billiger

    triplekiller | 12:56

  5. solange Kodi bleibt, alles gut!! kT

    Kunze | 12:49


  1. 12:54

  2. 11:56

  3. 10:54

  4. 10:07

  5. 08:59

  6. 08:00

  7. 00:03

  8. 15:33


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel