Wokwi – eine all in one Simulation von Microcontroller plus weitere Hardware

Wenn man ein bisschen mit Microcontrollern wie dem esp8266, esp32 oder Arduino herumspielt, dann kommt man schnell an den Punkt, dass das ausprobieren neuer Schaltungen und Komponenten relativ zeitaufwendig und auch frustrierend werden kann. Eine Abhilfe schafft hier wokwi. Die Software simuliert microcontroller, LEDs/Displays/Servos/Sensoren usw. Und man kann gleichzeitig seinen eigenen Code auf der simulierten Hardware laufen lassen. Das ganze geht sowohl nativ mit c Code als auch mit Micropython.

Beispiel: ein esp32 mit dht22 Temperatur Sensor, der mittels micropython die Werte an mqtt schickt:

https://wokwi.com/projects/322577683855704658

Linux Server zeigt unterschiedliche Werte bei df und du

Wenn das Monitoring meldet, dass die Platte eines Servers voll läuft, ein

du -hs /*

aber deutlich weniger verwendeten Speicher anzeigt als man es per df sieht – dann gibts erstmal Verwunderung.

Eine google Recherche hat mich dann auf den Trichter gebracht, dass dies ein Zeichen von zwar gelöschten Dateien, aber noch offenen Dateihandles auf diesen liegen kann. Sprich, man hat zwar eine Datei gelöscht, aber ein Programm hat die Datei aktuell noch geöffnet. Dann ist zwar der Dateiname nicht mehr sichtbar, aber die Inhalte der Datei liegen noch immer auf der Festplatte und verbrauchen natürlich auch ensprechend Platz. In meinem Fall ist filebeat nicht mit einem Logrotate klar gekommen und hatte somit eine relativ große Log Dateien weiterhin geöffnet. Mit jedem Logrotate kam eine dazu…

Wie kann man das sichtbar machen? So:

lsof | grep "/var" | grep deleted

oder gleich mit

lsof | grep deleted

wobei man bei letzterem vielleicht ein paar Ergebnisse sieht, die berechtigt noch Handles offen halten.

Hier mal eine Beispielhafte Ausgabe:

Ganz links sieht man den Dienst bzw. Command, und in der ganz rechten Spalte die jeweilige Datei.

Normalerweise sollte es reichen, den entsprechenden Dienst einfach neu zu starten und das Problem ist erstmal behoben. Sollte der Fehler wieder auftreten, müsste dann evtl ein Update/Patch oder als letzte Möglichkeit ein kontrollierter regelmäßiger Neustart das Problem beheben.

Ansible startet nicht mehr unter Mac OS Catalina

Beim Ausführen von Ansible Befehlen bekam ich seit kurzem immer wieder die Fehlermeldung

Abort trap: 6

angezeigt. Da ich Ansible direkt über pip installiert hatte, führte ich natürlich erstmal ein Update dort durch – was aber keine Abhilfe brachte. Irgendwie hatte das ganze mit dem Wegfall von python 2.7 mit Mac OS Catalina zu tun.

Die relativ plumpe, aber doch effektive Lösung war:

pip3 uninstall ansible
brew install ansible

🤷‍♂️😂

Nginx Docker Reverse Proxy wirft 404 Fehler ab dem zweiten Request

Als großer Fan von “nackten Servern” auf denen nur Docker Container laufen, nutze ich Nginx als Reverse Proxy – im Speziellen das großartige Setup von jwilder/nginx-proxy in Kombinantion mit dem Let’s Encrypt Addon. Effektiv läuft das Teil passiv mit und schaut nur auf bestimmte Environment-Variablen anderer Docker Container. Sobald es diese sieht, wird automatisch ein Reverse Proxy in Nginx so konfiguriert, dass er diesen Dienst erreichbar macht und gleichzeitig wird noch ein Let’s Encrypt Cert für die entsprechende Domain besorgt und auf dem neuesten Stand gehalten.

Nun hatte ich in einem Setup mit sehr vielen gleichzeitig laufenden Diensten das Problem, dass einer der Dienste immer nur auf den ersten Request erfolgreich geantwortet hat, aber bei jedem weiteren Request nur noch einen 404 geworfen hat. Der Dienst selbst lief, Nginx hat auch keinen Fehler im Log geworfen und ich war etwas ratlos.

Nach ein paar grauen Haaren mehr und dem ein oder anderen versteckten Hinweis auf Google kam ich dann auf des Rätsels Lösung: durch ein fehlerhaftes Deployment lief kurzzeitig ein weiterer Container, der mittels der Environment Variable die gleiche URL für sich beanspruchte. Der Nginx Automatismus machte daraus automatisch einen Load Balancer. Nachdem das fehlerhafte Deployment weg war, wurde der Loadbalancer aber nicht mehr aufgelöst und somit war nur noch einer von beiden Einträgen aktiv. Warum der Nginx dann trotzdem immer wieder auf den nicht vorhandenen Host gehen wollte erschließt sich mir nicht so richtig, aber das war des Problems Lösung.

Also bin ich einfach per docker exec in den Nginx Container und habe die Datei /etc/nginx/conf.d/default editiert:


# server.name.com
upstream server.name.com {
# CONTAINER_NAME_1
server 123.45.0.67:1234;
# CONTAINER_NAME_2
server 123.45.0.78:1234;
}

Nachdem ich den Part von CONTAINER_NAME_2 gelöscht hatte, konnte ich mittels

nginx -s reload

die Config von Nginx on the fly neu laden und ab dem Moment lief der Service wieder wie gewohnt.

Chrome scheint Videosoftware unter MacOS auszubremsen

Creative Director Felipe Baez von der Agentur Cre8ive Beast hat bemerkt, dass sich Final Cut Pro deutlich langsamer wird, und teilweise sogar abstürzen kann. Grund dafür ist das “Video-Toolbox” Framework, welches von MacOS bereitgestellt wird. Chrome nutzt dieses Framework und klaut somit die Ressourcen anderen Programmen, wie eben Final Cut Pro. Das gleiche Problem tritt auch z.B. bei Handbrake auf, und somit wahrscheinlich auch bei weiteren Video-Editoren.

Aktuell ist der Ratschlag: sobald man irgendeine Art von Videoschnitt macht, sollte Chrome nicht laufen.

Bei dieser Gelegenheit rate ich wirklich JEDEM dazu, sich den aktuellen Firefox nochmal anzusehen. War er in den letzten Jahren eher langsam und behäbig geworden, ist er nun seit ca. 0,5-1 Jahr wieder in seiner alten Form zurück. Er ist super schnell (teilweise sogar schneller als Chrome), hat die gleichen Funktionen, und ganz wichtig: nimmt Privatsphäre und Datenschutz höchstwahrscheinlich deutlich ernster als andere Browserhersteller. Ich bin schon vor einer ganzen Weile umgestiegen (auf meinem Mac und auch auf iPhone/iPad) und bereue es in keinster Weise!

via Golem

Firefox deaktiviert addons

Am Wochenende ist Mozilla leider ein sehr blöder Fehler unterlaufen: das Zertifikat, welches die Echtheit von Extensions sicherstellt, ist abgelaufen 🙁

Die Folge: sämtliche Extensions/Erweiterungen sind komplett deaktiviert und lassen sich weder aktivieren noch neu installieren.

Die Lösung ist, zumindest aktuell, relativ einfach:

Einstellungen öffnen, dann den Punkt Datenschutz & Sicherheit wählen und dort den Punkt aktivieren, dass ihr an so genannten “Studien” teilnehmen wollt. Darüber wird nämlich gerade der Hotfix verteilt:

Danach habe ich den Browser einmal neu gestartet, und nach ein paar Minuten erschienen meine Addons wieder.

Da ich noch nicht so recht weiß, was ich von diesem Setting halten soll, mit dem Mozilla eigentlich beliebig meinen Browser steuern darf, werde ich es wohl in den nächsten Tagen, sobald der “offizielle” Fix da ist, wieder deaktivieren.

Fotorealismus mit der Unreal Engine 4

Mir fehlen die Worte! Dieses Video wurde mit der unreal engine 4 gerendert. Sprich, theoretisch könnten spiele zukünftig so aussehen.

Die Landschaft wurde auf Island mittels 3D Scanner erfasst, und dann wurde mit den Engine nachgebaut. Ein Meisterwerk!

 

[Quicktip] Walkie Talkie App ist nicht auf der Apple Watch vorhanden

Irgendwie ist die großartige Walkie Talkie App auf der Apple Watch total an mir vorbei gegangen. Als ich sie nun doch entdeckte, wollte ich sie natürlich gleich ausprobieren. Mit einem Freund klappte es auf Anhieb, der andere sagte mir, dass die App nicht auf seiner Uhr zu finden ist bzw. die Walkie Talkie App auf der Apple Watch fehlt.

Nachdem wir diverse Lösungvorschläge durchprobiert hatten, war die Lösung dann doch relativ leicht. Folgende Vorraussetzungen müssen erfüllt sein, damit die App auf der Apple Watch erscheint und nutzbar ist:

  • Facetime muss auf dem iPhone eingrichtet und nutzbar sein
  • die Apple Watch muss das neueste WatchOS installiert haben
  • ihr braucht mindestens eine Apple Watch 2 oder aber die zweite Revision der ersten Apple Watch, also die mit der neuen CPU
  • die Facetime App muss auf dem iPhone installiert sein

Der letzte Punkt war in unserem Fall entscheidend. Da man Facetime neben der offiziellen App auch einfach über die Telefon-App bzw. das Telefonbuch verwenden kann, hatte sich die Facetime App wegen Nicht-Nutzung automatisch de-installiert. Nachdem der Kollege die App durch einfaches drauf tippen wieder neu installiert hatte, erschien die Walkie Talkie App auch auf der Uhr.

Nextcloud mit nginx reverse proxy macht endlos reloads

Langer Titel, einfaches Problem.

Ich habe eine Nextcloud Instanz, die lokal läuft und dann mittels Nginx Reverse Proxy aus dem Internet nur per HTTPS erreichbar ist. Nach einem der üblichen Updates endete dieses Setup, welches bis dahin problemlos lief, immer in einer Endlossschleife – aber nur für die Website. Die Nextcloud Sync Clients liefen problemlos weiter.

Mir war also klar, dass es irgendwie mit dem Reverse Proxy zusammenhängen muss. Und so war es dann auch. Nachdem ich folgendes zur Config Datei hinzugefügt hatte, lief es wieder:

'overwritehost'     => 'WWW.MEINE.DOMAIN',
'overwriteprotocol' => 'https',

Das Problem war einfach, dass scheinbar Nextcloud intern auf HTTP gehen wollte, was durch den Auto-Redirect des Nginx auf HTTPS dann für die Endlosschleife gesorgt hatte 🙂

Samsung M2070 scant seit Mac OS Mojave nicht mehr richtig per Dokumenteneinzug

Im papierlosen Büro habe ich nicht mehr so viel mit drucken/scannen zu tun, aber ab und zu passiert es dann doch. Dafür hatte ich mir vor einigen Jahren das Samsung M2070 Multifunktionsgerät mit schwarz-weiss Laser sowie Scanner mit Dokumenteneinzug besorgt, und bin auch sehr glücklich mit dem Teil. Besonders, da es auch Airprint beherscht und somit einen Betrieb nur mit dem iPad ermöglicht – sehr gut für Eltern, die keinen “richtigen” Rechner brauchen.

Aber zurück zum Gerät: seit Mac OS Mojave scannt das Teil nicht mehr so richtig. Sobald man den Dokumenteneinzug nutzt oder aber eine höhere Auflösung verwendet, bricht der Scandialog mit “Der Scanner hat einen Fehler gemeldet” ab.

Da es mir nun wirklich richtig auf die Nerven ging, habe ich mal etwas recherchiert und in den HP-Supportforen (ja, ich war auch verwundert – scheinbar haben die beiden sich beim Thema Support vereint) fand ich dann eine Lösung. Man lädt folgendes Treiberpaket herunter:

https://support.hp.com/us-en/drivers/selfservice/samsung-xpress-sl-m2070-laser-multifunction-printer-series/16450377/model/16450383

(Bitte darauf achten, dass der Filter auf “10.14” steht, dann findest du unter Basic Drivers das Paket “Samsung SL-M2070 Series Scan Driver”. Dort findest du die entsprechenden Installationspakete)

Anschließend entpackt man den Spaß und kann dann die Treiber installieren. Bei mir ging es dann trotzdem nur, indem ich die Software “Scan Assistant” (ist im Zip mit enthalten) installierte. (siehe Update). Mit diesem Tool kann man nun endlich wieder scannnen, auch unter Mac OS Mojave 🙂

 

UPDATE:

Dank des Hinweises von Timo habe ich nochmal den aktuellsten Treiber installiert (Stichwort MAC_TWAIN in der ZIP Datei). Damit geht nun endlich auch wieder das Scannen per Dokumenteneinzug mittels der Vorschau App. Die “Scan Assistant” Software ist also nicht mehr zwingend notwendig.