Inhaltsverzeichnis:

Erste Schritte mit MicroPython auf dem ESP8266 - Gunook
Erste Schritte mit MicroPython auf dem ESP8266 - Gunook

Video: Erste Schritte mit MicroPython auf dem ESP8266 - Gunook

Video: Erste Schritte mit MicroPython auf dem ESP8266 - Gunook
Video: micro Python | ESP8266 | ESP32 | Einführung deutsch | start uPython | erster Code 2024, November
Anonim
Erste Schritte mit MicroPython auf dem ESP8266
Erste Schritte mit MicroPython auf dem ESP8266

Möchten Sie die ESP8266-basierten Boards anders als die übliche Methode mit Arduino IDE zusammen mit der Programmiersprache C/C++ programmieren?

In diesem Tutorial erfahren wir, wer ein ESP8266-Board mit MicroPython konfiguriert und steuert.

BAUZEIT: 60 MINUTEN SCHWIERIGKEIT: BEWERTUNG: Einfach

Schritt 1: Was ist MicroPython?

MicorPython ist eine der vielen Programmiersprachen, mit denen wir das ESP8266-Modul programmieren können. Es ist eine schlanke und schnelle Version der Programmiersprache Python 3 und hat mehrere Vorteile gegenüber herkömmlichen Programmiersprachen wie C und C++.

MicroPython ist so konzipiert, dass es so weit wie möglich mit normalem Python kompatibel ist. Es verfügt über einen vollständigen Python-Compiler und -Laufzeit und bietet eine interaktive Eingabeaufforderung, die als REPL (Read-Eval-Print Loop) bekannt ist.

MicorPython wurde entwickelt, um einige verschiedene Arten von Mikrocontrollern zu unterstützen. Aber für dieses Tutorial werde ich nur mit einem Modell arbeiten: dem ESP8266-basierten Board (NodeMCU). Beachten Sie, dass es einige verschiedene Boards gibt, die Sie mit demselben Chip kaufen können.

Lesen & Ressourcen:

MicroPython

KnotenMCU

Schritt 2: Anforderungen

Anforderungen
Anforderungen
Anforderungen
Anforderungen
Anforderungen
Anforderungen
Anforderungen
Anforderungen

Um diesem Tutorial folgen zu können, benötigen Sie lediglich grundlegende Programmiererfahrung mit Python. Sie benötigen keine Vorkenntnisse in Mikrocontrollern, Elektronik oder sogar MicroPython.

Außerdem benötigen Sie einen Windows-, Mac- oder Linux-Computer mit einem freien USB-Anschluss, da Sie zur Programmierung einen Mikrocontroller an Ihren Computer anschließen.

Erforderliche Teile:

1 x NodeMCU (oder ein anderes ESP8266-basiertes Board)

1 x rote 5mm LED

1 x 220Ω 1/4W Widerstand

1 x 10KΩ Drehpotentiometer

1 x Steckbrett

1 x USB-zu-MicroUSB-Kabel

Überbrückungsdrähte.

Schritt 3: Warum ESP8266-basiertes Board?

Warum ESP8266-basiertes Board?
Warum ESP8266-basiertes Board?

Eine Möglichkeit, das Beste aus Ihrem ESP8266 herauszuholen, ist die Verwendung von MicroPython. Außerdem ist das ESP8266-Modul eine der besten Plattformen, um die Verwendung von MicroPython zu erlernen. Dies liegt daran, dass der ESP8266 einfache GPIO-Pin-Steuerungsfunktionen sowie drahtlose Funktionen bietet, mit denen Sie alle Aspekte der Programmiersprache MicroPython testen können.

Der ESP8266-Chip ist in der Open-Source-Entwicklungsbranche beliebt. Es gibt viele Entwicklungsboards verschiedener Hersteller, die den ESP8266-Chip verwenden. MicroPython wurde entwickelt, um einen generischen Port bereitzustellen, der auf den meisten dieser Boards mit so wenig Einschränkungen wie möglich ausgeführt werden kann. Der Port basiert auf dem Adafruit Feather HUZZAH-Board. Wenn Sie andere ESP8266-Boards verwenden, überprüfen Sie deren Schaltpläne und Datenblätter, damit Sie die Unterschiede zwischen ihnen und dem Adafruit Feather HUZZAH-Board erkennen können. Auf diese Weise können Sie die Unterschiede in Ihrem Code berücksichtigen.

Lesen & Ressourcen:

ESP8266

Adafruchtfeder HUZZAH

Schritt 4: Einrichten Ihres Computers

Einrichten Ihres Computers
Einrichten Ihres Computers
Einrichten Ihres Computers
Einrichten Ihres Computers
Einrichten Ihres Computers
Einrichten Ihres Computers
Einrichten Ihres Computers
Einrichten Ihres Computers

Es gibt mehrere Dinge, die Sie einrichten müssen, bevor Sie MicroPython verwenden, um Ihr ESP8266-Board zu programmieren. In diesem Schritt werden wir den Einrichtungsprozess durchgehen. Auf diese Weise wissen Sie, wie Sie das ESP8266-Board für die Verwendung mit MicroPython konfigurieren.

Fertig werden

Alles, was Sie von diesem Schritt bis Schritt 6 benötigen, ist Ihr ESP8266 und ein USB-Kabel. Verbinden Sie Ihr ESP8266-Board mit Ihrem Computer.

Wie es geht…

SCHRITT1: Gerätetreiber installieren

Wenn Sie einen Linux-Computer haben, müssen Sie keine Gerätetreiber installieren, damit die Treiber für den Mikrocontroller erkannt werden. Wenn Sie jedoch einen Mac- oder Windows-Rechner haben, wird ein Treiber benötigt, damit der Computer den Mikrocontroller erkennen kann als serielles Gerät.

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

SCHRITT2: Python installieren

Die Tools, die Sie für die Kommunikation mit dem ESP8266 verwenden werden, sind in Python geschrieben, daher müssen Sie Python auf Ihrem Computer installieren.

Wenn Ihr Betriebssystem kein vorgefertigtes Python bereitstellt, können Sie auf https://python.org einen offiziellen Build für eines der unterstützten Betriebssysteme herunterladen.

SCHRITT 3: Installieren Sie esptool und rshell

Installieren Sie zwei Pakete, die Ihnen helfen, Ihr Board mit pip zu verwalten. Öffnen Sie dazu Ihr Terminal und führen Sie es aus

pip install esptool rshell

SCHRITT4: MicroPython herunterladen

Laden Sie die neueste MicroPython-Firmware.bin über den folgenden Link herunter:

Zum Zeitpunkt des Schreibens ist die aktuelle Version 1.11 und die Firmware-Datei heißt esp8266-20190529-v1.11.bin

Wenn Sie dies tun, finden Sie möglicherweise eine neuere Version.

Schritt 5: Flashen von MicroPython mit Esptool.py

Flashen von MicroPython mit Esptool.py
Flashen von MicroPython mit Esptool.py
Flashen von MicroPython mit Esptool.py
Flashen von MicroPython mit Esptool.py

Bevor Sie eine neue Firmware auf das Board flashen, sollten Sie alle vorherigen Daten löschen. Dies sollten Sie immer tun, damit die neue Firmware in einem sauberen Zustand ausgeführt wird.

Gehen Sie dorthin, wo Sie die.bin-Datei abgelegt haben. Verwenden Sie esptool.py, um den Flash zu löschen.

Für Linux:

esptool.py --port /dev/ttyUSB0 era_flash

Für Windows:

esptool.py --port COM3 delete_flash

Möglicherweise müssen Sie den seriellen Port in Ihrem Befehl auf den seriellen Port ändern, mit dem Ihre ESP8266-Karte verbunden ist. Wenn Sie die serielle Portnummer Ihres ESP8266 nicht kennen, können Sie dies in der Arduino IDE überprüfen. Öffnen Sie einfach die IDE und klicken Sie dann auf Tools | Häfen. Dort sollte der serielle Port Ihres ESP8266-Boards aufgeführt sein. Ersetzen Sie den seriellen Port im Befehl (/dev/ttyUSB0) durch den seriellen Port Ihres Boards.

Nachdem das Board nun vollständig gelöscht ist, können Sie den gerade heruntergeladenen MicroPython-Build flashen. Dies geschieht auch mit dem Befehl esptool.py:

esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

Dieser Befehl schreibt den Inhalt der MicroPython.bin-Datei an die Adresse 0 auf das Board.

Stellen Sie sicher, dass Sie den Namen der Firmware-.bin-Datei im Befehl (esp82688-2019-080529-v1.11.bin) in den Namen der heruntergeladenen Firmware ändern.

Sobald die Firmware erfolgreich auf Ihrem ESP8266-Board installiert wurde, können Sie über eine kabelgebundene Verbindung (serielle UART-Schnittstelle) oder über WLAN auf REPL auf Ihrem Board zugreifen.

Schritt 6: Verwenden des MicroPython REPL mit Rshell

Verwenden von MicroPython REPL mit Rshell
Verwenden von MicroPython REPL mit Rshell
Verwenden von MicroPython REPL mit Rshell
Verwenden von MicroPython REPL mit Rshell

Sie können jetzt MicroPython auf Ihrem ESP8266-Board starten.

Was ich Ihnen zeigen werde, wie Sie sich mit dem auf Ihrem Board laufenden Python-Prompt verbinden. Dies wird als REPL bezeichnet, was für "Read-Eval-Print-Loop" steht. Dies ist die Standard-Python-Eingabeaufforderung, die Sie wahrscheinlich beim Arbeiten mit dem regulären Python-Interpreter sehen, aber diesmal wird er auf Ihrem Board ausgeführt, und um damit zu interagieren, verwenden Sie die serielle Verbindung zu Ihrem Computer. Bereit?

Um eine Verbindung zu Ihrem Board herzustellen und eine REPL-Sitzung zu öffnen, geben Sie den folgenden Befehl ein:

rshell --port

Dieser Befehl bringt Sie in die rshell-Eingabeaufforderung. Siehe Foto oben.

Wenn Sie dieses Tutorial unter Windows befolgen, beachten Sie, dass bei der Ausführung von rshell unter Windows in der Vergangenheit immer wieder Probleme aufgetreten sind.

Um diesen Typ zu beheben:

rshell -a --port COM3

Von dieser Eingabeaufforderung aus können Sie Verwaltungsaufgaben im Zusammenhang mit Ihrem Mikrocontroller-Board ausführen und auch eine Python-REPL starten, mit der Sie in Echtzeit mit dem Board interagieren können. Geben Sie also einfach den folgenden Befehl ein:

erwidern

Um sicherzustellen, dass alles funktioniert, geben Sie einen einfachen Python-Satz ein:

print("Hallo Welt")

Schritt 7: Pins mit MicroPython steuern

Steuern von Pins mit MicroPython
Steuern von Pins mit MicroPython
Steuern von Pins mit MicroPython
Steuern von Pins mit MicroPython

In diesem Schritt lernen wir, wie Sie die ESP8266-Pins mit MicroPython steuern. Dazu werden wir ein Setup erstellen, bei dem wir den Zustand einer LED umschalten, die mit einem GPIO-Pin der ESP8266-Platine verbunden ist. Dies wird Ihnen helfen zu verstehen, wie Sie digitale Ausgänge mit MicoPython steuern.

Fertig werden

Sie benötigen die folgenden Dinge, um diesen SCHRITT durchzuführen:

1 x NodeMCU

1 x rote 5mm LED

1 x 220 Ω Widerstand

1 x Steckbrett

Überbrückungsdrähte

Das Build

Beginnen Sie mit der Montage der LED auf dem Steckbrett. Verbinden Sie ein Ende des 220--Widerstands mit dem positiven Bein der LED (das positive Bein einer LED ist normalerweise das höhere der beiden Beine). Verbinden Sie das andere Ende des Widerstands mit Pin D1 der ESP8266-Platine. Verbinden Sie dann den negativen Schenkel der LED mit dem GND-Pin der ESP8266-Platine. Der Anschluss ist wie im obigen Diagramm dargestellt.

Sobald die Einrichtung abgeschlossen ist, verbinden Sie die ESP8266-Platine über ein USB-Kabel mit Ihrem Computer.

Wie es geht…

Geben Sie den folgenden Code in Ihre REPL ein:

# LED blinkt alle 1 Sekunde

def blink(pin=5, time=1) # Blinkfunktion standardmäßig pin=5, time=1s Maschine importieren # das Maschinenmodul hält die Pin-Konfigurationen und -Modi ab Zeit import sleep # import sleep für einige Verzögerung LED = machine. Pin (led_pin, machine. PIN. OUT) # LED als OUTPUT konfigurieren, solange True: # ewig laufen LED.value(1) # LED auf HIGH setzen sleep(time) # 1 Sekunde standardmäßig warten LED.value(0) # LED setzen auf LOW sleep(time) # warte standardmäßig 1 Sekunde

Geben Sie blink() in Ihre RPEL-Sitzung ein, um diesen Code zu testen. Dadurch blinkt die LED, die mit dem GPIO5 verbunden ist, jede Sekunde.

Sie können die PIN und/oder die Uhrzeit ändern, indem Sie anrufen:

blink(pin=, zeit=)

Drücken Sie Strg+C, um den laufenden Code zu beenden.

Sie können MicroPython verwenden, um einen Eingang zu lesen, der mit dem ESP8266 verbunden ist. Fahren Sie mit dem nächsten Schritt fort, um zu erfahren, wie das geht.

Überprüfen Sie das Video, wenn Sie nicht weiterkommen.

Schritt 8: Ausblenden der LED

Ausblenden der LED
Ausblenden der LED
Ausblenden der LED
Ausblenden der LED

In diesem Schritt lernen wir, wie Sie die Helligkeit der LED mit einem Drehpotentiometer einstellen. Wir verwenden eine Technik namens Pulsweitenmodulation (PWM), die es uns ermöglicht, die LED mit bis zu 256 Einstellungen zu dimmen.

Hinweis: Alle Pins des ESP8266 können als PWM-Pin verwendet werden, außer GPIO16 (D0).

Fertig werden:

Sie benötigen die folgenden Dinge, um diesen SCHRITT durchzuführen:

1 x NodeMCU

1 x rote 5mm LED

1 x 50 KΩ Drehpotentiometer.

1 x Steckbrett

Überbrückungsdrähte

Das Build

Die Verbindung ist wie in der obigen Abbildung dargestellt: Sobald die Einrichtung abgeschlossen ist, verbinden Sie das ESP8266-Board über ein USB-Kabel mit Ihrem Computer.

Wie es geht…

Geben Sie den folgenden Code in Ihre REPL ein:

# Verblassen der LED alle 0,5 durch Lesen von Daten vom Potentiometer

Maschine aus Zeit importieren Schlaf importieren led_pin = 5 # LED-Pin POT = Maschine. ADC(0) # ADC0-Pin LED = Maschine. Pin(led_pin) # LED-Objekt erstellen LED_pwm = Maschine. PWM(LED, freq=500) # LED_pwm erstellen Objekt und setze die Frequenz auf 500Hz während True: LED_pwm.duty(POT.read()) # Hole den Wert aus dem Pot und setze ihn auf den Arbeitszyklus sleep(0.5) # warte 0.5

Dadurch wird die Helligkeit der an GPIO 5 angeschlossenen LED geändert, indem der Wert des Potentiometers geändert wird.

Drücken Sie Strg+C, um den laufenden Code zu beenden.

Überprüfen Sie das Video, wenn Sie nicht weiterkommen.

Schritt 9: Wohin von hier?

Bisher haben wir gesehen, wie MicroPython auf ESP8266-basierten Boards konfiguriert und ausgeführt wird. Wir haben gelernt, wie man Pins steuert, um eine LED zu blinken, dann haben wir ein Potentiometer hinzugefügt, um die Helligkeit der LED mit der Pulsweitenmodulationstechnik zu steuern.

Jetzt können wir Daten vom Sensor lesen und an die Cloud senden, wir können auch einen HTTP-Server erstellen, auf dem Sie unsere Daten auf einer einfachen Webseite drucken können usw.

Dies gibt uns viele Vorstellungen vom Internet der Dinge (IoT).

Schritt 10: Fazit

Hier hast du es! Gehen Sie los und erobern Sie die Welt von MicroPython.

Wenn Sie Fragen haben, können Sie natürlich einen Kommentar hinterlassen.

Um mehr über meine Arbeiten zu sehen, besuchen Sie bitte meinen YouTube-Kanal:

meinYouTube

myGitHub

myLinkedin

Vielen Dank für das Lesen dieses instructable ^^ und einen schönen Tag.

Tschüss.

Ahmed Nouira.

Empfohlen: