-
Wie arbeite ich mit Microcontrollern der AVR DB Serie?
Seit langer Zeit beschäftige ich mich mit Microcontrollern – der Einstieg war ca. 1998 mit einem Siemens(!) C167 am IMF. Seit dem hat sich viel getan – von kompizierten Entwicklerboards um 2.000 Schilling mit Entwicklungsumgebungen mit einem Dongle an der parallelen Schnittstelle um 5000 Schilling zu Arduino Boards um wenige Euro mit Freeware IDEs.
Seit einigen Jahren bastle ich mit Arduinos, speziell mit dem Pro Mini herum, hab aber immer eher in C programmiert – den Bootloader und die Infrastruktur rundherum hab ich trotzdem geschätzt. Als IDE hab ich zuerst Eclipse mit dem AVR Plugin verwendet und bin dann auf PlatformIO umgestiegen. Dabei hab ich immer den Arduino Bootloader verwendet, war einfach und zuverlässig.
Jetzt war’s Zeit, vom guten alten ATmega 328P-PU zur nächsten Microcontroller-Version zu wechseln. Die natürlichen Nachfolger sind dabei natürlich die AVR DB Controller. Die Welt hat sich natürlich weitergedreht, und die DB Serie hat sich noch nicht so weit verbreitet wie der gute alte 328er… Deshalb schreib ich mal zusammen, wie ich damit umgehe (auch die diversen KIs raten da aktuell ziemlich herum…).
Also, die DB Serie hat viele neue Möglichkeiten, die ich für meine Aufgaben recht gut gebrauchen kann. Was ich auch als großen Fortschritt empfinde, ist die Programmierung mit der relativ neuen UPDI Schnittstelle.
Das klingt kompliziert, aber es gibt das SerialUPDI von Spence Konde – eine einfache Schaltung am UART und schon geht’s los. AVRDUDE und pymcuprog unterstützen das auch gut (zumindest so weit ich das bisher ausprobiert habe…).
Die Details folgen dann in weiteren Beiträgen…
-
Was ist zu beachten, wenn man auf einem Raspberry Pi Zero 2w remote arbeiten möchte?
Dieser Tipp war gold-wert!
-
Wie ruf ich am besten Betriebssystemkommandos aus Python auf?
Ich bin grad dabei, mit einem Raspberry Pi 4 Compute Module und einer PCIe SATA Karte eine selbstgebastelte NAS zu bauen.
Ich würd gerne so wenig wie möglich Strom verbrauchen und gleichzeitig die Festplatte & den Lüfter schonen (und auch noch so wenig Staub wie möglich ins Kastl ziehen). Deshalb Lüftersteuerung je nach Temperatur und Auslastung – und weil’s so schön ist und ich schon immer mal Python lernen wollte – in Python programmiert.
Ich hab schon einen Proof-of-Concept, aber einsatzbereit ist das Ganze noch nicht. Jetzt bin ich grad dabei, mal den saubersten Weg zu finden, wie man aus Python Betriebssystembefehle aufruft.