• IT-Karriere:
  • Services:

Programmieren in Python

Der Code zum Auslesen von Temperatur und Luftfeuchtigkeit ist überschaubar und kann für einen ersten Test direkt in REPL eingegeben werden. Wie man dem NodeMCU Pinout - zu finden am besten über eine Suchmaschine - entnehmen kann, entspricht Pin D1 GPIO 5. Im Code muss deshalb Pin 5 verwendet werden:

Stellenmarkt
  1. BEHG HOLDING AG, Berlin
  2. Statistisches Bundesamt, Wiesbaden

  1. import dht
  2. from machine import Pin
  3. d = dht.DHT22(Pin(5))
  4. d.measure()
  5. d.temperature()
  6. d.humidity()

Die importierten Module dht und machine binden Sensor und GPIO an. Die Funktion measure() erfasst die Messwerte, temperature() und humidity() ermöglichen schließlich den Zugriff auf die Werte.

Für den Praxiseinsatz ist die USB-Verbindung eher unpraktisch. Um die Daten auch ohne REPL und den Desktop-Rechner abfragen zu können, bietet sich ein kleiner Webserver auf dem Board an, der auf Anfrage die Messwerte ermittelt und als HTML-Response ausliefert. Auch das ist in ein paar Zeilen Code erledigt. Das folgende Listing zeigt eine rudimentäre Lösung:

  1. import dht
  2. from machine import Pin
  3. import network
  4. try:
  5. import usocket as socket
  6. except:
  7. import socket
  8.  
  9. def do_connect():
  10. sta_if = network.WLAN(network.STA_IF)
  11. if not sta_if.isconnected():
  12. print('connecting...')
  13. sta_if.active(True)
  14. sta_if.connect('WLAN-Name', 'WLAN-Passwort')
  15. while not sta_if.isconnected():
  16. pass
  17. print('network config:', sta_if.ifconfig())
  18.  
  19. d = dht.DHT22(Pin(5))
  20. do_connect()
  21. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  22. s.bind(('', 80))
  23. s.listen(5)
  24.  
  25. while True:
  26. conn, addr = s.accept()
  27. request = conn.recv(1024)
  28. request = str(request)
  29. print('Content = %s' % request)
  30. d.measure()
  31. temp = d.temperature()
  32. hum = d.humidity()
  33. response = """<html><body>temp:"""+str(temp)+""", humidity:"""+str(hum)+"""</body></html>"""
  34. conn.send('HTTP/1.1 200 OK\n')
  35. conn.send('Content-Type: text/html\n')
  36. conn.send('Connection: close\n\n')
  37. conn.sendall(response)
  38. conn.close()

In der Funktion do_connect() wird hier eine Verbindung zum heimischen WLAN aufgebaut. Die dabei zugewiesene IP-Adresse wird ausgegeben. Anschließend wird über das Socket-Modul ein kleiner Server aufgebaut, der auf Anfragen über Port 80 lauscht. Wenn ein Request eingeht, werden die Messwerte erfasst und, in HTML verpackt, verschickt.

Die Abfrage des Servers und damit der Messdaten geschieht einfach durch Eingeben der ermittelten IP-Adresse in einen Browser.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
  • Ein ESP8266 NodeMCU (Bild: Dirk Koller)
  • Ein erfolgreicher Flash-Vorgang (Bild: Dirk Koller)
  • Python-Anweisungen in REPL (Bild: Dirk Koller)
  • Das DHT22-Breakout-Modul (Bild: Dirk Koller)
  • Messwerte im Browser (Bild: Dirk Koller)
  • Verbinden mit der Rshell (Bild: Dirk Koller)
Messwerte im Browser (Bild: Dirk Koller)
 Micro Python mit dem Controller verbindenDateien übertragen mit Rshell 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7.  


Anzeige
Hardware-Angebote
  1. (reduzierte Überstände, Restposten & Co.)

elcaron 02. Dez 2019

Ich habe eher Probleme damit, dass der ESP das Board erwärmt. Mit DeepSleep ist dem an...

PatrickSchlegel 02. Dez 2019

++

tsp 02. Dez 2019

Abgesehen davon, dass ich nicht denke, dass die Sache mit den Einrückungen ein "Problem...

floxiii 02. Dez 2019

https://randomnerdtutorials.com/micropython-esp32-deep-sleep-wake-up-sources/ Deep Sleep...

floxiii 02. Dez 2019

Der ESP32 benötigt im Deep Sleep nur wenige A.


Folgen Sie uns
       


IT-Jobs: Feedback für Freelancer
IT-Jobs
Feedback für Freelancer

Gutes Feedback ist vor allem für Freelancer rar. Wenn nach einem IT-Projekt die Rückblende hintenüberfällt, ist das aber eine verschenkte Chance.
Ein Bericht von Louisa Schmidt

  1. IT-Freelancer Der kürzeste Pfad zum nächsten Projekt
  2. Selbstständiger Sysadmin "Jetzt fehlen nur noch die Aufträge"

Core i7-1185G7 (Tiger Lake) im Test: Gut gebrüllt, Intel
Core i7-1185G7 (Tiger Lake) im Test
Gut gebrüllt, Intel

Dank vier äußerst schneller CPU-Kerne und überraschend flotter iGPU gibt Tiger Lake verglichen zu AMDs Ryzen 4000 eine gute Figur ab.
Ein Test von Marc Sauter

  1. Tiger Lake Überblick zu Intels 11th-Gen-Laptops
  2. Project Athena 2.0 Evo-Ultrabooks gibt es nur mit Windows 10
  3. Ultrabook-Chip Das kann Intels Tiger Lake

Verkehrswende: Zaubertechnologie statt Citybahn
Verkehrswende
Zaubertechnologie statt Citybahn

In Wiesbaden wird um den Bau einer Straßenbahn gestritten, eine Bürgerinitiative kämpft mit sehr kuriosen Argumenten dagegen.
Eine Recherche von Hanno Böck

  1. Fernbus Roadjet mit zwei WLANs und Maskenerkennung gegen Flixbus
  2. Mobilität Wie sinnvoll sind synthetische Kraftstoffe?

    •  /