Zahlen erkennen mit Python

In diesem Artikel möchte ich zeigen, wie man Zahlen mit Python erkennen kann. Das Touchpad vom Laptop benutze ich, um Zahlen zu zeichnen. Dafür verwende ich keras und Tensorflow und einen eigenen Datensatz zum Trainieren und Validieren. Datensatz erstellen Für den Datensatz verwende ich folgenden Python Code. Die Ordnerstruktur muss vorher angelegt sein: Für jede einzelne Ziffer gibt es mindestens 50 Datensätze, insgesamt habe ich 554 Bilder erstellt. Dabei könnte man die Prozedur in 3 Teile gliedern. Die erste Prozedur besteht darin die Zahl zu zeichnen. Dabei entsteht ein Bild von der Größe des Displays, bei mir 1920×1080. Dieses Bild […]

LED-Streifen mit offline Sprachassistenten steuern

Da ich mittlerweile eine eigene kleine Sprachbox in meinem Beitrag Offline Sprachassistent mit Python erstellt habe, sollte diese natürlich auch Aktionen ausführen. Als erste Aktion wollte ich meine LED-Streifen mit dem offline Sprachassistenten steuern. Dafür habe ich in dem oben genannten Beitrag schon viel Arbeit davon erklärt. Anstatt des Klemmbretts habe ich jetzt eine kleine Platine benutzt und die benötigten Komponenten verlötet. Die Platine habe ich dann in einem alten Raspberry PI Gehäuse verbaut. Bei den LED-Streifen habe ich darauf geachtet, das diese über USB und dementsprechend 5V laufen. Zum Einsatz kommen die Govee LED Streifen mit 3m, die ich […]

Kontostand Dashboard

Wäre es nicht interessant den eigenen Kontostand zu beobachten? Somit zu erfahren, ob wirklich Geld im Monat übrig bleibt oder zu viel ausgegeben wurde? Diese Idee kam mir vor einiger Zeit. In der Banking-App sehe ich nur den Verlauf meiner Ausgaben und Einnahmen. Allerdings nicht, ob am Ende eines Monats Geld übrig geblieben ist. Erschwerend kommt noch hinzu, dass ich viel mit dem Geld jongliere und auf mehrere Konten verteile. Das führt dazu, dass die grafischen Anzeigen der Bank wirres Zeug anzeigen. Um diesen Problem Herr zu werden, habe ich es mir zur Aufgabe gemacht, jeden Monat zum 1. meine […]

Shell Start Script mit automatischen Neustart

Falls ihr auf der Suche nach einem Shell Start Script seit, habt ihr es hier gefunden. Für das OpenSource Datawarehouse Metabase habe ich mir ein Script geschrieben, welches den Prozess startet und überwacht. Systemd als Service Manager kommt dabei ebenfalls zum Einsatz und sorgt dafür, dass das Script beim Starten des Servers ausgeführt wird. Sollte Metabase nicht mehr Laufen oder der Prozess sich beendet haben, startet das Script es einfach erneut und protokolliert dies in der Log. Die Grundbasis kann dabei für jegliche Prozesse benutzt werden, die automatisch neu gestartet werden sollen. Shell Start Script Vor einiger Zeit hatte ich […]

DVWA mit Docker

Es ist zwar schon eine Weile her, wo ich über DVWA(Damn Vulnerable Web Application) geschrieben habe, aber ich möchte die Installation von DVWA mit Docker nicht vorenthalten. Im damaligen Artikel hatte ich die Installation mit dem Package-Manager, bzw. github beschrieben. Dort hatte ich die Datenbank und weiteres händisch aufbereitet. Einfacher ist somit also die Installation über Docker. Naheliegend, dass Docker vorerst installiert ist, danach ist die Integration ein einfaches und kann mit einer Zeile Code installiert werden. Docker Installation Solltet ihr vorhaben, einen neuen Server zu installieren, Docker ist bei der Ubuntu-server Installation als Package bei der Installation auswählbar. Habt […]

cifs_mount failed w/return code = -13

Als ich heute versucht hatte eine Freigabe auf einem Ubuntu 20.04 über cifs zu mounten, bin ich ständig über den Fehler gestolpert. Der Befehl dmesg zeigte mir indes noch eine andere Fehlermeldung, die so leider erstmal nichts aussagend ist. Die beiden Fehlermeldungen halfen mir leider nicht weiter. Die Freigabe hatte ich schon auf anderen Maschinen eingerichtet, ohne jegliche Probleme. Ein read-only konnte ich daher ausschließen. Zumal per default read-write Zugriff beim mount gewährt werden sollte. Nach etwas googlen bin ich auf die Lösung gestoßen. Mir fehlte mount.cifs, welches Bestandteil der cifs-utils ist. mount.cifs wird benutzt, wenn im mount Befehl der Schalter […]

Image Crawler Python

Möchte man sein Machine Learning Model eigenständig trainieren, ist es teilweise hilfreich einige Bilder zur Verfügung zu haben. Lass uns einfach mal davon ausgehen, dass unser Neuronales Netzwerk eine Katze erkennen soll. So sollten wir tausende Bilder von Katzen aus dem Netz laden, um unser Model erfolgreich trainieren zu können. Die Katzen wären die positiven Ergebnisse und z.B. Hunde, Häuser, Kühe die negativen. Anhand dieser Konstellation zwischen positiven und negativen Bildern, kann unser Netzwerk die Katze klassifizieren. Dazu habe ich ein Python Skript geschrieben. Je nachdem was die Keywörter sind, sucht es passende Bilder. Die Bilder werden heruntergeladen, verkleinert und […]

OpenCV auf dem Raspberry Pi installieren

OpenCV ist ein Computer Vision Bibliothek und läuft unter Windows, Linux als auch macOS. Es wurde in C++ geschrieben, dementsprechend kann es dort inkludiert werden. Aber auch Python und Java werden von der Bibliothek unterstützt. Viele benutzen OpenCV zur Gesicht-, Gesten- und Objekterkennung, um nur einige zu nennen. In diesem Beitrag gehe ich auf die Installation ein. Auch wenn ich dies auf dem Raspberry Pi 3 mache, so ist die Routine auf anderen Debian-Derivaten ähnlich. Auf dem Pi3 läuft zurzeit Raspbian Stretch. Welche Version ihr habt, könnt ihr mit folgenden Befehl überprüfen: OpenCV Installation Zu unterscheiden sind hier 2 Installationsweisen. […]

Mein erstes Icinga2 Plugin

Icinga2 ist eine Monitoring Anwendung, deren Hauptzweck es ist, definierte Services von bestimmten Hosts zu überwachen. Die jeweiligen Fehlermeldungen können unter anderem auf der Website, aber auch per Mail (falls eingerichtet), überblickt werden. Icinga stellt Plugins wie ssh, Festplattenüberprüfung etc. bereit, es können aber auch eigenständig Plugins erstellt werden. Plugins können Skripte sein (Shell, Python, Perl, Ruby, PHP, etc.) aber auch kompilierte Binaries geschrieben in C, C++, Go, etc. Ich wollte schon lange mein eigenes Plugin schreiben und dies habe ich mit diesem Artikel nun vollzogen. Dabei habe ich mich bei Shell bedient und mein QNAP TS-212 NAS als Hosts […]

Dash mit Apache2 installieren

Hast du dich jemals gefragt, wie du Dash(Plotly) mit Apache2 installierst? Mit diesem Blog Eintrag möchte ich dich mit auf die Reise nehmen, Apache2 für dash zu konfigurieren. So wie viele andere ist Apache2 ein Webserver, mit dem du deine Seite veröffentlichen kannst und somit auch deine dash-app. Dash ist ein framework um schöne Dashboards in python zu kreieren. Wenn du interessiert bist, was mit dash möglich ist, folge diesen Link. Dash selber kommt mit einem kleinen Webserver. Dieser ist jedoch nur für die Entwicklung gedacht. Aufgrund der Sicherheit sollte dieser also nicht für die Veröffentlichung benutzt werden. Der Entwickler […]