Posts by Kelvin

    Eine Option wäre mMn ein QR-Code.

    Ist tatsächlich eine Option, für solche Einsatzwecke gibt es aber noch "ArUco"-Marker, die besser geeignet sind, weil sie nicht so komplex sind und sich schneller erkennen lassen. 5cm sind auch echt nicht viel, also schätze ich mal, dass deine Objekte sowieso schon ziemlich klein sind und nicht viel Platz für einen großen QR Code haben:

    Der Nachteil an ArUco-Markern ist, dass du weniger Informationen in den Codes selbst speichern kannst. Hier sind beispielhaft ein paar solcher "Dictionaries" aufgelistet, mit denen sich 4x4 bis 7x7 Pixel große Marker generieren lassen, die dann 50, 100, 250 oder 1000 eindeutige IDs haben können: https://pyimagesearch.com/2020…co-dictionaries-in-opencv


    Hier ist noch eine interaktive Seite, wo du dir die Marker genauer anschauen kannst: https://chev.me/arucogen/


    Zu 1. Die Pi-Cameras erfüllen die Bildrate. Wenn du die Auflösung verringerst, kannst du sogar noch höhere Bildraten erzielen. Bei 640x480 Pixeln kann die 120° Kamera sogar 90 FPS erreichen. Den Flaschenhals sehe ich eher beim Raspberry Pi selbst, weil Videoverarbeitung relativ viel Ressourcen braucht.


    Zu 2.: Sobald es irgendwie um Kameras und Detektion geht, kommst du an "OpenCV" nicht vorbei. Das was du vorhast fällt in den Bereich von "Computer Vision" (das ist das CV in OpenCV) und OpenCV ist da der absolute Platzhirsch. Die Detektion von ArUco-Markern ist sogar auch schon vorhanden und mit ein paar Zeilen Code erledigt.


    Zu 3.: Ich meine, ich habe irgendwo mal einen Adapter gesehen, aber was spricht gegen eine normale USB-Kamera? Die sind robuster, haben längere Kabel und meistens auch eine bessere Qualität. Der Pi funktioniert auch mit anderen Kameras und muss nicht zwingend die Pi-Kamera benutzen.


    Zu 4.: Ja, das geht: https://pyimagesearch.com/2016…-raspberry-pi-and-opencv/

    Ob der Pi dann aber noch zufriedenstellend schnell die Objekte erkennt, kann ich dir nicht sagen. Kannst du die Kamera nicht etwas höher anbringen, um dein Sichtfeld zu vergrößern?

    Auch wenn ich schon seit Ewigkeiten auf dieses Update gewartet habe, bin ich noch nicht dazu gekommen es zu installieren - werde ich demnächst aber machen. Am meisten freue ich mich über die Integration von WireGuard, weil es dann endlich zeitgemäßes VPN über die Fritzbox gibt. Seit der Ankündigung, dass WireGuard auf die Fritzbox kommt, habe ich den Gedanken verworfen meinen eigenen VPN auf einem Raspberry aufzusetzen 😅 Deren vorheriges System hat zwar auch funktioniert, aber die Einrichtung, besonders auf Computern, war absolut schrecklich, weshalb ich es überwiegend nur auf dem Handy genutzt habe.

    Vor dem Update muss ich aber nochmal gucken wie es mit der Kopplung von mehreren Fritzboxen aussieht. Die läuft nämlich auch über VPN, allerdings ist die andere Box keine 7590 und hat deshalb auch kein WireGuard. Wäre schade, wenn ich mir das jetzt zerschieße.

    Wenn man keine GPIO braucht, würde ich eher über einen Barebone PC nachdenken.

    Das ist ein wichtiger Punkt. Auch wenn wir im Raspberry Pi Forum sind, sollte man auch mal über den Tellerrand schauen, was es noch so für kleine Computer gibt, die für den eigenen Anwendungsfall besser geeignet sein könnten.


    Für reines Hosting habe ich letztens das "Zima Board" gefunden: https://www.zimaboard.com/zimaboard/product

    Hat eine ähnliche Größe wie die RPis, kommt aber mit 2x Gigabit Ethernet, 2x SATA Anschlüssen und sogar 1x PCIe. Gerade der PCIe Anschluss gibt einem nochmal ordentliche Vorteile, weil man z.B. einen SATA-Adapter benutzen kann, um noch mehr Speicher anzuschließen (bis zu 36TB laut Website) oder eine noch schnellere Netzwerkkarte benutzen kann. Wenn du einen Videoserver (Jellyfin, Plex, ...) hast, kannst du sogar eine Grafikkarte anschließen, um die Hardwarebeschleunigung für das Transcoding zu nutzen.

    Einzige Alternative ist dann das Auslesen mit Kameras, was zwar nicht ganz so schön ist, aber so hat man immerhin etwas und du brauchst weder Netzbetreiber noch einen Elektriker. Dafür gibt es dann dieses fertige Projekt und du bräuchtest mehrere Mikrocontroller: https://github.com/jomjol/AI-on-the-edge-device

    Es scheint so, als wäre das hier untergegangen. Nach all den weiteren Beiträgen sind Kameras doch nicht mehr so eine unschöne Lösung, weil viele Probleme damit umgangen werden können:
    - Kein physischer Zugriff auf IR-Schnittstelle wegen verplombten Gehäuse --> Kamera kann von außen angebracht werden; kein Bohren nötig

    - Zwei Zähler haben die Schnittstellen abgeklebt --> Kamera braucht sowieso nur das Display, das nicht abgeklebt ist; auch keine PIN nötig

    - Lange Distanzen --> Die ESP32-Cams müssen nicht über lange USB-Kabel verbunden werden


    Nur bei der Sache mit dem WLAN muss man sich noch was einfallen lassen. Wenn da unten aber schon ein LAN-Kabel liegt, kann man dort auch eine WLAN-Bridge platzieren. Die ESPs verbinden sich über WLAN mit der Bridge, senden ihre Daten an diese und die gibt es dann über's Kabel weiter.

    Das wird nichts mit den Leseköpfen. Die müssen komplett an der Gegenstelle anliegen und können nicht aus so einer großen Distanz ausgelesen werden.


    Ich würde mich beim Netzbetreiber erkundigen, ob man (--> ein zugelassener Elektriker) in die Kästen kleine Löcher bohren darf, um die USB-Stecker der Leseköpfe hindurchzufädeln oder ob das schon zu viel des Guten wäre.


    Einzige Alternative ist dann das Auslesen mit Kameras, was zwar nicht ganz so schön ist, aber so hat man immerhin etwas und du brauchst weder Netzbetreiber noch einen Elektriker. Dafür gibt es dann dieses fertige Projekt und du bräuchtest mehrere Mikrocontroller: https://github.com/jomjol/AI-on-the-edge-device

    Wenn es von vornherein schon geplant ist, dass du mehrere Dinge auf dem Pi laufen lassen willst, würde ich zu Docker greifen. Ist die elegantere und nervenschonendere Lösung. Ich selbst bin zwar Team ioBroker und benutze dafür (noch) nicht Docker, aber das liegt daran, dass das Image noch nicht so ausgereift ist wie beim Home Assistant. Als ersten Docker-Container solltest du dir "Portainer" installieren, denn damit wird das Aufsetzen aller anderen Container deutlich leichter. Nebenbei ein Pi-hole aufsetzen ist dann auch ein Kinderspiel und dazu gibt es zahlreiche Videos auf YouTube.


    Das HA OS könnte für dein Vorhaben dann doch zu abgespeckt sein, sodass du immer erst alles nachinstallieren musst, wovon sonst ausgegangen wird, dass es standardmäßig vorhanden sein sollte.


    So als Tipp kann ich dir "linuxserver.io" (https://fleet.linuxserver.io/) nennen, was eine gute Anlaufstelle für Docker-Container ist. Einfach mal durchklicken und gucken, was interessant klingt. Da gibt es z.B. auch schon "grocy", womit du deinen ganzen Haushalt tracken kannst (Einkaufsliste, Rezepte, Kühlschrank Inventur, Speiseplan für die Woche, usw.). Der Vorteil an linuxserver.io ist, dass die Container alle standardisiert und immer relativ aktuell gehalten werden.

    Strom ist aber an beiden Orten reichlich vorhanden oder muss das per Batterie laufen?


    Vielleicht ist ein "Wireless HDMI Extender" etwas für dieses Szenario:

    - Sender: Raspberry Pi, der das Kamerabild per HDMI an den Sender ausgibt. Da braucht man auch nicht viel programmieren, sondern muss nur den Videostream im Vollbild öffnen und per HDMI an den Sender anschließen.

    - Empfänger: Je nachdem was du mit dem Videostream machen möchtest, kannst du hier nur einen Monitor anschließen oder einen HDMI-Grabber/Capture Card einsetzen, um den Stream am Computer weiterzuverarbeiten.


    Beispielprodukt: https://www.amazon.de/dp/B09Q31PW5L/ (Affiliate-Link)

    Soll 200m im offenen Feld schaffen und die Antennen lassen sich aber noch aufrüsten/verlängern, damit du die z.B. durchs Fenster führen kannst.


    Ist nicht die schönste Lösung per HDMI, aber wie schon gesagt ist LoRa hier unbrauchbar und ein 24/7 Videostream per Mobilfunk wird ordentlich teuer.


    AliExpress usw. haben noch Transmitter mit höheren Reichweiten, aber da würde ich aufpassen, dass die nicht doch zu stark strahlen und du dann die Bundesnetzagentur auf der Matte stehen hast.

    Übrigens lieferte bei mir

    Code
        def round_per_minutes(self):
            try:
                return 60 / self.duration
            except ValueError:
                return 0

    diesen Fehler (in der init-Methode hatte ich self.duration = None zuvor umdefiniert in self.duration=0 :(

    Code
    return 60 / self.duration
    ZeroDivisionError: division by zero


    Ersetze except ValueError mit except ZeroDivisionError

    Wie funktioniert diese Typenprüfung (in Python)?

    Ich würde anfangs gleich self.duration = 0 setzen, anstatt noch den None Type ins Spiel zu bringen. Damit du nicht durch 0 teilst, dann vor return 60 / self.duration eine if-Abfrage, ob self.duration > 0. Im Fehlerfall könnte man 0 zurückgeben, damit speed() nicht mit leeren Händen dort steht und dann immerhin "0 km/h" anzeigen kann. Im Normalfall sollte dieses Problem auch nur ganz zu Beginn ein einziges Mal passieren, weshalb ich da jetzt nicht mit Kanonen auf Spatzen schießen würde und jeden möglichen Fehler abfange, umwandle oder groß eine Fehlermeldung präsentiere.

    Das ist doch eingentlich ein großes Problem, vor allem wenn zb. Kinder und Jugendliche das WLAN Passwort ihrer Eltern herausfinden möchten. Was meint ihr dazu?

    Deine Sorge ist also, dass Kinder an den Computer ihrer Eltern gehen, den Raspberry Pi Imager öffnen, dort in die Einstellungen gehen und dann das WLAN-Passwort auslesen? Na das ist ja wohl die absolute Höhe und kommt bestimmt seeeeehr häufig vor! Das muss aber schleunigst was gemacht werden!!!


    ...wie zum Beispiel den Computer mit einem Passwort sichern?



    Über "Eigenschaften für Drahtlosnetzwerk <SSID>" geht es übrigens auch ohne Raspberry Pi Imager:

    Docspell kannte ich noch gar nicht, sieht aber vielversprechend aus. Anfangs habe ich mit Papermerge (https://github.com/ciur/papermerge) experimentiert, weil paperless-ng genau zu der Zeit auf dem absteigenden Ast war und nicht weiterentwickelt wurde. Als paperless-ngx dann geboren war und gleich mit einer relativ großen Community gestartet ist, habe ich diesem neuen Ableger wieder mehr Aufmerksamkeit geschenkt. Von den Funktionen sind diese beiden ähnlich, wobei paperless-ngx weiter ausgereift ist und es mehr Unterstützung in der Entwicklung gibt, während Papermerge quasi ein ein-Mann-Projekt ist.


    Was mir bei paperless-ngx jedoch fehlt ist das, was Docspell mit "Multi-user per Account" bewirbt. Bei paperless-ngx kann man keine gemeinsamen Dokumente haben, die man sich z.B. in der Familie teilt (ist zumindest mein aktueller Stand). Aber sonst sieht Docspell fast schon aus wie ein Fork von paperless-ngx, weil der Aufbau und die Funktionen wirklich sehr ähnlich sind. Mich würde nur interessieren, wie Docspell die Dateien ablegt, denn da fand ich paperless-ngx schon mal deutlich besser als Papermerge. Dort kann man mit einfachen Regeln festlegen, dass z.B. ein Dokument von User xyz im Pfad <User xyz>/<aktuelles Jahr>/<Kategorie>/<Name Absender>_<Datum>.pdf (Beispiel: userXYZ/2022/Finanzen/DeutscheBank_2022-08-19.pdf) gespeichert wird. Diese ganze Ordnerstruktur aller Benutzer kann man so leicht in einen Cloud-Dienst einbinden, sodass die Dateien dort genau so schön sortiert vorliegen und gesichert sind.


    Reicht ein Pi mit 4GB aus?

    Laut Dokumentation von Docspell reichen 4GB aus, 8GB werden aber empfohlen (https://github.com/docspell/rpi-scripts#hardware). Paperless-ngx habe ich mal auf einer alten Mühle mit 2GB RAM getestet und das funktioniere zwar auch, war aber etwas langsam im Umgang mit OCR und es konnte immer nur eine Sache zur Zeit gemacht werden. Also Datei 1 -> OCR -> Tags extrahieren -> Datei einsortieren -> Datei 2 -> OCR -> ...

    Schneller ist natürlich besser, aber wenn man die Dateien nicht sofort braucht und nicht immer hunderte Dateien gleichzeitig hochlädt, kommt man mit etwas Geduld auch voran. Ich würde beim nächsten Mal aber auch mindestens 4GB RAM nehmen und sogar mind. 8GB wenn ich bei Docker noch andere Sachen laufen lassen möchte (Smart Home, AdGuard, Bitwarden, ...).


    Spricht etwas gegen gegen Raspberry Pi 400?

    Also mein Fall ist der Pi 400 jetzt nicht wirklich. Wenn du den Pi für dein DMS als Server einsetzt, wird der sowieso nur in der Nähe vom Router liegen und wenig Beachtung geschenkt. Da ist ein normaler Pi wesentlich kompakter, als eine Tastatur, die da nur herumliegt. Ist ja ganz praktisch, dass da gleich eine Tastatur integriert ist, aber einen Monitor wirst du dann immer noch brauchen. Am elegantesten ist es über z.B. Bitvise SSH Client (finde ich besser als Putty: https://www.bitvise.com/ssh-client-download) auf den Pi zuzugreifen, die elementaren Dinge in der Konsole zu machen und der Rest geht dann auch wieder über Web-Oberflächen. Gerade bei Docker empfiehlt es sich Portainer (https://www.portainer.io/) zu installieren und dann darüber alles Docker-relevante zu managen.

    Das packt auch keine 5 Meter (ggf. aber mit Mehrfacheinspeisung? Nicht ganz sicher.....)

    Mit Mehrfacheinspeisung muss es funktionieren. Am besten machst du das alle 2m, was hinter einem Fernseher einfach zu handhaben ist. Ich würde es sogar an jeder Ecke einspeisen, weil man da sowieso die Eckverbindungen lötet und dann auch gleich neu einspeisen kann.

    Das war dann zuviel des guten und ein paar LED's haben geschmort/gebruzelt 8o

    Das war auch dumm. Zuvor hast du zwei 5V Netzteile genommen und dann ein 24V Netzteil. 5V ≠ 24V, aber was mit zu viel Spannung passiert weißt du ja jetzt.


    Ich gehe mal davon aus, dass du einen Standard WS2801 Streifen mit 32 LEDs pro Meter hast. Der erste Artikel bei Amazon hat in der Beschreibung stehen, dass dieser Streifen bei 5m Länge 48W Leistung hat und ein paar Zeilen drunter steht sogar, dass ein 5V 10A Netzteil empfohlen wird. Dieses Netzteil hast du bereits.


    Zusammenfassung: Benutze das 5V 10A 50W Netzteil und speise an jeder Ecke hinter dem Fernseher neu ein.


    EDIT: Und wenn du die LEDs ersetzt, achte darauf die richtigen zu nehmen -> exakt die LEDs, die auf dem Streifen sind. Keine 12V LEDs. Keine 24V LEDs. Keine einfarbigen LEDs. Keine einfachen RGB LEDs von einem 5€ Streifen von Aldi.

    Kannst du mir noch verraten was du für Sensoren benutzt?

    Ich habe diese Wetterstation (https://www.amazon.de/dp/B085WJZTD6 (Affiliate-Link)) und lese diesen mitgelieferten Temperatur- und Feuchtigkeitssensor aus. Das gute an dem Sensor ist (was mir auch erst später aufgefallen ist), dass es das Nexus Protokoll nutzt, wofür es schon ein komplett fertiges Programm mit MQTT-Anbindung gibt: https://github.com/aquaticus/nexus433


    Sollte ich in Zukunft andere 433MHz Sensoren hinzufügen (Licht, Regen, ...) sollen, nehme ich wieder rtl_433, weil das Programm nämlich so einiges decodieren kann. Mit einer guten Antenne kannst du auch die ganzen Sensoren deiner Nachbarschaft empfangen und auswerten 😅

    a)

    UbiBot bietet wohl "Channel Data Forwarding" an (https://www.ubibot.com/platfor…/channel-data-forwarding/). In der UbiBot Konsole musst du eine URL angeben, an die die Daten weitergeleitet werden sollen. Das macht die Sache etwas umständlicher, weil du jetzt einen DynDNS-Dienst brauchst, damit UbiBot etwas an deinen Pi senden kann. Weil du sowieso schon InfluxDB benutzt, kannst du zusätzlich noch Telegraf einsetzen, was die Datenerhebung vereinfacht. Für Telegraf gibt es dieses Plugin (https://www.influxdata.com/integration/http-listener-v2/), das auf HTTP Anfragen reagiert und die empfangenen Daten in InfluxDB speichert.


    Sieht dann ungefähr so aus:

    UbiBot misst Wetterdaten -> werden an die UbiBot Plattform gesendet -> Plattform macht eine Weiterleitung und sendet Daten an deine Domain/IP -> Telegraf ist der Empfänger (Port Forwarding auf deinen Pi und Port von Telegraf) -> Telegraf kann die Daten noch etwas umschreiben -> Telegraf speichert Daten in InfluxDB


    b)

    Ich benutze bei mir einen normalen Außensensor einer Wetterstation, der auf 433MHz funkt. Am Pi habe ich einen passenden Empfänger und schreibe dann die Daten in InfluxDB. Wichtig ist nur, dass die Sensoren nicht allzu "gut" sind und z.B. mit Verschlüsselungen arbeiten. Mit dem Programm rtl_433 (https://github.com/merbanan/rtl_433) lassen sich sehr viele einfache Funk-Sensoren empfangen und die Werte anzeigen. Am besten vor dem Kauf gucken, ob ein gewisser Sensor schon unterstützt wird.

    Für Gas- und Wasserzähler gibt es dieses Projekt hier: https://github.com/jomjol/AI-on-the-edge-device


    Wenn du weiterhin ein Smart Home ausbauen möchtest, solltest du dir schon zu Beginn eine Zentrale mit z.B. ioBroker oder Home Assistant aufsetzen. Das wird dann dein zentraler Sammelpunkt für alle Daten. Für den Stromzähler wird es mit einem Pi Zero W und dem Lesekopf am einfachsten sein und für die anderen beiden nimmst du das oben genannte Projekt. Die senden dann in einem Intervall ihre Daten an einen "größeren" Pi - deiner Zentrale - und dort kannst du dann auch alles schön visualisieren und anderweitig mit den Daten arbeiten.


    Man könnte auch einen einzigen Pi einsetzen und dort einen Lesekopf und zwei Webcams anschließen. Dann liegt es nur noch an deinen Programmierkenntnissen.

    Wie raspbastler schon sagte, sind die Teile leider verdammt teuer, weshalb man überwiegend nur diese kleinen Displays findet. Andererseits hat eine sehr einfache Google-Suche mit "eink 30 inches" gereicht, um schon mal Displays in der Größe zu finden... https://shopkits.eink.com


    E-Ink mit Touchscreen in der Größenordnung ist aktuell Zukunftsmusik, würde sich aber mit einem sogenannten "Infrarot-Touchscreen-Rahmen" leicht nachrüsten lassen.