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. SAP Key-User SD (m/w/d) - Mitarbeiter Customer Service
    Wörwag Pharma GmbH & Co. KG, Böblingen
  2. Gruppenleiter (m/w/d) Produktrealisierung Leben
    VPV Versicherungen, Stuttgart
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.

Golem Karrierewelt
  1. Elastic Stack Fundamentals – Elasticsearch, Logstash, Kibana, Beats: virtueller Drei-Tage-Workshop
    14.-16.06.2022, Virtuell
  2. Cinema 4D Grundlagen: virtueller Drei-Tage-Workshop
    04.-06.07.2022, Virtuell
Weitere IT-Trainings

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.  


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...



Aktuell auf der Startseite von Golem.de
Ukrainekrieg
Erster Einsatz einer US-Kamikazedrohne dokumentiert

Eine Switchblade-Drohne hat offenbar einen russischen Panzer getroffen. Dessen Besatzung soll sich auf dem Turm mit Alkohol vergnügt haben.

Ukrainekrieg: Erster Einsatz einer US-Kamikazedrohne dokumentiert
Artikel
  1. Deutsche Bahn: 9-Euro-Ticket gilt nicht in allen Nahverkehrszügen
    Deutsche Bahn  
    9-Euro-Ticket gilt nicht in allen Nahverkehrszügen

    So einfach ist es dann noch nicht: Das 9-Euro-Ticket gilt nicht in allen Zügen, die mit einem Nahverkehrsticket genutzt werden können.

  2. Cerebras WSE-2: München verbaut riesigen KI-Chip
    Cerebras WSE-2
    München verbaut riesigen KI-Chip

    Als erster Standort in Europa hat das Leibniz-Rechenzentrum (LRZ) ein CS-2-System mit Cerebras' WSE-2 gekauft, welches effizient und schnell ist.

  3. WD Red: 7 US-Dollar für falsch beworbene NAS-Festplatte
    WD Red
    7 US-Dollar für falsch beworbene NAS-Festplatte

    Weil Western Digital einige NAS-Festplatten ohne Hinweis mit SMR-Technik verkauft hatte, muss der Hersteller dafür geradestehen.

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
    Daily Deals • Days of Play: (u. a. PS5-Controller (alle Farben) günstig wie nie: 49,99€, PS5-Headset Sony Pulse 3D günstig wie nie: 79,99€) • Viewsonic Gaming-Monitore günstiger • Mindstar (u. a. MSI RTX 3090 24GB 1.599€) • Xbox Series X bestellbar • Samsung SSD 1TB 79€ [Werbung]
    •  /