schule:esp8266
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| schule:esp8266 [2017-04-19 06:39] – Externe Bearbeitung 127.0.0.1 | schule:esp8266 [2024-01-20 08:49] (aktuell) – pintman | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== ESP8266 ====== | + | Verschoben nach [[edu:esp8266]]. |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | [[https:// | + | |
| - | Variante von [[Python]], die auf Mikrocontroller zugeschnitten | + | |
| - | ist. Der | + | |
| - | [[http:// | + | |
| - | ein günstiger (~4$) Baustein mit WLAN-Funktionen, | + | |
| - | eine Micropython-Firmware existiert. Über das | + | |
| - | nodemcu Development-Kit, | + | |
| - | Baustein über einen USB-Anschluss, | + | |
| - | kommunizieren kann. Die PINs sind herausgeführt und lassen sich | + | |
| - | in Schaltungen verwenden. | + | |
| - | + | ||
| - | ===== Installation der Firmware ===== | + | |
| - | + | ||
| - | Nun soll die Firmware für Micropython installiert werden. Diese | + | |
| - | lässt sich von der Webseite | + | |
| - | [[https:// | + | |
| - | die Installation gibt es das Tool esptool.py, das sich ebenso | + | |
| - | einfach installieren lässt. | + | |
| - | + | ||
| - | $ sudo pip2 install esptool | + | |
| - | + | ||
| - | Leider funktioniert esptool derzeit nur mit Python2. | + | |
| - | + | ||
| - | Anschließend kann die vorhandene Firmware auf den ESP8266 | + | |
| - | zunächst gelöscht und mit dem zweiten Befehl die neue Firmware | + | |
| - | übertragen werden. | + | |
| - | + | ||
| - | $ esptool.py --port / | + | |
| - | $ esptool.py --port / | + | |
| - | + | ||
| - | Bei mir kam es bei Geschwindigkeiten über 115200 Baud zu | + | |
| - | Problemen, weshalb ich die Geschwindigkeit reduziert habe. Die | + | |
| - | Befehle habe ich der | + | |
| - | [[http:// | + | |
| - | von mircopython]] entnommen. | + | |
| - | + | ||
| - | ===== Zugriff über die serielle Schnittstelle ===== | + | |
| - | + | ||
| - | + | ||
| - | Nun kann mit einem Terminalprogramm auf den Microcontroller zugegriffen werden. Das geht mit putty, minicom, screen oder auch miniterm.py. | + | |
| - | + | ||
| - | $ screen / | + | |
| - | + | ||
| - | oder | + | |
| - | + | ||
| - | $ miniterm.py / | + | |
| - | + | ||
| - | Für ''/ | + | |
| - | + | ||
| - | Sollte miniterm.py noch nicht installiert sein, so kann es | + | |
| - | mit '' | + | |
| - | + | ||
| - | Im Anschluss erhält man eine Python-Konsole, | + | |
| - | Projekte verwenden kann. Beim Start steht der ESP als Access | + | |
| - | Point zur Verfügung, auf den sich Clients mit dem | + | |
| - | Standardpasswort ' | + | |
| - | Dateitransfer kann dann das Kommandozeilentool | + | |
| - | [[https:// | + | |
| - | verwendet werden. | + | |
| - | + | ||
| - | ===== Pin-Belegung ===== | + | |
| - | + | ||
| - | Für das [[https:// | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | ===== Dateitransfer ===== | + | |
| - | + | ||
| - | Mit dem Tool [[https:// | + | |
| - | + | ||
| - | Dateien lassen sich mit ls anzeigen. Der Parameter '' | + | |
| - | + | ||
| - | $ ampy -p / | + | |
| - | + | ||
| - | Dateien können mit '' | + | |
| - | + | ||
| - | $ ampy -p / | + | |
| - | + | ||
| - | Sie können auch abgespeichert werden. | + | |
| - | + | ||
| - | $ ampy -p / | + | |
| - | + | ||
| - | Ebenso einfach können Dateien auf den Chip kopiert werden. | + | |
| - | + | ||
| - | $ ampy -p / | + | |
| - | + | ||
| - | Eine Datei kann auch direkt ausgeführt werden. | + | |
| - | + | ||
| - | $ ampy run mein_script.py | + | |
| - | + | ||
| - | Neben ampy gibt es weitere Tools für den Dateitransfer. [[https:// | + | |
| - | + | ||
| - | ===== Ansteuerung über I²C ===== | + | |
| - | + | ||
| - | Der ESP kann über den I²C-Bus auch mit Sensoren oder anderen Modulen kommunizieren. Zwei der GPIO-Pins werden dafür als Clock (scl) und Daten-Pin (sda) definiert. Das folgende Beispiel nutzt hierfür die Pins 0 und 2. | + | |
| - | + | ||
| - | <code python> | + | |
| - | import machine | + | |
| - | + | ||
| - | # GPIO0 (scl) und GPIO2 (sda) verwenden | + | |
| - | # auf dem Port sind dies D3 und D4 | + | |
| - | i2c = machine.I2C(machine.Pin(0), | + | |
| - | </ | + | |
| - | + | ||
| - | Nun kann der Bus gescannt werden. | + | |
| - | + | ||
| - | <code python> | + | |
| - | >>> | + | |
| - | [32] | + | |
| - | </ | + | |
| - | + | ||
| - | Ein Modul meldet sich von Adresse 32 (0x20). Es kann nun verwendet werden. | + | |
| - | + | ||
| - | ===== Links ===== | + | |
| - | + | ||
| - | * Firmware (alte Version): [[https:// | + | |
| - | * Vortrag der Froscon 2016: [[https:// | + | |
| - | * Unter Windows werden eventuell Treiber für den USB-UART-Konverter benötigt. Ein populärer Treiber ist unter [[http:// | + | |
| - | * [[http:// | + | |
| - | * [[https:// | + | |
schule/esp8266.1492583986.txt.gz · Zuletzt geändert: (Externe Bearbeitung)
