Hack’in holidays

Die­se Woche sind in Baden-Würt­tem­berg Schul­fe­ri­en, und auch der Par­la­ments­be­trieb läuft etwas lang­sa­mer – des­we­gen hat­te ich vier Tage frei. Wie es sich so erge­ben hat, war ich an die­sen vier Tagen vor allem mit Tech­nik­krams beschäftigt.

1. Digital Independence Day rückt näher

Einer mei­ner pri­va­ten Rech­ner läuft aus Grün­den noch unter Win­dows 11 (der ande­re unter Linux Mint). Das inte­griert inzwi­schen One­dri­ve tief ins Sys­tem, und ja, irgend­wie ist es auch ganz prak­tisch, so eine Cloud, bei der ich dann auch in Ess­lin­gen (auf dem Linux-Rech­ner) auf Datei­en zugrei­fen kann, die hier in Gun­del­fin­gen „lie­gen“. Aber mir gefällt weder die per­spek­ti­vi­sche KI-Inte­gra­ti­on noch der Cloud-Zwang noch die Rich­tung, in die Micro­soft sich ent­wi­ckelt. Inso­fern habe ich die Feri­en­ta­ge genutzt, mei­ne Daten und Bil­der in eine eige­ne mana­ged Next­cloud zu ver­schie­ben. Das hat recht gut funk­tio­niert (auch wenn’s ein paar Stun­den gedau­ert hat), bis …

2. Nextcloud Desktop Client macht Sachen

… der Next­cloud Desk­top Cli­ent sich heu­te auf die aktu­el­le Ver­si­on 35.x aktua­li­sie­ren woll­te. Bzw. auto­ma­tisch aktua­li­siert hat. Was dann dazu führ­te, dass der Desk­top Cli­ent nicht mehr star­te­te und die Dateisystemintegration/Synchronisation erst­mal stopp­te (wie hier von jemand ande­rem beschrie­ben). Work­around: deinstal­lie­ren, 34.x instal­lie­ren und das auto­ma­ti­sche Update aus­schal­ten. Dann ging’s wieder.

3. Alternativen zu Evernote?

Der Next­cloud-Bug war beson­ders ärger­lich, weil ich mich auch hin­ge­setzt habe, und mei­ne umfang­rei­ches Ever­no­te-Archiv (größ­ten­teils ein­ge­scann­tes Zeug, Ord­ner aus drei­ßig Jah­ren usw.) expor­tiert habe. Das geht bei Ever­no­te nur Notiz­buch für Notiz­buch, und eine Syn­chro­ni­sa­ti­on muss hän­disch vor­ge­nom­men wer­den. Ten­den­zi­ell will ich weg von Ever­no­te, nicht nur wegen dem Eigen­tü­mer­wech­sel hin zu Ben­ding Spoons, son­dern auch, weil mir da inzwi­schen zu vie­le Extra-Fea­tures (mit KI) etc. auf­ge­taucht sind. Gleich­zei­tig ist’s bequem, weil a. Cloud und von über­all her zugreif­bar und b. ich einen ganz guten Work­flow eta­bliert habe (Brot­her ADS 4300N als Ein­zugs­scan­ner, das Ergeb­nis lan­det dann direkt in der Inbox von Evernote). 

Jeden­falls liegt eine aktu­el­le Kopie mei­nes Ever­no­te-Archivs nach eini­gen Stun­den Rum­kli­cken jetzt auf mei­ner Fest­plat­te (in HTML plus PDF) und in der oben genann­ten Next­cloud. Gibt es einen Cli­ent, der (auf dem Desk­top oder als Next­cloud-Inte­gra­ti­on) mit einer aus Ever­no­te expor­tie­ren Ord­ner-Struk­tur sinn­voll umge­hen kann? Auch im Sin­ne Such­funk­ti­on? Dann wäre das viel­leicht der Trop­fen, der mich ganz weg­bringt von die­ser App.

4. Foto der Woche im digitalen Bilderrahmen

Dane­ben habe ich mich mit ganz ande­ren Din­gen rum­ge­schla­gen (bzw. an ganz ande­ren Din­gen rum­ge­bas­telt). Wer mein Blog kennt, weiß, dass ich hier jede Woche ein „Foto der Woche“ ver­öf­fent­li­che. Wäre doch eigent­lich was Schö­nes für den digi­ta­len Bil­der­rah­men („Paper­less­pa­per“, basiert auf einem 7‑Farb-E-Paper; je nach Motiv und Erfolg der Ras­te­rung sieht’s mehr oder weni­ger foto­gen aus, was dort dar­ge­stellt wird). Der Bil­der­rah­men kann Web­sites ein­le­sen und dar­stel­len, und die Kate­go­rien-Sei­te zum Foto der Woche zeigt die fünf neus­ten Fotos. Inso­fern eine ein­fa­che Lösung, um neben Wet­ter und Kalen­der auch das jeweils aktu­el­le Foto zu zei­gen. Nur: ganz so hübsch ist ein auf 480 x 800 Pixeln ger­en­der­tes Blog nicht. Mit ein wenig CSS müss­te das schö­ner dar­stell­bar sein, dach­te ich mir. War es dann auch, die Lösung war aber etwas kom­pli­zier­ter – auch, weil ich gelernt haben, dass aus Sicher­heits­grün­den moder­ne Web­sites extrem emp­find­lich sind, wenn es dar­um geht, Inhal­te ande­rer Web­sites ein­zu­bet­ten und zu laden. 

Mei­ne Lösung ist nun eine klei­ne HTM­L/­Ja­va­script-Datei, die Kate­go­ri­en­sei­te ganz alt­mo­disch als IFrame ein­bin­det und die­se dann um ein Style­sheet ergänzt, das vor allem Din­ge aus­blen­det – alles bis auf die Über­schrift und das Bild des ers­tens Ein­trags der Kate­go­ri­en­sei­te. Da bei­de Datei­en in der sel­ben Domain lie­gen, darf Java­script den ein­ge­bet­te­ten Code ver­än­dern. Sobald das nicht der Fall ist, funk­tio­niert die­se Lösung nicht mehr. Und damit habe ich jetzt eine HTML-Datei, die von Paper­less­pa­per gela­den wer­den kann, und die immer das aktu­el­le Foto der Woche zeigt.

5. Apropos Foto der Woche

Die Fotos der Woche wer­den in mei­nem Blog von mei­nem Flickr-Account aus ein­ge­bun­den. Das klappt seit meh­re­ren Jah­ren sehr gut. Heu­te ist mir aller­dings auf­ge­fal­len, dass eini­ge Fotos nicht mehr ange­zeigt wer­den – evtl. lag es dar­an, dass die von Flickr ange­for­der­ten Bild­da­tei­en zu groß waren (1600 Pixel). Durch den Ein­bet­tungs­code für 800-Pixel-Bil­der ersetzt, funk­tio­niert es wieder.

6. Apropos E‑Paper

Neben diver­sen E‑Book-Lese­ge­rä­ten und dem erwähn­ten Bil­der­rah­men fiel mir ein, dass in einer Schub­la­de ja auch noch ein klei­nes altes 4,2″-Waveshare-Display liegt, das ich mal von einem Raspber­ry Pi aus ange­steu­ert hat­te. Mal zu gucken, ob es noch tut, erwies sich dann als län­ger­wie­ri­ge Ange­le­gen­heit: Hür­de 1 war die Tat­sa­che, dass ich den alten Pi nicht griff­be­reit irgend­wo lie­gen hat­te, und auf dem Pi 400 das Pro­gramm zum Ansteu­ern nicht instal­liert war. Gleich­zei­tig war bei Wavesha­re sel­ber nur die Doku­men­ta­ti­on für neue­re Model­le zu fin­den. Das Python-Pro­gramm, um auf dem E‑Paper Bil­der anzu­zei­gen, hat­te ich noch, und das ließ sich natür­lich auch auf den Pi 400 kopieren. 

Hür­de 2: mein Pro­gramm ver­wen­det ImageTk, das wie­der­um ist bei Pillow/PIL inzwi­schen? unter Debi­an? stan­dard­mä­ßig nicht ein­ge­bun­den. Nach lan­gem Rum­pro­bie­ren: es gibt ein Modul python3-pil.imagetk, das sich über sudo apt install python3-pil.imagetk instal­lie­ren lässt. Damit lief dann zumin­dest mal der Gra­fik­teil des Programms. 

Auf der ande­ren Sei­te, Hür­de 3, hat sich bei dem neue­ren Pi 400 auch eini­ges bei GPIO ver­än­dert. Nicht nur, dass die Pins über Kopf ste­hen, son­dern auch in Python ist inzwi­schen gpiozero das Sys­tem, mit dem GPIO ange­steu­ert wird, nicht mehr älte­re Libra­ri­es. Der Code für ande­re, neue­re Wavesha­re-Dis­plays zeig­te mir, wie ich die­sen Teil mei­nes Pro­gramms anpas­sen muss­te (war­um der CS-Pin nicht funk­tio­niert und im Code ent­spre­chen­de aus­kom­men­tiert ist, erschließt sich mir nicht). 

Dann ging es, Hür­de 4, nur noch dar­um, das Dis­play kor­rekt anzu­schlie­ßen. Gesagt, getan, aber da pas­sier­te nichts. Nach x Fehl­ver­su­chen ohne Erfolg fiel mir irgend­wann auf, dass eines der Kabel gar nicht am rich­ti­gen GPIO-Pin hängt (war­um auch immer, …). Das kor­ri­giert, erweck­te das Dis­play dann zum Leben – also zu zwei Drit­teln, ein Drit­tel funk­tio­nier­te nicht mehr und ließ sich nicht ansprechen. 

7. Internet of Tubes

Last but not least habe ich Zeit ver­bracht mit dem Inter­net – mit die­ser Sand­box und mit die­sem Sim­Ci­ty-wir-bau­en-ein-Netz-Spiel.

Photo of the week: Waveshare

Waveshare

 
Ich habe die­se Woche frei, kom­me aber trotz­dem viel weni­ger zum Blog­gen, als ich das eigent­lich gedacht habe – außer Kind und Haus­halt ist auch das oben ein Grund dafür. Zu sehen ist ein 4,2‑Zoll-Display von Wavesha­re an einem Raspber­ry Pi. Die­ses Dis­play ist ein E‑Paper, und noch dazu eines, das nicht nur Schwarz und Weiß anzei­gen kann, son­dern auch Rot. Die letz­ten Tage habe ich damit zuge­bracht, das Dis­play an der GPIO-Leis­te des Raspber­rys zum Lau­fen zu brin­gen (was nicht ganz out of the box ging, weil teil­wei­se noch fal­sche Treiber/Einstellungen irgend­wo im Sys­tem lagen), und mir dann genü­gend Python anzu­eig­nen, um auf dem Dis­play die aktu­el­le Uhr­zeit anzu­zei­gen und Fotos dar­zu­stel­len. Klappt inzwi­schen ganz gut (auch dank der „Python Ima­ging Libra­ry“); was län­ger gedau­ert hat, war mir einen Weg aus­zu­den­ken, um aus einem far­bi­gen Bild zwei Bil­der zu extra­hie­ren, die dann auf dem Dis­play über­ein­an­der gelegt wer­den kön­nen: ein Schwarz-Weiß-Bild (Grau­stu­fen kann das E‑Paper nicht wirk­lich) und ein Bild, das alles, was Rot aus­sieht, ent­hält. Dazu konn­te ich aller­dings nicht ein­fach den Rot-Kanal neh­men (far­bi­ge Bil­der sind übli­cher­wei­se mit Rot/Grün/Blau als Kanä­len gespei­chert), weil bei­spiels­wei­se Weiß eben auch einen hohen Rot-Anteil ent­hält. Viel­mehr soll immer dann Rot ange­zeigt wer­den, wenn der Rot-Kanal deut­lich mehr am Farb­wert aus­macht als Grün und Blau, und wenn das Rot nicht zu dun­kel ist. Nach etwas Tüf­te­lei und vie­lem Aus­pro­bie­ren bin ich mit dem Ergeb­nis ganz zufrie­den. Wer möch­te, kann den Farn oben mit dem Ori­gi­nal ver­glei­chen. Noch bes­ser wird es, wenn z.B. Toma­ten oder ein rotes Auto zu sehen sind.

Neben­bei habe ich nicht nur Python bes­ser ken­nen­ge­lernt und eini­ges über die Funk­ti­ons­wei­se von E‑Pa­per-Dis­plays her­aus­ge­fun­den (Farb­par­ti­kel wer­den mit elek­tri­scher Ladung ange­zo­gen bzw. abge­sto­ßen), son­dern weiß auch, dass E‑Paper sehr lan­ge braucht, um ein Bild dar­zu­stel­len – in Schwarz-Weiß zwei, drei Sekun­den, wobei es hier auch die Opti­on gibt, nur einen Teil des Bil­des zu erneu­ern, was dann deut­lich schnel­ler geht; es gibt wohl auch noch den einen oder ande­ren Trick, die Dar­stel­lung zu beschleu­ni­gen, wenn die Hard­ware-Com­mands ange­passt wer­den; mit Rot als drit­ter Far­be braucht das Wavesha­re-Dis­play sogar mehr als zehn Sekun­den, um ein neu­es Bild darzustellen. 

Vages Ziel: eine Uhr plus Ther­mo­me­ter, die ab und zu Sepia-Fotos anzeigt. Mal schau­en, ob ich die Muße fin­de, in die­se Rich­tung wei­ter dar­an rum­zu­bas­teln – span­nend jeden­falls die Erfah­rung, dass ich immer noch kom­plett die Zeit ver­ges­sen kann, wenn es dar­um geht, Pro­gramm­code dazu zu brin­gen, genau das zu tun, was ich möchte. 

Fortsetzung folgt: Was wurde eigentlich aus …?

Workbench II

Ich habe in den letz­ten Mona­ten ja eini­ge Bei­trä­ge gepos­tet, die sich grob mit Ver­än­de­run­gen in mei­nem all­täg­li­chen Tech­nik­um­gang befasst haben. Zu ein paar davon kann ich jetzt was zur „Fort­set­zung“ sagen. Falls das jemand interessiert.

Bereits im Mai 2013 hat­te ich erklärt, wie ich Tiny Tiny RSS instal­liert habe, um eine Alter­na­ti­ve zum Goog­le Rea­der zu fin­den. Lei­der ent­pupp­te sich die Kom­bi­na­ti­on aus eige­ner Tiny-Tiny-RSS-Instal­la­ti­on und den Android-Kli­en­ten dafür als unbe­quem, so dass ich letzt­lich immer sel­te­ner in mei­ne RSS-Feeds schau­te (wenn, dann eher im Menü von Fire­fox als auf dem Smart­phone). Ges­tern habe ich nun Fire­fox durch Chro­me ersetzt, das kei­nen ein­ge­bau­ten RSS-Sup­port (mehr) hat. Bei der Durch­sicht der ver­schie­de­nen Alter­na­ti­ven bin ich dann auf feedly.com gesto­ßen, dass mir zunächst mal erstaun­lich gut gefal­len hat.

„Fort­set­zung folgt: Was wur­de eigent­lich aus …?“ wei­ter­le­sen

Meine ersten Schritte mit dem Raspberry Pi

Raspberry Pi

Aus einer Lau­ne her­aus habe ich mir vor ein paar Tagen – am Pi-Day – den Raspber­ry Pi, Model B, bestellt. Das ist ein ziem­lich klei­ner Com­pu­ter, auf dem Linux läuft – im Prin­zip so etwas wie das Innen­le­ben eines Smart­phones. Gekauft habe ich neben dem Raspber­ry Pi gleich noch ein schmu­ckes, farb­lich pas­sen­des Gehäu­se (zusam­men mach­te das dann genau 42,23 €).

„Mei­ne ers­ten Schrit­te mit dem Raspber­ry Pi“ wei­ter­le­sen