*Willkommen zum ESP8266-Workshop * Vorwissen/Intro: * https://de.wikipedia.org/wiki/ESP8266 * https://de.wikipedia.org/wiki/Arduino_(Plattform) * *Arduino Umgebung(Pluto) 1. Arduino IDE Runterladen https://www.arduino.cc/en/Main/Software 2. ESP Unterstützung zur IDE hinzufügen Unter Datei/Voreinstellungen/Zusätzliche Boardverwalter-Urls http://arduino.esp8266.com/stable/package_esp8266com_index.json Eintragen. 4. Unter: Werkzeuge/Boards/Board Verwalter/ in der Suchmaske ESP eingeben. 5. Bord auswählen: Wemos D1 R2 Mini 6. Datei/Beispiel/ *Variante meiner(Patrick) Wahl: Micropython Getting started... Mac OS X Sierra Driver: http://blog.sengotta.net/wp-content/uploads/2015/11/CH34x_Install_V1.3.zip testblink.py für Wemos D1 mini * Eure Dev-Boards sind bereits mit MicroPython geflasht * Wie kann man denn flashen? * https://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/intro.html#intro * /home/pg/.local/lib/python2.7/site-packages/esptool.py --port /dev/ttyUSB0 erase_flash * python2.7 /home/pg/.local/lib/python2.7/site-packages/esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_size=detect 0 esp8266-20161110-v1.8.6.bin --verify * Verbindung per Terminal mit 115200 baud * Linux: picocom /dev/ttyUSB0 --baud 115200 * Falls der User keinen Zugriff auf den Port hat, entweder als root starten (böse, nicht schlau) oder den User je nach Plattform in die Gruppe "dialout" oder "modemusers" oder "uucp" aufnehmen. Danach muss man sich eventuell aus- und wieder einloggen. * Aus dem Picocom kommt man mit CTRL-A-CTRLX heraus * Windows: putty.exe downloaden, cmd öffnen, --> mode befehl absetzen. Putty mit der ausgegebenen COM Schnittstelle verbinden. * COM-Schnittstelle kann man im Gerätermanager nachschauen: Anschlüsse (COM & LPT); hier: COM3 * Alternative: * Python 2.7.13 unter Windows 10 installieren * Download: https://www.python.org/downloads/windows/ * Anm: Dabei wurde automatisch der System Path für Python gesetzt. * Ampy installieren * Anleitung: https://learn.adafruit.com/micropython-basics-load-files-and-run-code/install-ampy * https://github.com/adafruit/ampy * Wintaste+x; Eingabeaufforderung mit Administrator-Rechten öffnen * Anm: Ohne Admin-Rechte nicht ausprobiert * pip install adafruit-ampy * Anm: Das Programm liess sich so nicht ausführen. => siehe "Flashen" * Ampy ausführen in Eingabeaufforderung: ampy [return] bzw. ampy --help [return] * Befehle ausführen in Eingabeaufforderung: ampy --port COM3 * Anm AD: Bei ampy --port COM3 run testblink.py konnte ich die Ausführung nicht mit CRTL+C abbrechen. Abziehen des USB-Kabels half. * Flashen * esptool installieren: * in Eingabeeinforderung: pip install esptool * git verwenden oder zipdatei runterladen und entpacken; Quelle: https://github.com/espressif/esptool * ggf. Systempfad anpassen oder ins Verzeichnis wechseln, in das die esptool.py entpackt wurde (oder absoluten Pfad verwenden); * esptool.py --port COM3 erase_flash oder esptool.py -p COM3 erase_flash * Firmware runterladen von http://micropython.org/download#esp8266, z.B.: esp8266-20170108-v1.8.7.bin * esptool.py --port COM3 --baud 115200 write_flash --flash_size=detect 0 esp8266-20170108-v1.8.7.bin * Mac: * screen /dev/tty.wchusbserial1410 115200 * Verlassen mit Strg+a, Strg+k * ampy --port /dev/ttyUSB0 run testblink.py ampy --port /dev/ttyUSB0 ls esptool.py --port /dev/ttyUSB0 erase_flash esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_size=detect 0 esp8266-20170108-v1.8.7.bin * Hello World: * im Terminal mehrfach Return drücken * Python sollte sich mit ">>>" melden * print("Hello World!") * profit! * LED an und aus schalten * from machine import Pin * led = Pin(15, Pin.OUT) // rot=15 blau=13 grün=12 interne blaue LED=2 * led.high() // schaltet die LED aus (wemos D1 mini) * led.low() // schaltet die LED ein (wemos D1 mini) * LED blinken lassen per Funktion: * def singleblink(ledpin,pause): //ab hier beginnt eine Funktionsdefinition, neue Zeilen beginen automatisch mit "..." * import time * ledpin.high() * time.sleep_ms(pause) * ledpin.low() * time.sleep_ms(pause) * (3xReturn) * Funktion dauerhaft ausführen: * while 1: * singleblink(led,100) * (3xreturn) * Aufgabe: findet einen Weg ohne Änderung der Funktion, alle drei LEDs abwechselnd (oder gleichzeitig) blinken zu lassen ;) well done! Further reading: * https://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/ * https://learn.adafruit.com/building-and-running-micropython-on-the-esp8266/overview * https://pad.kreativitaet-trifft-technik.de/p/ESP8266 * Google: esp8266 micropython * Fertige Libraries für: * WiFi * DS18B20 (Temperatursensor) * DHT11(recht ungenau) /DHT22 (relativ genau) (Temperatur- und Luftfeuchtesensoren) * WS2812 (intelligente LEDs / Stripes) * Status: * Duc: * Bianca: * Klaus: * Lisa: