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. telekom, Ulm, Gaimersheim, München, Dresden
  2. afb Application Services AG, München
  3. Robert Bosch GmbH, Abstatt
  4. Vorwerk & Co. KG, Düsseldorf


Anzeige
Spiele-Angebote
  1. 7,99€
  2. 35,00€ (nur für Prime-Mitglieder)
  3. (-78%) 8,99€

Folgen Sie uns
       


  1. Betrugsverdacht

    Amazon Deutschland sperrt willkürlich Marketplace-Händler

  2. Take 2

    GTA 5 bringt weiter Geld in die Kassen

  3. 50 MBit/s

    Bundesland erreicht kompletten Internetausbau ohne Zuschüsse

  4. Microsoft

    Lautloses Surface Pro hält länger durch und bekommt LTE

  5. Matebook X

    Huawei stellt erstes Notebook vor

  6. Smart Home

    Nest bringt Thermostat Ende 2017 nach Deutschland

  7. Biometrie

    Iris-Scanner des Galaxy S8 kann einfach manipuliert werden

  8. Bundesnetzagentur

    Drillisch bekommt eigene Vorwahl zugeteilt

  9. Neuland erforschen

    Deutsches Internet-Institut entsteht in Berlin

  10. Squad

    Valve heuert Entwickler des Kerbal Space Program an



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Asus B9440 im Test: Leichtes Geschäftsnotebook liefert zu wenig Business
Asus B9440 im Test
Leichtes Geschäftsnotebook liefert zu wenig Business
  1. ROG-Event in Berlin Asus zeigt gekrümmtes 165-Hz-Quantum-Dot-Display und mehr

Quantencomputer: Was sind diese Qubits?
Quantencomputer
Was sind diese Qubits?
  1. IBM Q Mehr Qubits von IBM
  2. Verschlüsselung Kryptographie im Quantenzeitalter
  3. Quantencomputer Bosonen statt Qubits

HTC U11 im Hands on: HTCs neues Smartphone will gedrückt werden
HTC U11 im Hands on
HTCs neues Smartphone will gedrückt werden
  1. HTC Vive Virtual Reality im Monatsabo
  2. Sense Companion HTCs digitaler Assistent ist verfügbar
  3. HTC U Ultra im Test Neues Gehäuse, kleines Display, bekannte Kamera

  1. Re: Wieso könnten Händler-Shops überhaupt...

    cat24max1 | 02:06

  2. Re: "falsche" Gegend, "falsche" Adresse

    plutoniumsulfat | 02:01

  3. Re: LTE nachrüsten

    southy | 01:39

  4. Re: Geisteswissenschaften vs. Realität/Intelligenz

    Biteemee | 01:26

  5. Re: Zu kleine SSD

    FrankM | 01:25


  1. 16:58

  2. 16:10

  3. 15:22

  4. 14:59

  5. 14:30

  6. 14:20

  7. 13:36

  8. 13:20


  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