• 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. ALDI International Services GmbH & Co. oHG, Mülheim
  2. DRÄXLMAIER Group, Vilsbiburg bei Landshut

  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:

Golem Akademie
  1. Masterclass: Data Science mit Pandas & Python
    9./10. September 2021, online
  2. Advanced Python - Fortgeschrittene Programmierthemen
    3./4. Mai 2021, online
Weitere IT-Trainings

  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
Spiele-Angebote
  1. 17,99€
  2. 4,19€
  3. 23,99€

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
       


Samsung Galaxy S21 Ultra vorgestellt

Das Galaxy S21 Ultra ist das Topmodell von Samsungs neuer S21-Reihe und unterscheidet sich deutlich von den beiden anderen Modellen.

Samsung Galaxy S21 Ultra vorgestellt Video aufrufen
Programm für IT-Jobeinstieg: Hoffen auf den Klebeeffekt
Programm für IT-Jobeinstieg
Hoffen auf den Klebeeffekt

Aktuell ist der Jobeinstieg für junge Ingenieure und Informatiker schwer. Um ihnen zu helfen, hat das Land Baden-Württemberg eine interessante Idee: Es macht sich selbst zur Zeitarbeitsfirma.
Ein Bericht von Peter Ilg

  1. Arbeitszeit Das Sechs-Stunden-Experiment bei Sipgate
  2. Neuorientierung im IT-Job Endlich mal machen!
  3. IT-Unternehmen Die richtige Software für ein Projekt finden

Weclapp-CTO Ertan Özdil: Wir dürfen nicht in Schönheit und Perfektion untergehen!
Weclapp-CTO Ertan Özdil
"Wir dürfen nicht in Schönheit und Perfektion untergehen!"

Der CTO von Weclapp träumt von smarter Software, die menschliches Eingreifen in der nächsten ERP-Generation reduziert. Deutschen Perfektionismus hält Ertan Özdil aber für gefährlich.
Ein Interview von Maja Hoock


    Fiat 500 als E-Auto im Test: Kleinstwagen mit großem Potenzial
    Fiat 500 als E-Auto im Test
    Kleinstwagen mit großem Potenzial

    Fiat hat einen neuen 500er entwickelt. Der Kleine fährt elektrisch - und zwar richtig gut.
    Ein Test von Peter Ilg

    1. Vierradlenkung Elektrischer GMC Hummer SUV fährt im Krabbengang seitwärts
    2. MG Cyberster MG B Roadster mit Lasergürtel und Union Jack
    3. Elektroauto E-Auto-Prämie übersteigt in 2021 schon Vorjahressumme

      •  /