Programmieren des ESP8266 unter MacOS

Auf Chinesischen Webseiten und auch auf eBay findet man viele billige Module auf Basis des ESP8266. Sie sind recht leistungsfähig und haben bereits ein WLAN-Interface integriert. Für Schaltungen, die extrem wenig Strom verbrauchen sollen, ist dieser Chip zwar nicht ideal, aber dennoch ist es eine gute und günstige Plattform für Sensorapplikationen und kleine Steuerungen. Was die Module noch attraktiver machen: Sie können direkt unter Arduino programmiert werden. Diese Anleitung zeigt, wie man die Arduino-IDE für diesen Chip unter MacOS einrichtet.

Installation der Arduino Entwicklungsumgebung

Die Arduino IDE kann direkt von der Arduino Webseite heruntergeladen werden.

Anschliessen des ESP8266 modules am Mac über USB

Viele ESP8266 modules werden schon mit einem onboard USB-Anschluss ausgeliefert. In diesem Falle muss das Board einfach nur mit einem USB-Kabel mit dem Mac verbunden werden.
Achtung: Manche Module haben zwar einen USB-Anschluss, dieser wird aber nur für die Stromversorgung genutzt. In diesem Fall wird ein externer USB-Seriell-Wandler benötigt.

Prüfen, ob die Hardware erkannt wurde

Unter “Über diesen Mac” gelangt man zu “System report”
systemreport

Hier sollte man jetzt ein USB2.0 Serial Gerät finden. usbserial

Treiberinstallation

Wenn denkt, alles ist bereit und die Arduino IDE startet, so kann man dort ein Gerät namens /dev/cu.usbmodem147741 als serielle Schnittstelle auswählen (die Ziffern hinter usbmoden können anders sein). Wenn man jetzt allerdings versucht, über diese Schnittstelle mit dem Controller zu kommunizieren,  passiert nichts. MacOS erkennt zwar, dass es sich um einen USB-Seriell-Adapter handelt, hat aber die entsprechenden Treiber nicht standardmässig dabei. Der Treiber ist oft ein billiger CH340G, da viele Firmen diesen dem deutlich teureren FTDI chip vorziehen. Die Installation des Treibers ist allerdings einfach. Man kann ihn hier herunterladen und installieren. Nach einem Neustart des Systems sollte die Arduino-Entwicklungsumgebung nun ein Gerät namens /dev/wvhusbserial14460 anbieten. Dieses kann jezt genutzt werden, um mit dem Board zu kommunizieren.

Installation der ESP8266 Module für die Arduino IDE

Da es sich bei den ESP8266-Boards nicht um “offizielle” Arduino-Boards handelt, sind die entsprechende benötigten Bibliotheken nicht in der Arduinio-Standardsoftware enthalten. Um die Treiber zu installieren, gibt man die URL http://arduino.esp8266.com/versions/2.2.0/package_esp8266com_index.json in den Einstellungen unter “Additional board managers” ein.

arduino-settings

Jetzt kann man unter “Tools/Board/Board Manager” and die ESP8266 module unter “Contributed” finden und installieren.

espcontrib

Das war’s schon. Alles ist installiert und es kann losgehen mit der Programmierung einen coolen kleinen IoT-Gerätes.

Falls der Upload der Software über die Arduino IDE nicht klappt, ist das Programm esptool.py eine gute Alternative. Es scheint in vielen Fällen besser zu funktionieren als der Uploader in der Arduino IDE. Es lässt sich zwar nicht einfach in die IDE integrieren, allerdings sind die Kommandozeilenparameter nicht kompliziert und man kann das Program einfach direkt aus einem Terminalfenster starten.