Michael Jentsch

Gescheiterte Projekte in 2019

2019 war ein Jahr in dem ich viel programmiert und gebastelt habe. Vor allem das Basteln macht nun wieder richtig Spaß, da ich mir eine kleine Werkstatt (“Mein Labor” wie ich es liebevoll nenne) eingerichtet habe. Jetzt brauche ich nicht jedes Mal die Küche auf Links drehen, wenn ich nur ein paar Kleinigkeiten zusammenlöten möchte – ein Traum ist wahr geworden. 

Auch bei der Software-Entwicklung habe ich wieder ein paar kleine Schritte vorwärts gemacht. So habe ich 2019 Flutter und Dart gelernt, zwischen Weihnachten und Neujahr an der Flutter Clock Challenge (https://flutter.dev/clock https://medium.com/p/dcebe2eb3957 https://www.youtube.com/watch?v=PaPUkxYHDUw&feature=emb_title ) teilgenommen und bin (bei ca.… Weiterlesen

Flutter - Failed to download the Android dependencies

Nachdem ich in den letzen Tagen immer wieder Problem mit Flutter hatte, habe ich heute morgen entscheiden, Flutter mal ganz neu zu installieren. Dabei bin ich exakt wie unter https://flutter.dev/docs/get-started/install/macos beschrieben vorgegangen und bis zu Schritt 4 (Optionally, pre-download development binaries:) gekommen.

Der Befehl flutter precache ist immer wieder mit der Fehlermeldung “Failed to download the Android dependencies” abgebrochen. Jetzt kann man natürlich sagen, OK, der Schritt ist ja optional, aber leider ist er das nicht wirklich. Lässt man den Schritt hier weg, landet man spätestens beim kompilieren einer Flutter App wieder bei dem Problem.

Um etwas mehr details über das Problem zu bekommen habe ich dann den Befehl “flutter precache” mal mit der “Verbose” Option gestartet und mir mal angesehen, was da im Detail falsch läuft.… Weiterlesen

Magie mit der git bash

Git ist eine freie Software zur verteilten Versionsverwaltung von Dateien, die mittlerweile jeder kennen sollte, daher verliere ich hier nicht viele Worte darüber. Wer die wichtigsten git Befehle wie “git add”, “git commit” und “git push” nicht kennt ist hier total falsch. Sorry, aber Du solltest erst mal hier anfangen.

Natürlich kann man git auch ohne die git bash verwenden. Jede IDE, die etwas auf sich hält hat eine Git Integration und darüber hinaus gibt es z.B. weitere Tools, wie TortoiseGit, SourceTree, GitKraken, Tower, etc.Alle diese Git-Clients haben ihre Daseinsberechtigung und sind sehr gut geeignet, das Tippen in der Konsole durch Mausklicks auf Klickibunti-Oberflächen mehr oder weniger gut zu ersetzen.… Weiterlesen

next.js mit Apache und Let's Encrypt https Zertifikat einrichten

Durch einen Podcast (Revision 403: Meta-Frameworks | Working Draft) bin ich auf ein JavaScript Framework gestoßen, dass mein Interesse geweckt hat. es heißt next.js und ermöglicht serverseitig gerenderte React-Anwendungen bei der jede Webseite als separate Funktion erstellt wird.

Eine Google Sucht bringt z.B. folgende Ergebnisse ans Tageslicht:

Next.js vs. Create React App: Whose apps are more performant?We migrated to Next.js to serve our home page 7.5× fasterPerformance as a default with Next.js – Web.devNext.js —Where have you been all my life?React & SEO: Crafting Next.js SPAs Optimized for GoogleWhy is Next.js the web framework our Marketing Team always wanted?Weiterlesen
Eport-E20 und Arduino

Eport-E20 ist eine unabhängige, kompakte, integrierte Lösung, die eine einfache Verbindung zwischen der serielle Schnittstelle und einem Ethernet-LAN Kabel bietet. So können z.B. Mikrocontroller wie der Arduino mit einem Eport-E20 ausgestattet werden und einfach über das Internet aufgerufen und gesteuert werden.

Für so eine kleine Kiste hat der Eport-E20 eine sehr beeindruckende Spezifikation.

MIPS MCU with 2MB Flash and 128KB RAMUse FreeRTOS Operation SystemSupport TCP/IP/Telnet/Modbus TCP ProtocolSupport Serial To 10/100M Ethernet Conversion, Serial Speed Upto 921600 bpsSupport 10/100M Ethernet Auto-NegotiationSupport Easy Configuration Through a Web InterfaceSupport Security Protocol Such As AES/DES3Support  Web OTA Wirelss Upgrade  Single +3.3V Power SupplySize: 50 x 23 x 11 mm (L x W x H) CE/RoHs Certificated

Alle weiteren Details zur Spezifikation findet man unter http://www.hi-flying.com/eport-e20Weiterlesen

Dem GoAccess Log Analyzer sinnvolle Daten entlocken

Mit dem GoAccess Analyse Tool kann man schnell und einfach Webserver-Logfiles z.B. vom Apache Webserver analysieren und ein übersichtliches Dashboard mit den wichtigsten Daten erzeugen, ohne ein Tracking Pixel oder Third-Party JavaScript Code auf der Webseite einzubinden.

Mit GoAccess kann man aus dem Apache-Webserver Logs eine statische HTML Datei erzeugen, die dann wie gewohnt im Browser aufgerufen werde kann um die KPI einer Webseite zu überprüfen. Dabei werden alle gängigen Log-Datei Formate wie z.B. Apache, Nginx und viele weitere unterstützt.

Die Installation von GoAccess auf einem Linux PC oder Server ist denkbar einfach und es werden alle gängigen Linux-Distributionen wie z.B.… Weiterlesen

Wasserwaage mit dem MPU6886 des M5StickC

Nach meinem M5StickC Umbau habe ich mir noch einen weiteren M5StickC bestellt und erhalten. Diese mal wollte ich mich mal intensiver mit dem eingebauten MPU6886 Chip beschäftigen.

Bei dem MPU6886 Chip handelt es sich um einen 6-Achsen-Sensor. Dabei teilen sich die 6-Achsen auf zu einem 3-Achsen Beschleunigungssensor und einem 3-Achsen Gyro Sensor.

Das Gyroskop verfügt über eine programmierbare FSR ( Full-Scale Range = Vollaussteuerung) von ±250 dps, ±500 dps, ±1000 dps oder ±2000 dps. Laut Spezifikation verfügt der Gyro-Sensor des MPU6886 über eine Auflösung von 16 Bit mit einem Empfindlichkeit von ±1% und einem Rauschen von ±4 mdps/√Hz.

Der 3-Achsen Beschleunigungssensor verfügt über eine programmierbare FSR von ±2g, ±4g, ±8g oder ±16g mit einem Rauchen von 100 µg/√Hz.… Weiterlesen

Bluetooth-Entfernungsabschätzung

Die Reichweite der Bluetooth Kommunikation hat einen verhältnismäßig schlechten Ruf. Kein Wunder, denn fast jeder, der Bluetooth nutzt, hat schon mal erlebt, wie schnell die Verbindung abreißen kann, obwohl laut Spezifikation eine Reichweite von max. 100 Meter (Bluetooth V2.1 und Bluetooth 4.0) möglich ist. Leider wird diese Reichweite nur unter unter idealen Voraussetzungen erreicht. Unter realen Bedingungen kommt man mit den meisten Consumer-Geräten selten über 20-30 Meter. Mit Bluetooth 5.0 soll das nun aber besser werden. Laut Spezifikation sind hier Reichweiten bis zu 400 Meter möglich.

Die Reichweite einer Bluetooth Verbindung wird durch viele unterschiedliche Faktoren beeinflusst. Unter anderem beeinflussen z.B.… Weiterlesen

M5StickC Umbau

Seit einigen Wochen habe ich einen M5StickC im Einsatz, dabei ist mir aufgefallen, dass der Energieverbrauch auf dauer doch recht hoch ist. Selbst wenn es ausgeschaltet ist, verbraucht es noch Energie und ich musste meinen M5StickC bis gestern alle 2-3 Tage laden, auch wenn er nur wenige Minuten pro Tag eingeschaltet ist.

Zudem hat der M5StickC mit seinem orangen Gehäuse und den vielen technischen Details auf der Rückseite einen schlechten WAF – also ein weiterer Grund, sich mal intensiver damit zu beschäftigen.

Ich habe also beschlossen, das Gehäuse des M5StickC zu öffnen und ein alternatives Gehäuse zu designen. Leider hat sich das Original-Gehäuse gewehrt und ich musste mit einem Knipex etwas nachhelfen.… Weiterlesen

Schnellere Webseite dank der robots.txt

Klingt komisch, ist aber so. Gerade wenn eine Webseite von vielen Bots besucht wird und die Bot-Requests einen wesentlichen Anteil an der Server-Load ausmachen, kann eine gute robots.txt den Server entlasten und die echten Besucher bekommen die Seite merklich schneller zu sehen.

Wichtig ist natürlich, dass dabei die Bots der “echten Suchmaschinen” wie Google, Bing, MSN, Yandex, etc. nicht ausgeschlossen werden da sonst die gewonnene Performance nicht mehr benötigt wird :-).

Bei meiner Suche nach diesne Bots in den Logfiles hat mir folgender Kleine Befehl geholfen:

grep robots.txt *.access.log | awk -F "\"-\"" '{ print $2 }' | sort -u

Damit liste ich alle Bot-Namen auf, die meine robots.txt… Weiterlesen