ESP8266 Host Computer auf einem Mac oder Windows PC einrichten

Bedingt durch den Umstand das die ESP8266 Firmware Linux basierend ist liest man häufig den Hinweis es Bedarf einer Linux / Ubuntu Umgebung um ein Host System für einen ESP8266 zu betreiben. Zwar ist ein entsprechendes virtuelles Linux System mit Hilfe von VirtualBox in Minuten eingerichtet, allerdings bedarf es dem nur für entsprechend tiefgründigen Einsatz.  Zu Beginn bedarf es je nach Betriebssystem etwas mehr oder weniger Aufwand, es empfiehlt sich allerdings das Host System in seiner gewohnten Umgebung aufzusetzen und zu betreiben. Da der ESP8266 über die integrierte serielle UART Schnittstelle beschrieben wird bedarf es einem entsprechenden USB TTL Konverter. Zur Einrichtung auf den ESP8266 es hierzu lediglich 2 Schritte:

  1. Den Treiber für den jeweiligen USB TTL Konverter installieren um eine serielle Verbindung mit dem ESP8266 herzustellen.
  2. Je nach Betriebssystem die entsprechende Software installieren um über den USB TTL Konverter den ESP8266 mit der Firmware zu beschreiben.

ESP8266 Host auf einem Windows Computer einrichten

ESP8266 unter Windows einrichten
ESP8266 unter Windows einrichten

Im Vergleich zu Mac OSX gibt es für Windows Systeme bereits einige Werkzeuge sodass man innerhalb weniger Minuten einen Windows Computer für einen ESP8266 einrichtet.

  1. USB TTL Treiber Installation:
    Im Vorfeld sollte zunächst der Treiber des jeweiligen USB TTL Konverter installiert werden. Insofern es sich bei dem USB TTL Konverter um den CH340 handelt kann der benötigte hier runter geladen werden CH340G USB TTL Converter Windows Driver von Windows 7 bis Windows 10 (4248 Downloads) . Bei anderen USB TTL Konvertern bitte mittels Internetrecherche den passenden Treiber suchen und Installation durchführen.
  2. Adresse der Schnittstelle ausfindig machen (nur insofern im Weiteren der ESP8266 mit Python geflasht werden soll):
    Nach erfolgreicher Installation muss nun in der Systemsteuerung im Geräte-Manager die Adresse des USB TTL Konverter ausfindig gemacht werden. Hierzu im Geräte-Manager auf Anschlüsse (COM & LPT) klicken.
  3. Den NodeMCU – Flasher für 64bit Windows Systeme hier downloaden, bzw. für 32bit Windows System hier downloaden und installieren.

Das Windows Host System ist nun zum Flashen / Beschreiben eingerichtet.

ESP8266 Host auf einem Mac OS X System einrichten

Leider ist der Aufwand beim Einrichten eines ESP8266 auf einem Mac OS X Host etwas aufwendiger. Zum Einen sind nur noch wenige USB TTL Konverter ab OS X 10.9 lauffähig und zum Anderen muss die Firmware mittels Terminal auf einen ESP8266 geflasht / geschrieben werden. Aus praktischer Erfahrung können bedingt durch die geänderte KEXT Signierung ab OS X 10.9 nur noch folgende USB TTL Konverter betrieben werden:

  • Der CH340 USB TTL Konverter läuft auf allen OS X Versionen bis 10.11 El Capitan.
  • Zwar ist ab Version OS X 10.10 der Treiber für einen FTDI USB TTL Konverter bereits installiert, es werden dennoch häufig Probleme berichtet
  • Der Prolific PL2303HX ist ab Version OS X 10.9 lediglich mit Treibern von Drittanbietern lauffähig
  1. USB TTL Konverter Treiber downloaden:
    Insofern der CH340 USB TTL Konverter betrieben wird kann der  CH340G USB TTL Converter MAC OSX Driver (1167 Downloads) hier gedownloadet werden. Bei anderen USB TTL Konvertern bitte mittels Internetrecherche den passenden Treiber suchen.
  2. ESP8266 unter OS X einrichten
    ESP8266 unter OS X einrichten

    USB TTL Konverter auf Mac OS X installieren:
    Da Apple ab Version 10.8 nur standardmässig nur noch signierte Treiber Kext (Kernel Extension) zulässt muss das CH34x_Install Paket mittels Rechtsklick unter dem Menüpunkt Öffnen mit und dort Installationsprogramm.app geöffnet werden. Da der CH340 Treiber über keine Apple Signierung verfügt wird ein Sicherheitsdialog aufgerufen. Den Sicherheitsdialog zur Installation des Treibers entsprechend bestätigen, sodass der Treiber entsprechend installiert wird.

  3. Überprüfung der USB TTL Konverter Treiberinstallation:
    Die erfolgreiche Treiberinstallation muss mittels Terminal überprüft werden.
    BITTE BEACHTEN: Bei manchen OS X Systemen muss der USB TTL Konverter angesteckt, abgesteckt und wieder angesteckt werden bis der USB TTL Konverter erkannt wird. Im Weiteren muss nun Terminal, zu finden unter
    Launchpad →Andere→Terminal
    aufgerufen werden.
    Im Terminal muss nun folgende Zeile eingegeben (oder kopieren und einfügen) eingegeben werden
ls -l  /dev/tty.*

und mittels Drücken der Taste ↵ (enter) ausgeführt werden.

Wurde der Treiber des USB TTL Konverter erfolgreich installiert erfolgt beispielsweise folgendeRückgabe:

crw-rw-rw-  1 root  wheel   14,   0  2 Sep 13:35 /dev/tty.Bluetooth-Incoming-Port 
crw-rw-rw- 1 root wheel 14, 2 5 Sep 12:18 /dev/tty.wchusbserialfd3110

Typischerweise muss wie im obigen Beispiel eine ähnliche Ausgabe wie im vorgenannten Beispiel erfolgen /dev/tty.XXXXXserialxxx. Erfolgt hier keine entsprechende Ausgabe empfiehlt sich ein Neustart durchzuführen, mit eingestecktem USB TTL Konverter und erneut mittels vorgenannter Überprüfung mittels Terminal zu prüfen ob der USB TTL Konverter nun erkannt wurde.

Sollte die Treiberinstallation gänzlich fehlgeschlagen sein bitte hier

für OS X vor 10.10 

für OS X ab 10.10

nachzulesen.

Derzeit gibt es „noch“ kein Programm, ähnlich dem NodeMCU-Flasher für Mac OS X. Diesbezüglich erfolgt das Beschreiben / Flashen eines ESP8266 auf einem Mac mittels Python.

Python auf Mac OS X ausführen / einrichten

Python 2.7. ist bereits im OS X enthalten, jedoch müssen hier noch entsprechende Änderungen durchgeführt werden um Python zum Beschreiben eines ESP8266 nutzen zu können. Zur Erläuterung, Python ist ein Programm das mittels Aufruf innerhalb des Terminals ausgeführt wird. Je nach Anwendung werden neben Python selbst verschiedene Paket, wie hier pyserial sowie das esptool benötigt.

Die Standardinstallation von Python unter OS X verwendet allerdings andere Umgebungsvariablen als die normale Installation von Python 2.7. Das hat zur Folge das benötigte Pythonpakete nicht gefunden werden können.

Hierbei gibt es nun mehrere Möglichkeiten diesen Umstand zu beheben:

  1. Die Python Umgebungsvariable entsprechend anpassen.
  2. Python 2.7. nochmal zu installieren
  3. Benötigte Pakete in das Ausführungsverzeichnis legen

Der Einfachheit wegen aber auch um entsprechende Risiken zu vermeiden empfiehlt sich zunächst die Lösung 3. Bedingt durch Änderung der Umgebungsvariablen Pythonpath, oder eine zweite Installation können Probleme bei der Ausführung anderer Programme auftreten, hierzu empfiehlt es sich die Internetsuche zu beanspruchen.

Im Weiteren muss nun noch Python durch die hier beschriebenen Schritte entsprechend lauffähig gemacht werden.