MicroPython URL Request auf der NodeMCU ESP32

Dieser Beitrag zeigt Ihnen wie einfach es ist einen URL-Request vom NodeMCU ESP32 (resp. ESP8266) abzusetzen und eine entfernte Datei zu lesen.

Einkaufsliste zum Beitrag

Ich fürchte 90% der Projekte die mit dem ESP32 aufgebaut werden drehen sich in irgendeiner Weise um den Zugriff über das heimische WLAN in das Internet, in dieser Tradition werde ich auch dieses Projektbeispiel halten. Das folgende Codebeispiel nutzt die Bibliothek urequest, um die Datei robots.txt meiner eigenen Webseite auzulesen.

001  import network
002  import urequests
003
004  sta_if = network.WLAN(network.STA_IF);
005  sta_if.active(True)
006
007  sta_if.connect("ssid-ihr-wlan-router", "ihr-kennwort-am-router")
008
009  response = urequests.get('http://nodemcu.de/robots.txt')
010  response.encoding = 'utf-8'
011
012  print(response.content)

Lesen der robots.txt mit dem ESP32 und Micropython

Führen Sie das Script mit der NodemCU ESP32 aus, erhalten Sie in der Thonny-Shell in etwa das folgende Ergebnis.

Ergebnis des Beispiel Requests, die Robots.txt von www.NodeMCU.de wird gelesen

Sie sehen den Inhalt der für Suchmaschinen öffentlich zugänglichen Datei robots.txt und die üblichen Angaben welche Verzeichnisse durchsucht werden sollen und welche nicht. Beispielsweise können Sie dies auch von Hand im Browser auch gerne mal bei Amazon.de ausprobieren, es funktioniert dort ganz genau so.

Mit Hilfe dieses kleinen Beispiels ist es Ihnen möglich Daten aus dem Internet (eine Datei) zu lesen und in Folge dessen die enthaltenen Werte mit dem ESP32 auszulesen und etwas damit steuern zu lassen.

Nachtrag: Die Implementierung des Netzwerk-Moduls urequest scheint sich verändert zu haben. Unter der neuen mP-Version v1.13 erzeugt das Script einen Fehler. Siehe: The network module

Autor

About me


Mein Name ist Oliver Lohse. Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Programmier-Sprachen und Markup-Dialekten, z.B. Java, JEE, COBOL, PHP, Python, MySQL, HTML, CSS, ANSI C, Lisp, Rexx, JavaScript, Scheme, ActionScript 2.0, Maschinensprache, Assembler und JCL. Seit mehr als 24 Jahren arbeite ich als Entwickler in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen und seit etwa 37 Jahren im EDV-Sektor mit wechselnden Aufgaben.

Meta: Instagram CMSWorkbench.de GIMP-Handbuch.de Kontakt Impressum Datenschutz