Change language

Zuletzt besucht

Ausgewählte Projekte

Web Applikationen

Links

Andere Projekte

Meta

Den ESP8266 über einen Teensy3.1 steuern

Jan 2015

In diesem Tutorial zeige ich dir wie man den Teensy3.1 als Interface zwischen dem ESP8266 Wi-Fi Modul und einem Mac einsetzt. Auch wenn dieses Tutorial einen Mac verwendet, wird es auf jedem Betriebssystem funktionieren. Man muss nur ein anderes Programm benutzen, um die serielle Schnittstelle anzusprechen. Auf Mac wird das eingebaute 'screen' command-line-tool verwendet.
Der Teensy3.1 ist als Mittelmann zwischen ESP und PC gut geeignet, da er mehr als einen UART Port hat. Dies ist für alle Teensy Versionen wahr, jedoch werden nur 3.0 und 3.1 ohne zusätzliche Bauteile funktionieren, da die vorherigen alle 5V Signale besitzen, unser ESP8266 jedoch nur 3.3V verträgt. Ein UART Port wird zur Programmierung des Teensy und Kommunikation mit dem Computer, der andere zum Ansprechen des ESP verwendet.
Eine schöne Eigenschaft des Teensy ist, dass er wie ein Arduino programmiert werden kann, sogar in der gleichen Software-Umgebung. Es muss nur ein Plug-In installiert werden.

Der Teensy 3.1 - OSHpark Version (normalerweise ist es ein grünes Board).

Das Teensy Programm

Dies ist die grundlegende Funktionsweise der Firmware:

Die Makrofunktion ist der Grund, wieso dieses Teensy-Interface effizienter ist als ein alleinstehendes serielles Interface. Mit Makros kann man Routinen automatisieren, die sonst getippt werden müssten. Ein Anwendungsfall ist das Verbinden mit einem Wi-Fi Access Point.
Der Code befindet sich in einem Github Repositorium. Klicke hier um weitergeleitet zu werden.
Am Ende jeder Zeile muss man nur die Enter-Taste drücken. Ohne Interface müsste man zusätzlich ein 'newline' Zeichen senden (CTRL+J). Das Programm ergänzt es automatisch.

Aufsetzen des 'screen' Tools

Der einfachste Weg irgendetwas über eine serielle Schnittstelle auf Mac anzusprechen ist mit dem 'screen' Command-line Tool. Um es zu konfigurieren, schließe den Teensy and den Computer an, mit der Firmware schon darauf geladen. Am besten sollte der Teensy das einzige USB-Gerät sein, dass gerade angeschlossen ist. Nun öffne den Terminal und tippe "screen /dev/tty.usb" ein und drücke danach die Tab Taste. Der Befehl sollte sich automatisch vervollständigen zu etwas wie "screen /dev/tty.usbmodem453811". Drücke nun Enter. Wenn du ein schwarzes Fenster mit einem weißen, rechteckigen Cursor erhältst, dann hast du alles richtiggemacht.
Um zu testen, ob das Programm richtig funktioniert, schließe die RX1 und TX1 Pins des Teensy kurz und tippe etwas in das Terminal. Wenn die Zeichen wieder auf dem Bildschirm erscheinen läuft alles nach Plan.

Anschließen des ESP8266

Nun werden wir den ESP8266 an den Teensy anschließen (du kannst den Teensy an den PC angeschlossen lassen solange du vorsichtig bist).

  1. Ziehe den CH_PD des ESP auf 3.3V mit einem 10k Widerstand.
  2. Verbinde den RX Pin des ESP8266 mit dem TX1 Pin des Teensy.
  3. Verbinde den TX Pin des ESP8266 mit dem RX1 Pin des Teensy.
  4. Gebe dem ESP8266 seine eigene 3.3V Stromversorgung, da er 300mA ziehen kann. Die regulierten 3.3V des Teensy können nur 100mA zur Verfügung stellen.

Wenn dein Terminal-Fenster nun eine zufällige Zeichenfolge ausspuckt, gefolgt mit einem 'Ready', dann läuft alles wie am Schnürchen. Wenn nicht, schalte den ESP aus und wieder an.
Wenn du trotzdem nichts erhältst:

  1. Überprüfe die Verkabelung.
  2. Ändere die Baud-Rate mit der Teensy den ESP anspricht. Probiere 56700 und 115200.
  3. Wenn nichts geholfen hat, schreibe mir eine E-Mail, vielleicht kann ich weiterhelfen.
Meine Verdrahtung, klicke um zu vergrößern.