Putty für die Programmierung auf dem Microcontroller ESP

In diesem Beitrag möchte ich dir zeigen wie du die Terminalsoftware Putty für die Programmierung auf dem Microcontroller ESP nutzen kannst.

Loggen von Temperaturwerte am ESP32 mit Putty
Loggen von Temperaturwerte am ESP32 mit Putty

Im Beitrag Flashen eines ESP8266 für MicroPython habe ich dir gezeigt wie du einen ESP8266 mit der Firmware bestückst das du diesen mit MicroPython programmieren kannst. Hier möchte ich dir nun eine alternative aufzeigen um direkt auf dem Microcontroller deinen Code zu schreiben und auszuführen. 

Was ist Putty?

Mit der Anwendung Putty kannst du auf fremde Systeme per

  • Raw,
  • Telnet,
  • Rlogin
  • SSH und
  • Serial 

zugreifen. Zum Beispiel um ein Linux System zu administrieren nutzt man SSH.

Die Software selber findest du kostenfrei unter https://www.putty.org/ in diversen Paketen. Man kann dort zbsp. zwischen einer Portablen Version welche nicht installiert werden muss und einer *.msi Installer Version wählen (ggf. werden Adminrechte benötigt). 

Oberfläche von Putty

Wenn du Putty gestartet hast findest du im rechten Bereich des Fensters die Einstellungen für die Verbindung und links die erweiterten Einstellungen. Hier könntest du zbsp. ein Proxy oder Logging konfigurieren. Wobei das Logging sehr interessant ist denn dort werden alle Befehle und ausgaben auf der Konsole in eine Datei geschrieben welche du später ggf. analysieren kannst.

Putty
Putty

Aufbau einer Verbindung zum ESP8266 mit Putty

Als erstes bauen wir eine Verbindung zum ESP8266 auf.

Für diese Verbindung benötigen wir maximal 3 Parameter:

  • Connection type – Serial
  • Host Name – COM5*
  • Speed – 115200

Der „Host Name“ ist der Port an welchem dieser Microcontroller angeschlossen ist. Auf einem Microsoft Windows System kannst mit der Tastenkombination „Windows Taste + X“ in dem Menü den „Geräte-Manager“ öffnen und dort „Anschlüsse (COM & LPT)“.

Windows Geräte-Manager - Eintrag "Anschlüsse"
Windows Geräte-Manager – Eintrag „Anschlüsse“

Hier erkennen wir nun das der Microcontroller am COM5 angeschlossen ist.

Dieser Wert kann sich ändern je nachdem in welchem USB Port du das Kabel gesteckt hast.

Wenn die Einstellungen getroffen sind können wir die Verbindung mit der Schaltfläche „Open“ öffnen.

Öffnen einer Terminalverbindung zu einem ESP mit Putty
Dieses Video ansehen auf YouTube.

Loggen von Daten mit Putty

Mit der Anwendung Putty kannst du nicht nur eine Verbindung zum ESP erstellen, sondern auch die Daten in eine Datei auf deiner Festplatte loggen. Dazu musst du in den Einstellungen unter „Session“ (1) > „Logging“ (2) dieses aktivieren (3). Als Dateiname wird dir standardmäßig „putty.log vorgeschlagen. Mit der Schaltfläche „Open“ kannst du nun eine Verbindung öffnen und alle Daten werden in eine Textdatei geloggt.

aktivieren des Session Loggings in Putty
aktivieren des Session Loggings in Putty

Diese Textdatei kannst du dir wiederum später ansehen oder aber mit dem Tool Baretail von „Metal Software“ parallel geöffnet haben.

 

Beispiel – loggen von Temperaturdaten eines ESP32 mit Putty

In diesem Beispiel zeige ich dir nun wie du die Werte eines analogen Temperatursensors LM35DZ am ESP32 in eine Datei mit Putty loggen kannst. Diesem Sensor habe ich bereits ein separaten Beitrag Programmieren mit MicroPython #3: analoger Temperatursensor LM35DZ am ESP32 gewidmet.

Für den Aufbau der Schaltung benötigst du:

  • ein ESP, zbsp. ESP32,
    • USB Datenkabel
  • ein Temperatursensor LM35DZ,
  • ein 400 Pin Breadboard, sowie
  • drei Breadboardkabel, 10cm, Stecker-Stecker
Aufbau der Schaltung, LM35DZ am ESP32
Aufbau der Schaltung, LM35DZ am ESP32

Damit der doch recht umfangreiche Quellcode nicht umständlich und vorallem flüchtig auf dem Terminalfenster eingegeben werden muss schreiben wir diesen in der Anwendung uPyCraft und speichern diese Datei auf dem ESP32. Zusätzlich öffnen wir die Datei „boot.py“ auf dem ESP32 und importieren dort unseren Code „lm35dz“ damit wird nun wenn der ESP gestartet wird sofort mit der Ausgabe der Temperaturdaten begonnnen.

Datei „lm35dz.py“

#Bibliothek zum Zugriff auf die Pins sowie dem AnalogDigitalConverter
from machine import Pin, ADC 
#Bibliothek zum Zugriff auf die Funktion sleep damit im Programm eine
#Pause eingelegt werden kann
from time import sleep

#Sensor LM35DZ am GPIO34
lm35 = ADC(Pin(34))

#starten der Endlosschleife
while(1):
  #lesen des analogen Wertes
   value = lm35.read()
   #umrechnen des analogen Wertes in die Temperatur
   temperatur = ((value/1024.0) * 3000)/10 
   #ausgeben der Temperatur auf der seriellen Schnittstelle
   print(round(temperatur/10,2), "°C")
   #eine kleine Pause von 500ms.
   sleep(0.5)

Datei „boot.py“

import lm35dz

Wenn wir beide Dateien auf dem ESP32 gespeichert haben können wir nun in Putty eine Verbindung aufbauen und die Daten werden nach dem betätigen der Resettaste im Terminalfenster ausgegeben. Des Weiteren werden diese Daten in der Datei „putty.log“ gespeichert (siehe Fenster der Anwendung Baretail). 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.