In diesem Beitrag möchte ich dir zeigen wie du die Terminalsoftware Putty für die Programmierung auf dem Microcontroller ESP nutzen kannst.
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.
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)”.
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.
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.
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
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).