ESP allein benutzen

Um es vorwegzunehmen: Das Programm zum Messen und Senden der Temperatur für den ESP im Standalone-Betrieb ist erstaunlich kurz und simpel. Dafür ist der Schaltungsaufbau wegen der Stromversorgung komplizierter und der Flashvorgang erfordert Fummelei.

Stellenmarkt
  1. Software & Data Engineer / Machine Learning Engineer (m/w/d)
    h.a.l.m. elektronik GmbH, Frankfurt
  2. SAP S4 HANA / ABAP Developer (w/m/d)
    Dürr IT Service GmbH, Bietigheim-Bissingen
Detailsuche

Deshalb beginnen wir mit der Programmerläuterung. Auch hier gibt es den vollständigen Quellcode für unser Programm auf Github. Zuerst muss aber über die Unterstützung für den ESP8266 in der Arduino IDE installiert werden. Dazu muss in den Einstellungen der IDE eine "zusätzliche Board-Verwalter-URL" hinzugefügt werden:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Dann kann über den Board-Verwalter das esp8266-Paket gesucht und installiert werden. Neben dem Compiler stehen so auch einige zusätzliche Bibliotheken zur Verfügung. Davon benötigten wir die Basis-Bibliothek ESP8266WiFi.h und WiFiClient.h.

  • ESP-01 als Temperaturmessstation (Foto: Martin Wolf/Golem.de)
  • ESP-01 mit Arduino als Temperaturmessstation (Foto: Martin Wolf/Golem.de)
  • ESP-01 und ESP-12 (Foto: Martin Wolf/Golem.de)
  • Basisschaltung für den Temperatursensor und die Stromversorgung  (Foto: Martin Wolf/Golem.de)
  • Für den Standalone-Betrieb eines ESP-01 ist neben der zusätzlichen Stromversorgung auch ein USB-zu-Seriell-Adapter nötig. (Foto: Martin Wolf/Golem.de)
  • Fritzing-Zeichnung für den Betrieb des ESP-01 mit einem Arduino (Abb.: Alexander Merz/Fritzing)
  • Fritzing-Zeichnung für den Standalone-Betrieb des ESP-01 (Abb.: Alexander Merz/Fritzing)
ESP-01 als Temperaturmessstation (Foto: Martin Wolf/Golem.de)

An der Temperaturmessung selbst ändert sich nichts Grundlegendes. Die GPIO-Pins des ESP sind entsprechend ihrer Nummerierung auch in der Arduino-IDE verfügbar, GPIO-02 wird in der IDE als 2 angesprochen. Die Onewire- und Dallas-Temperature-Bibliotheken, um die Temperatur abzufragen, funktionieren ebenfalls ohne Änderung.

Was sich ändert, sind die Verbindungsaufnahme zum Netzwerk und der Aufruf der URL. Die WLAN-Funktionen des ESP-Moduls sind im WiFi-Objekt gekapselt. Dessen API ist recht unkompliziert. In setup() wird die WLAN-Verbindung zuerst zurückgesetzt und eine neue Verbindung unter Angabe des Netzwerknamens und des Passworts gestartet. Danach wird gewartet, bis die Verbindung tatsächlich steht.

  1. WiFi.disconnect();
  2. WiFi.mode(WIFI_STA);
  3. WiFi.begin(SSID, PASSWORT);
  4.  
  5. while (WiFi.status() != WL_CONNECTED) {
  6. delay(500);
  7. }

Die Funktion sendTemperatur() funktioniert ebenfalls weitgehend wie im vorherigen Beispiel, nur werden statt AT-Kommandos API-Funktionen aufgerufen. Eine URL wird mit Hilfe des WiFiClient-Objektes abgerufen. Zuerst erfolgt die Verbindungsaufnahme mit dem Golem.de-Server mit client.connect(). War das erfolgreich, wird ein GET-Request mit der URL zusammengebaut und per client.println() verschickt. Da uns die Serverantwort nicht interessiert, wird die Serververbindung danach mit client.stop() geschlossen.

  1. if (client.connect("www.golem.de", 80)) {
  2. String cmd = "GET ";
  3. cmd += URL;
  4.  
  5. client.println(cmd);
  6. ...
  7. client.stop();
  8. }

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Die benötigten BauteileSchaltung für die Programmierung aufbauen 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6.  


Aktuell auf der Startseite von Golem.de
Indiegames-Entwicklung
Was dieser Saftladen besser macht als andere

Der Saftladen in Berlin ist als Gemeinschaftsbüro für Spieleentwickler erfolgreich, während vergleichbare Angebote scheitern.
Ein Bericht von Daniel Ziegener

Indiegames-Entwicklung: Was dieser Saftladen besser macht als andere
Artikel
  1. KenFM: Ken Jebsen von Anonymous gehackt
    KenFM
    Ken Jebsen von Anonymous gehackt

    Die Aktivisten von Anonymous haben die Website des Verschwörungstheoretikers Ken Jebsen gehackt und offenbar Infos zu Spendern erbeutet.

  2. Apotheken: Anlaufschwierigkeiten beim digitalen Impfnachweis
    Apotheken
    Anlaufschwierigkeiten beim digitalen Impfnachweis

    Nach mehreren Versuchen sind wir in Berlin an einen digitalen Impfnachweis gekommen. Doch die Apotheken berichten von Serverproblemen.

  3. Geforce RTX 3000: Nvidia baut mehr Ampere-Grafikkarten auf Kosten der RTX 2060
    Geforce RTX 3000
    Nvidia baut mehr Ampere-Grafikkarten auf Kosten der RTX 2060

    Nvidia will Kapazitäten freimachen und statt Turing-Grafikkarten Geforce-RTX-3000-Varianten bauen. Das könnte zu mehr Verfügbarkeit führen.

Ralfonso 18. Mai 2018

Auch interessant zu sehen, wie sich die Temperatur und der Stromverbrauch bei den...

MichaelDworkin 11. Jun 2016

Danke für Ihre Artikel. Ich habe nach Ihre Anleitung Arduino installiert und ESP8266...

ChriDDel 25. Mai 2016

warum der TPS63050? Bei meinen Recherchen bin ich auf den HT7333 gestoßen. Günstig und...

am (golem.de) 05. Mai 2016

Man benötigt das ESP-Paket für die Arduino-IDE wie im Artikel auf Seite 3 beschrieben...

H4ndy 01. Mai 2016

Ich hab nen Digistump Oak genommen, der ist etwas teuerer, bringt aber Particle.io mit...


Folgen Sie uns
       


Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Schnäppchen • Dualsense 59,99€ • Battlefield 2042 PC 53,99€ • XXL Sale bei Alternate • Rainbow Six Extraction Limited PS5 69,99€ • Sony Pulse 3D-Headset PS5 99,99€ • Snakebyte Gaming Seat Evo 149,99€ • Bethesda E3 Promo bei GP [Werbung]
    •  /