Archiv des Autors: admin

Mal was Neues: SCRATCH

Vor einigen Wochen stieß ich in meiner Rolle als Opa auf die Programmiersprache “Scratch” für Kinder und Jugendliche. Teilweise fand ich dabei auch den Begriff “spielerisch” und Altersangaben ab 4, aber eher ab 8 Jahren. Eine Alters-Obergrenze gab es nicht. Also habe ich mir mal “Scratch” angesehen.

Man findet Scratch über die Seite “scratch.mit.edu“, wobei der Name schon auf den Urheber zeigt. Die “Lifelong Kindergarten Group” am Massachusetts Institute of Technology. Sieht nach einer ordentlichen Quelle aus. Benutzen kann man Scratch via Browser (also ohne Installation, aber eventuell mit Anmeldung), oder als installierte App auf dem PC. Ich habe beides ausprobiert.

Das Logo:
und die Hauptfigur:

Mit Scratch kann man interaktiv Spiele mit Bewegung programmieren und dann auch direkt spielen. Davor habe ich mich eigentlich nie richtig mit der Programmierung von Spielen am PC beschäftigt.

Die Sprachsyntax von Scratch besteht aus Blöcken, die man zu einem Programm/Script zusammenschieben kann. Die speziellen Passformen verhindern von
vornherein gravierende Syntaxfehler. Dazu kommt noch eine farbliche Unterscheidung der Blocktypen (Steuerung, Bewegung, Ereignisse etc.).

Es gibt im Spiel Figuren, die man bewegen kann. Es gibt die Möglichkeit, Figuren zu verändern (Kostüme). Und es gibt Hintergrundbilder, die man auch beeinflussen kann.

Am Besten probiert man es einmal selbst aus. Oder man sieht sich mein sehr einfaches Projekt an: https://scratch.mit.edu/projects/1151304205. Dort kann man auch den Code sehen und diesen ohne Gefahr temporär verändern.

Scratch verbirgt sich auch hinter dem “Programmieren mit der Maus” des WDR.

Es gibt auch ein gutes Buch zu dem Thema:
Michael Weigend, Programmieren lernen mit Scratch – So einfach!
Für Kinder und Erwachsene ab 10 Jahre, Verlag: MITP, ISBN: 9783747504406

Hilfe findet man in der Anwendung selbst und in einem deutschsprachigen WiKi: “https://de.scratch-wiki.info

Ich finde zwei Erweiterungen nützlich: “Text zu Sprache” und “Malstift”.

PS: Man kann auch mit Python und der Python-Bibliothek PyGame ähnliche Spiele programmieren. Ich habe das mal probiert, aber es macht mehr Arbeit und weniger Spaß.

Optische Entfernungsmessung mit einem VL53L0X

Beim Durchblättern der Zeitschriften c’t fand ich das Stichwort “ToF”-Sensor (ToF = Time of Flight). Meine technische Neugier war gepackt.

Warum: In Verbindung mit Licht handelt es sich bei 15 cm Entfernung wohl um eine Flugzeit des Lichtstrahls von 10-9 Sekunden (Hin- und Rückweg). Das klingt schon interessant und herausfordernd. Und es gibt für den ESP32 brauchbare Sensoren für wenige Euro. Der gängigste Typ ist wohl der VL53L0X der Firma STMicroelectronics auf einem bequemen Break-Out-Board für den I2C-Bus. Treiber für mein MicroPython existieren auch.

Also bestellt, ein paar Tage gewartet und das Teil kam an.

Treiber installiert, das BreakOut montiert, die 4 erforderlichen Drähte richtig verbunden und dann via Micropython eine Messung veranlasst. Und geantwortet hat das Ding mit einer Zahl, der Entfernung in Millimeter. Toll.

Der Sensor hat ungefähr einen Arbeitswinkel von 20°. In diesem Bereich kann man dann mit einer Handbewegung leicht neue Objekte generieren. Der gemessene Entfernungsbereich geht von 50 bis ca.350 mm. Dem ersten Anschein nach scheint das auch ungefähr zu stimmen. Zwanzig Messungen pro Sekunden sind locker möglich, also bekommt man auch schnellere Bewegungen mit.

Aber bei der Frage, mit welchen “Tricks” die Laufzeit gemessen wird, bin ich noch nicht richtig weitergekommen. Gefundene Stichworte: Laser, Infrarot, Modulation, Phasenverschiebung, analoge Elemente, SPAD, Kalibrierung …. Nanosekunden sind herausfordernd.

Oxocard science + (ESP32)

Seit einigen Tagen besitze ich auch eine “Oxocard Science+ Gold Edition” von der Firma “Oxon AG” in der Schweiz. Einen kleinen “Bildungscomputer” für den Schulbereich.

Das ist ein ESP32 mit WLAN fertig mit vielen Sensoren bestückt. Ein Farbdisplay hat das Ding auch. Programmiert wird das Ding über eine Sprache “Nanopython”, ein sehr stark abgespecktes Python. Die Entwicklung geschieht im WLAN über einen Editor / Compiler. Macht einen sehr ordentlichen und auch optisch schönen Eindruck.

Hier die tabellarische Darstellung von Oxon:

Interessant war für mich der ToF-Sensor, der Entfernungen durch die Messung der Lichtlaufzeit ermittelt.

Auf dem Gerät befinden sich auch fertige Programme, die man auch selbst verändern bzw. ergänzen kann.

Also ein tolles Teil, wenn man nicht selbst löten bzw. Bauteile stecken will.

Der Hersteller empfiehlt es für die Altersklasse 14 – 99, da falle ich ja gut drunter. Allerdings würde sich die Altersklasse Ü60 sicherlich über eine gedruckte Kurzanleitung freuen.

Ich habe im Rahmen einer Sonderaktion 89 Euro gezahlt. Angesichts der Sensoren ein guter Preis.

Mein RSS Feed

Die letzten Tage habe ich mich etwas mit dem Thema “RSS feed” beschäftigen dürfen. Und da mein WordPress-Blog ja ohne mein Zutun einen RSS-feed anbietet, habe ich den auch jetzt mal abonniert.

Als “Leser” verwende ich mein Email-Programm “Thunderbird”. Das Problem war die korrekte Adresse: "https://dressler-hassloch.de/?feed=rss2" führte zum Erfolg. Die Adresse wird auf meinem Block unter den Metadaten angezeigt.

Der Vorteil: Der RSS-feed scheint aus Sicht eines Datenschützers eine gute datensparsame Informationstechnik zu sein. Als Anbieter eines Blocks muss ich so keine Liste von Abonennten aufbauen und pflegen. Trotzdem können sich Interessenten mehr oder weniger bequem mit immer aktuellen Informationen versorgen.

Der übliche Weg geht wohl bei solchen Fragestellungen heute über einen Link zu einer Facebook-Seite und dort über den Button “folgen”. Oder ähnliche Wege mit anderen Plattformen. Vielleicht probiere ich das auch einmal aus.

Das Storchenjahr 2024

Begonnen hat es im Februar, und Mitte März waren eigentlich alle Nester besetzt.

Die Bruterfolge waren wohl geringer als im letzten Jahr. Der April war schon sehr feucht und der Mai war richtig nass mit richtigem Starkregen. Die Temperaturen waren eher normal. Es gab auch späte Ausfälle.

Wegen der Nässe bin ich aber auch weniger geradelt, insbesondere die versteckt liegenden Nester an schlechten Wegstrecken habe ich deshalb vernachlässigt.

Das Nest “Geinsheim / B39” ist verschwunden. Hier ist während der Brut der besiedelte Baum umgekippt.

Aber es bleiben immer noch 50 Jungvögel, gar kein so schlechtes Ergebnis für die verregneten Monate.

Und hier der Hinweis auf meine private Storchenkarte.

Versuche mit LoRaWAN und dem TrackerD

Ursprünglich hatte ich vor, mit meinem ESP32 einige Versuche im LoRaWAN zu unternehmen. Da bei uns die Abdeckung mit LoRaWAN-Gateways nicht gegeben ist, legte ich mir einen fertigen mobilen LoRaWAN- Tracker, den “TrackerD” von Dragino zu. Den kann ich ab und zu einmal in das Gebiet eines aktiven Gateways mitnehmen.

Das Gerät hat fest voreingestellt IDs, und so konnte ich im “TheThingsNetwork.org” ein Konto anlegen, darüber dann eine Applikation anlegen und meinen Tracker dort einbinden. Die notwendigen Daten konnte ich einfach übernehmen,und mein Tracker zeigte sich dann auch (im Bereich eines aktiven Gateways) in meiner Application.

Ich konnte auch den “payload formatter” installieren und konnte somit echte lesbare Koordinaten im Livestream mitlesen.

Allerdings kann ich noch nicht richtig mit meinem Tracker kommunizieren. Der Download via LoRaWAN bringt nicht immer die gewünschten Ergebnisse, der Alarmknopf macht auch nicht unbedingt das, was ich erwarte. Und ein Kontakt via der USB-Schnittstelle zu einem seriellen Terminalprogramm gelang mir bis jetzt auch nur einmal. Meistens erkennt der Gerätemanager von Windows den COM-Port im USB nicht. Ich habe fast das Gefühl, der Tracker wäre total verstellt.

Hier mal mein Ziel: Ich möchte mit dem Tracker alle 15 Minuten Nachrichten senden, die die Position, Temperatur, Feuchtigkeit und den Akkustand enthalten. Aber wie schaltet man den Tracker aus? Und wie dann am besten wieder ein, einen RESET-Knopf hat er ja immerhin. Und was kann ich mit dem Notfallknopf eigentlich anfangen?

Die Daten würde ich gerne via MQTT zu thingspeak weiterleiten. Dort sind schon die Daten von meinem ESP32.

Da ich keine für mich sinnvolle Beschreibung zu dem Tracker gefunden habe, stelle ich meine Versuche zum Thema LoRaWAN ein. Der Tracker wandert in meine Gerätekiste.

Die Situation könnte sich ändern, wenn ich jemand mit gleichem Interesse finden würde.

Radtour im Dreiländereck (L, B, D) 2023

DIE TEXTE FOLGEN NOCH!

Los ging es mit 23 Radlern bei Pfadt-Reisen in Germersheim. Der Bus brachte uns über den Hunsrück und Trier nach Wasserbillig in Luxemburg. Direkt an der Einmündung der Sauer in die Mosel luden wir unsere Räder aus dem Anhänger, stärkten uns aber vor dem Start erst einmal mit einem Picknick am Bus. Unser “Mittagessen” gab es immer nur als Picknick, da immer weniger Gaststätten im ländlichen Raum mittags geöffnet haben.

In Wasserbillig kam auch unser Radreiseleiter zu unserer Gruppe. Er war nicht allein, sondern brachte für “Trainingszwecke” sein ganzes Team mit. Somit hatten wir auch eine professionelle “Schlussfrau” und mussten uns nicht jedesmal vor dem Start die Frage”wer fährt heute hinten?” anhören und beantworten.

IEs waren nur 4 normale Räder am Start, alle anderen Mitfahrer setzten auf die sanfte Unterstützung des E-Motors. Auch ich war das erste mal mit einem E-Bike dabei.

Die erste Etappe führte direkt an der Sauer entlang gen Norden. Auf unserer Seite Luxemburg, auf der anderen Seite der Sauer Deutschland. Der Radweg war sehr gut ausgebaut. Uns begegneten viele Radfahrer, vielleicht fährt man eher Sauer abwärts? In Echternach hatten wir dann Zeit für einen Stadtrundgang und einen Blick in die Basilika, bevor wir uns dann zum Tagesziel Berdorf wieder auf die Fahrräder setzten. Bis zum Ziel waren dann noch 200 Höhenmeter zu überwinden …..

Das Storchenjahr 2023

Auch in diesem Jahr will ich meine Beobachtungen per Rad und mit dem Fernglas fortsetzen.

Zunächst will ich mir ansehen, ob alle Nester gut über den Winter gekommen sind. Und ich will mir die etwas unklare Nestsituation am Kindelsbrunnen mal in Ruhe vor der Belaubung betrachten. Meine Storchenkarte wird weiterhin gepflegt.

Meinen ersten Storch sah ich am 11.2. auf dem Nest in Böhl-Iggelheim an der Ecke Schulstraße / Kirchenstraße. Er sah noch recht zersaust aus. Die Temperaturen der letzten Tage lagen bei knapp über Null, nachts war es noch frostig.

Ende März habe ich über 30 Nester in meinem Gebiet gesehen und auf mindestens 25 wird auch gebrütet. 2 neue Nester habe ich an den Königswiesen (Haßloch/Geinsheim) gefunden, ein neues Nest in Duttweiler. Die Situation in Gommersheim und am Kindelsbrunnen ist mir noch unklar. Anfang April haben wir noch Nachtfröste und tagsüber unter 10°.

Das Frühjahr verlief gut. Ich zähle 32 Nester mit 86 Jungen. Unwetter und Verluste gab es nicht. Ende Juni flattert man, hüpft und guckt in den Abgrund. Und Anfang Juli fliegt man los.

ESP32 (WiFi, OLED)

Über mein Interesse für Funk-Wetterstationen kam ich zu einem ESP32 Microcontroller mit WiFi-Fähigkeiten auf einem kompakten Entwicklerboard von Heltec (WiFi kit 32). Kaufpreis unter 30 Euro incl. dem OLED-Display (0,9″). Abmessung des Boards insgesamt ca. 50mm x 25mm

Das wichtigste auf dem Board ist natürlich der ESP32 mit ca. 500KB RAM, 4MB Flash-Speicher. Dann kommen verschiedene externe Bauteile dazu, der USB-Anschluss, 2 Taster (Reset, Prog), eine LED und das OLED-Mini-Display. Natürlich auch eine winzige Antenne und eben die GPIOs. Das ist deutlich mehr als mein Arduino hatte.

Als erstes bekam das Board von einem Freund seine Pfosten angelötet, dann kam es auf ein kleines Breadboard (Steckbrett) mit ausreichend Kontakten zum bequemen experimentieren. Dort ist es noch heute.

So sieht meine spartanische Experimentierumgebung heute aus: als Unterbau das Breadboard mit seinen vielen Löchern, darauf steckt des “Wifi-Kit” mit seinem Display, darauf links meine 3 Lämpchen und links oben der BME680. Rechts das dicke schwarze Kabel ist der USB-Anschluss, links ist das orange Antennen-Schwänzchen und unten der blaue Draht ist mein Kontaktsensor. Alles in Breadboard-Technik ohne Löten.

Der “nackte” ESP32 hat wohl nur einen besseren Bootloader, alles andere bekommt er von einer passenden Entwicklungsumgebung. Eine ist angelehnt an den Arduino, die andere nennt sich “MicroPython” und ist so eine Art Mini-Betriebssystem mit einem abgespeckten Python-Interpreter und einem Dateisystem auf dem Flash-Speicher, welches man von einer geeigneten Entwicklungsumgebung auf den ESP32 installiert. Als Entwicklungsystem auf dem PC empfiehlt sich Thonny. Ich habe mich für die MicroPython-Umgebung entschieden.

Erkundet habe ich das System mit einem Youtube-Kurs “Der Hobbyelektroniker / ESP32“, der viele gut gemachte Beiträge zum Thema “MicroPython” und “ESP32” anbietet. Zusätzlich gab es eine Doku mit den Python-Codes. Am Anfang bin ich auch brav dem Kurs gefolgt, später habe ich etwas freier gearbeitet.

Mein erstes Projekt dient dazu, mich mit dem ESP32, dem MicroPython und Thonny anzufreunden. “print” und “input” wurden ausprobiert. Dann programmierte ich ein bischen mit dem Timer, der eingebauten LED und dem eingebauten Taster. Blinken tat es schon mal. Ich konnte auch den Taster durch einen “kapazitiven” Draht ersetzen. Danach kamen das OLED-Display und meine vorhandenen Neopixel-Lämpchen hinzu. Das belegte dann schon einige Pins auf dem Breadboard. Die Anfänge einer sich fortschreibenden log-Datei auf dem Flash-Speicher wurden auch realisiert.

Im zweiten Projekt ging es dann um den Umweltsensor “BME680” (Preis ca. 25 Euro), der Temperatur, Feuchtigkeit, Luftdruck und einen “Gütewert der Luft” misst. Das Programm schreibt diese Daten kontinuierlich in eine Datei und zeigt die Daten auch auf dem Display an. Zusätzlich ist auch das Internet via WLAN aktiviert, um von einem Zeitserver die UTC-Zeit zu beziehen. Hier macht dann auch das Festlegen eines Python-Programms als Auto-Start-Programm Sinn. Dann kann man auch ohne PC messen und aufzeichnen. Die Stromversorgung erfolgt über ein USB-Ladegerät, meine Powerbank funktionierte nicht, die schaltet bei so geringen Strömen einfach ab.

Die Daten konnte ich dann zeitversetzt auf den PC übertragen und mit Jupyter / Pandas bequem visualisieren bzw. auswerten.

Im 3. Projekt wollte ich die Daten des BME680 im Web (im lokalen IP-Bereich hinter der Fritz-Box) anzeigen, also einen kleinen Web-Server auf dem ESP32 laufen lassen. Dank der vorhandenen Libraries war das kein Problem.

Allerdings ist das WLAN anscheinend sehr instabil, mit einem Stückchen Draht als Antennenverstärkung funktionierte es meist besser. Manchmal scheitert schon die Verbindung zum Netzwerk, manchmal liefert der Ping extrem unterschiedliche Ergebnisse. Auch unser Fritz-Mesh-WLAN scheint störend.

Das 4. Projekt war nicht so typisch für den ESP32, sondern eher Python allgemein. Ich wollte per API-Zugang die aktuellen Wetterdaten für Haßloch aus dem Web beziehen und dann via ESP32 anzeigen. Dazu habe ich mir bei “OpenWeatherMap.org” ein (kostenloses) Benutzerkonto angelegt. Dann bekam ich einen API-Key, der mich zum Bezug der Daten berechtigt. Nebenbei lernte ich so auch das Datenformat JSON kennen. Und sehe immer, wie warm es aktuell in Haßloch ist ….

Das 5. Projekt erlaubt die Fernsteuerung von LED-Lämpchen auf dem ESP32 von einem beliebigen Browser aus via WLAN. Auf dem ESP32 läuft ein kleiner Web-Server mit Aus- und Eingabemöglichkeiten. Also eher eine allgemeine Web-Anwendung in Python.

Zur Hardwareausrüstung des ESP32 kam noch ein Fotosensor (LDR), der durch einen Spannungsabfall die Helligkeit anzeigt. Dann noch eine rote externe LED und ein “passiver” Buzzer, dem man per PWM-Funktion die Höhe des zu erzeugenden Tons vorgibt. Der einfache Fotosensor wurde mittlerweile durch ein TEMT6000 ersetzt.

Anfang 2023 habe ich das Heltec-Board “WiFi kit 32” durch ein Heltec “LoRa 32” ersetzt. Das hat eine kleine Wendelantenne für das WiFi und erzeugt damit ein deutlich besseres Signal. Der dort verbaute ESP32 S3 hat allerdings eine etwas andere Pinbelegung und deswegen waren einige Änderungen in meinen Python-Programmen nötig.

Die Beschäftigung mit BlueTooth / BLE hat mir nicht viel gebracht. Ich konnte BLE-Geräte in der Umgebung erkennen und konnte via BLE auch gesehen werden. Ein- und Ausschalten eines Lämpchens hat auch funktioniert. Meine Gegenstation war die “nRF Connect”-App von Nordic auf meinem Smartphone.

Mit dem LoRa-Teil habe ich mich noch nicht beschäftigt. Die speziell für LoRa notwendige Antenne ist aber schon im Kit vorhanden.