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 […]

Nabu Vogelliste als Pandas Dataframe

Die Nabu hält alljährlich eine Gartenvögelzählung ab, bei denen unter anderem private Personen gesichtete Vögel an einem Tag zählen und übermitteln können. Diese Liste stellt die Nabu dann auf deren Internetpräsenz zur Verfügung. Angezeigt wird die Vogelart, die Anzahl, die Vögel pro Garten und ein Vergleich zum Vorjahr. Filtern könnt ihr nach Jahr, Bundesland, Vogelart und Landkreis/Stadt. Dies vorab als kleine Beschreibung, um was für eine Liste es sich handelt, die wir uns zu eigen machen. Am einfachsten lässt sich die Nabu Vogelliste als Pandas Dataframe darstellen, wenn wir BeautifulSoup benutzen. Mit Hilfe dieser Bibliothek lassen sich XML und HTML […]

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 […]

Offline Sprachassistent mit Python

Ich habe schon immer mit einem Sprachassistenten geliebäugelt. Der teils vorhandene onlinezwang sowie die Erforderlichkeit den Sprachassistenten mit google, amazon, etc. zu verbinden, haben mich davor abgehalten einen zu ordern. Jetzt habe ich mir einen eigenen offline Sprachassistent mit Python erstellt. Als Spracherkennungsbibliothek verwende ich vosk. Vosk unterstützt mehr als 20 Sprachen, darunter auch deutsch und englisch. Die Spracherkennung funktioniert offline und sogar auf lightweight devices wie den Raspberry Pi. Zur Einrichtung benötigen wir ein auf deutsch trainiertes Model. Von Vosk werden welche bereitgestellt, ihr könnt aber auch eigene Modelle erstellen. Installation und Einrichtung Die Installation von Vosk erledigen wir […]

Dash callbacks

Wer mit Dash arbeiten möchte, wird nicht um das Thema Dash callbacks drum rum kommen. Callbacks benutzen wir, um mit dem Dashboard zu interagieren, somit erhalten wir neue Visualisierungsmöglichkeiten. Die Installation von Dash ist in meinem Beitrag Plotly Dash installieren und einrichten beschrieben. Abhängigkeiten laden Um Dash lauffähig zu machen, müsst ihr sogenannte Komponenten laden. Dies sind unter anderem  dash_core_components – stellt uns unter anderem Dropdowns, Sliders, Checkboxen, etc. zur Verfügung. Mit diesem Komponenten können wir mit Dash interargieren. dash_html_components – bietet eine Palette an HTML Komponenten wie Div, Img, Table, etc. an. Diese Komponenten sind, wie der Name schon sagt, mit HTML gleichzusetzen. Dash oder JupyterDash – Standardmäßig wird Dash über den Browser aufgerufen. Mit […]

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 […]

Plotly Dash installieren und einrichten

Plotly Dash Installation Um Dash verwenden können, installieren wir die Anforderungen. Damit die Pakete nicht mit anderen in die Quere kommen, machen wir das ganze in einer virtuelle Umgebung. Zusätzlich installieren wir folgende Pakete über den Package-Manager pip3. Das wärs schon bezüglich der Installation. Ich möchte euch hier jetzt ein Beispiel aus der Dash Dokumentation zeigen. Das Beispiel könnt ihr direkt testen, indem ihr den Code in eine Datei packt und diese mit ausführt. Per Default ist die Seite nur über localhost über den Port 3000 erreichbar. Ihr könnt den Host + Port allerdings ändern. Ersetzt dafür die letzte Zeile […]

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 […]

Luftfeuchtigkeit mit raspberry messen

Der Raspberry bietet unzählige Möglichkeiten, diesen mit unterschiedlichen Sensoren zu erweitern. Mitunter einen Sensor zum Messen der Temperatur und der Luftfeuchtigkeit. Dies habe ich mir zunutze gemacht, um die Luftfeuchtigkeit in einigen Räumen zu messen. Zum Einsatz kommt der Sensor DHT11 mit 3 Pins, VCC(+), Ground(-) und Signal. Die 3 Pin Variante hat meist schon einen sogenannten 10k Ohm pull-up-Wiederstand verbaut. Im Elegoo-Set ist der genannte Sensor enthalten. Zusammen mit dem Steckbrett habe ich auf dem Raspberry den 3.3V, den Ground und den GPIO No. 17 zur Datenübertragung verwendet. Die Steckzeichnung findet ihr im unterem Bild. Somit wäre der Sensor […]

multiple Datenbanken mit Django

Django hat durch sein MVC(Model-View-Controller) von Beginn an eine Datenbank mit am Board. Mein Projekt basiert auf mysql, jedoch hatte ich weitere Datenbanken, die ich über Django managen wollte, die allerdings nicht in der Default DB von Django sind. Daher müssen diese Django bekannt gemacht und Models für diese Datenbanken erstellt werden. Die Bekanntmachung findet in der settings.py statt. Hier trägt man die weiteren DB Verbindungen ein. Dabei könnte es wie folgt aussehen. In dem DATABASE Dictionary können neben dem Default weitere Werte eingetragen werden. Die ENGINE bestimmt dabei, ob mysql, sqlite oder die anderen unterstützen DBs eingetragen werden. Im […]