Blog

Plotly Dash installieren und einrichten

Veröffentlicht am

Plotly Dash ist ein Python Framework, um analytische Web-Applikationen zu erstellen. Aufgebaut auf Flask, plotly.js und react.js, können Daten visualisiert werden. Es bietet dabei Methoden, um einfache User-Interfaces zu erstellen, alles basierend auf Python. Plotly ist mehr und mehr in kommen und bietet mittlerweile eine große Community. Auch hier in Deutschland wird es immer populärer. T-Systems selbst ist mittlerweile mit plotly gepartnert. Die Applikationen werden in einem Web-Browser gerendert und sind somit direkt geeignet für mehrere Plattformen und natürlich auch mobilen Geräten.  Plotly Dash Installation Um Dash verwenden können, installieren wir die Anforderungen. Damit die Pakete nicht mit anderen in […]

Blog

cifs_mount failed w/return code = -13

Veröffentlicht am

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

Blog

Cursor in Mysql

Veröffentlicht am

Ein Cursor in Mysql hilft euch über ein Result Set zu iterieren. Dabei muss er vorher definiert und geöffnet werden. Beim Deklarieren geben wir ihm das Select Statement mit, über das er iterieren soll. Der Cursor geht durch jede einzelne Zeile des Result Sets, bis er zum Ende angekommen ist. Dort schließen wir den Cursor wieder. Das Verhalten werde ich später im Beispiel genauer erklären. Eigenschaften eines Cursors Mysql unterstützt Cursors in z.B. stored Procedures. Folgende Eigenschaften sind zu beachten: Read only: es sind soweit keine Updates/Inserts direkt mit dem Cursor möglich Ein Cursor arbeitet sich von oben nach unten durch […]

Blog

Was ist arp spoofing

Veröffentlicht am

Beim Arp-Spoofing werden gefälschte ARP-Replys versendet und die Zuordnung zwischen Arp und IP manipuliert. Möchte z.B. Rechner A eine Nachricht an Rechner B schicken, ermittelt dieser vorerst die zugehörige MAC-Adresse zu der IP von Rechner B. Rechner A schickt dabei ein Broadcast an alle Geräte. Vereinfacht gesagt enthält dieser Broadcast die MAC+IP Adresse des Fragenden und verlangt die korrekte MAC Adresse zur IP von Rechner B. Anbei eine Visualisierung der ARP Pakete in Wireshark. Alle Rechner im Netzwerk speichern sich die IP-MAC Relation des Fragenden. Nur der Rechner B antwortet Rechner A mit seiner MAC-Adresse. Die Antwort speichert Rechner A […]

Blog

QNAP dubiose Verbindungen

Veröffentlicht am

Bei einer Kontrolle des QNAP TS-212 bin ich auf dubiose Verbindungen gestoßen. Generell sind Verbindungen ja nichts ungewöhnliches auf einem NAS. Allerdings haben mich die ausgehenden Verbindungen skeptisch gemacht. Immer wieder tauchten dort eine Vielzahl von UDP Paketen auf. Mittels einem Man-in-the-middle Angriff hatte ich mich zwischen den NAS geschaltet. Wireshark habe ich benutzt, um den Netzwerkverkehr aufzulisten. Mit dem Filter wurden mir nur die gewünschten Pakete angezeigt. Mir war bei den Verbindungen aufgefallen, das es sich immer um die Ports 6889 + 6881 handelt, daher habe ich den Filter auf die 2 Ports beschränkt. Einige der Zielquellen habe ich […]

Blog

Image Crawler Python

Veröffentlicht am

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

Blog

Raspberry räumlich managen

Veröffentlicht am

Schon lange war ich auf der Suche nach einer Möglichkeit meine 3 Raspberry PIs räumlich zu managen. Hintergrund war, dass ich die Raspberry PIs nicht immer, je nach Gebrauch, wieder rausholen wollte und diese bei längeren Benutzen auch meist im Weg rumlagen. Für jeden PI wurde noch eine Stromversorgung benötigt, sodass der Dreifachstecker meist schon durch die 3 PIs ausgelastet war. Alles in Allem ein schönes Chaos. Dann bin ich über ein offenes Cluster Gehäuse gestoßen, welches maximal 4 Stück beherbergen kann. Für knappe 40€ könnt ihr das Gehäuse von GeeekPi erhalten. Das aus Akryl bestehende Gehäuse bietet Verschraubungen für […]

Blog

Lüftersteuerung Raspberry Pi

Veröffentlicht am

Vor einiger Zeit hatte ich einen Beitrag über meinen Retropie geschrieben, welchen ich in einer Kiste verbaut hatte. Besagter Pi ist von der 4 Version. Hier soll die Wärmeentwicklung höher liegen als bei vorherigen Versionen. Die Kiste und die Spiele, die per Emulator gestartet werden, sorgen für eine höhere Wärmeentwicklung. Zuerst hatte ich einfache Kühlkörper auf den Chips kleben, die ich nun mit einem größeren Körper mit Lüfter ausgetauscht habe. Das Lüfter Kit habe ich bei Amazon bestellt und kostet knappe 10€. Für die Spannungsversorgung wird ein 5V bzw 3.3V GPIO verwendet. Dabei läuft der Lüfter dauerhaft und trägt somit […]

Blog

OpenCV auf dem Raspberry Pi installieren

Veröffentlicht am

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

Blog

Luftfeuchtigkeit mit raspberry messen

Veröffentlicht am

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