PIR Sensor mit Raspberry

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo, ich habe eine Frage. Und zwar geht es darum, an einem bestimmten Stelle eine Bewegung zu loggen. Hierzu würde sich ein PIR Sensor anbieten.

    Das ist ja mit einem Raspberry sicher realisierbar. Könnt ihr mir ein paar Tipps geben? Welchen PIR Sensor? Wie logge ich die Bewegung auf dem Raspberry bzw. mit welcher Software kann ich das loggen?

    Muss der Sensor direkt an der Platine befestigt werden oder gibt es auch ein Funkempfänger, sodass der Sensor per Funk das Signal der Bewegung an den Raspberry sendet?

  • Moinsen,

    Fangen wir mal bei den Basisdaten an. Die meisten einfachen PIR [Anzeige] sind auch von der Signalausgabe sehr einfach gestrickt. Abhängig von der Empfindlichkeit / maximale Detektionsreichweiste ist das Ausgabesignal entsprechend lang. Herbei kann man zwischen einem HIGH, oder einem LOW Pegel wählen. Zusätzlich lässt sich der Öffnungswinkel ( kegelförmige Keule ) einstellen, in der die Erfassung stattfinden soll eingestellt werden, so dass auch ein mechanische Grundausrichtung der Platine ggf notwendig wird.

    Damit zum Teil Controller = RasPI und der Software. Diesen schließt du direkt an einen der vielen I/O fähigen GPIOs an, und musst diesen nur auf eine Pegeländerung überwachen. Hier bietet sich grundsätzlich die Python-Bibiothek GPIOZERO mit der Funktion Button an. In welcher Form du deine Datensammlung aufbaust, oder LOGGING, über eine ergänzend schreibende File Option, oder eine Datenbank bleibt dabei dir überlassen. Möglichkeiten gibt es sehr viele. Aufpassen in der Programmgestaltung unter ( mal angenommen ) Python musst du nur, dass das Ausgangssignal des PIR von der eingestellten Empfindlichkeit für eine gewisse Zeit auf "Ausgelöst" gesetzt bleibt. Du musst also zu einem erfassen, wenn das Eingangssignal auf "Ausgelöst" meistens HIGH springt, um deine Protokollierung zu starten = Button.wait_for_press, wie auch das zurücksetzen Button.wait_for_release abwarten, damit du nicht einen längeren Bewegungsvorgang mehrfach erfasst. Du kannst auch die Funktion

    MotionSensor dafür nutzen. So viel zur rein Kabel gebundenen Lösung.

    Wenn du eine Funklösung bevorzugst, wäre ein µC mit zB. WLAN wie der RasPi Pico W , eine ESP8266, oder eine ESP32 oder ähnliche Module denkbar. Dann müsstest du den Sonsor dort anschließen, für eine zusätzliche Spannungsquelle sorgen, und könntest mit MQTT einen Datenaustausch zwischen dem µC und dem RasPi bewerkstelligen. Voraussetzung wäre dann aber eine sicher funktionierend WLAN Verbindung. Alternativ und kostenintensiver dann eine Lösung über LORA als Funkübertragungsweg / -kette, die nicht ein WLAN voraussetzt.
    Wie man einen PIR über einer dieser Controllerboards abfragt, über MQTT bzw LORA anbindet, findest du im Netz viele Beispiele in den Programmiersprachen C/C++ und µPython, die auf diesen µC laufen. Die Datenerfassung / -speicherung in beliebiger Form auf dem Pi selber ist dann auch wieder dir und nach deinen persönlichen Anforderungen / Vorlieben frei überlassen.

    Franky

  • Hallo, zunächst vielen herzlichen Dank!

    Zitat


    Fangen wir mal bei den Basisdaten an. Die meisten einfachen PIR (Affiliate-Link) [Anzeige] sind auch von der Signalausgabe sehr einfach gestrickt.

    Ja, ich habe mir schon Sensoren angesehen, da gibt es einige.

    Zitat


    Abhängig von der Empfindlichkeit / maximale Detektionsreichweiste ist das Ausgabesignal entsprechend lang

    Die Empfindlichkeit muss nicht sehr hoch sein. In diesem Falle geht es darum, festzustellen, wann eine Kasse geöffnet wird. Da der Sensor nur eine Bewegung registrieren kann, wenn tatsächlich geöffnet wird, muss die Einstellungsmöglichkeit nicht so hoch sein wie z.B. bei der Unterscheidung eines fallenden Blattes, eines Vogels oder eines Menschen. Ich habe mich bisher mit solch einer Lösung nicht befasst. Eigentlich wollte ich es mit einem DVR machen, der POS-Geräte (Point-of-Sale) unterstützt, aber das geht aus verschiedenen Gründen nicht.

    Zitat


    so dass auch ein mechanische Grundausrichtung der Platine ggf notwendig wird.

    Ich denke, das wäre kein Problem.

    Zitat


    Diesen schließt du direkt an einen der vielen I/O fähigen GPIOs an, und musst diesen nur auf eine Pegeländerung überwachen.

    Mit "diesen" meinst du der Anschluss des Sensors an die Schnittstelle des Raspi, oder?

    Zitat


    In welcher Form du deine Datensammlung aufbaust, oder LOGGING, über eine ergänzend schreibende File Option, oder eine Datenbank bleibt dabei dir überlassen.

    Wenn eine Bewegung detektiert wird, soll diese Bewegung in einem Textdokument mit Uhrzeit (das ist wichtig) erfasst werden. Es soll für jeden Tag ein neues Dokument erstellt werden, in dem die Loggs eingetragen werden. Zudem soll jede Detektion mit einem Hinweis wie "Detektion am xx.xx.xxxx um HH:MM" per E-Mail an eine hinterlege E-Mail Adresse versendet werden.

    Zitat

    um deine Protokollierung zu starten = Button.wait_for_press, wie auch das zurücksetzen Button.wait_for_release abwarten, damit du nicht einen längeren Bewegungsvorgang mehrfach erfasst. Du kannst auch die Funktion

    MotionSensor dafür nutzen. So viel zur rein Kabel gebundenen Lösung.

    Soweit, so gut. An sich nicht schwer, denke ich. Die Funkvariante könnte sich aber evtl. besser eignen.

    Zitat


    Wenn du eine Funklösung bevorzugst, wäre ein µC mit zB. WLAN wie der RasPi Pico W , eine ESP8266, oder eine ESP32 oder ähnliche Module denkbar

    Zitat


    Dann müsstest du den Sonsor dort anschließen, für eine zusätzliche Spannungsquelle sorgen, und könntest mit MQTT einen Datenaustausch zwischen dem µC und dem RasPi bewerkstelligen.

    Wie könnte die Spanunngsquelle aussehen? Das könnte auch per USB erfolgen, oder?

    Zitat


    Voraussetzung wäre dann aber eine sicher funktionierend WLAN Verbindung.

    Eine W-LAN Abdeckung, fast im Gigabit Bereich, ist vorhanden :)

    Zitat


    Wie man einen PIR über einer dieser Controllerboards abfragt, über MQTT bzw LORA anbindet, findest du im Netz viele Beispiele in den Programmiersprachen C/C++ und µPython, die auf diesen µC laufen. Die Datenerfassung / -speicherung in beliebiger Form auf dem Pi selber ist dann auch wieder dir und nach deinen persönlichen Anforderungen / Vorlieben frei überlassen.

    Könntest du oder vielleicht andere mir hier dabei weiterhelfen? Also sagen, was ich brauchen würde, um die Funklösung zu nehmen und vor allem bei dem Quellcode. Das wäre sehr, sehr nett!!

  • Moinsen

    Die Empfindlichkeit muss nicht sehr hoch sein. In diesem Falle geht es darum, festzustellen, wann eine Kasse geöffnet wird. Da der Sensor nur eine Bewegung registrieren kann, wenn tatsächlich geöffnet wird, muss die Einstellungsmöglichkeit nicht so hoch sein wie z.B. bei der Unterscheidung eines fallenden Blattes, eines Vogels oder eines Menschen. Ich habe mich bisher mit solch einer Lösung nicht befasst. Eigentlich wollte ich es mit einem DVR machen, der POS-Geräte (Point-of-Sale) unterstützt, aber das geht aus verschiedenen Gründen nicht.

    Tja, und da waren sie wieder meine 3 Probleme, sagte das nicht mal OTTO ;)
    - Was verstehst du unter einer Kasse ? So eine Geldkassette, eine richtige Registrierkasse, oder einfach ein Döschen in dem paar Groschen aufbewahrt werden sollen ?

    - Zur Funktion eines PIR, dieser reagiert nur auf Temperaturunterschiede ( Infrarot ) in seinem eingestellten Erfassungsbereich. Ein fallendes Blatt, ein eingeschobener Geldschein macht da gar nichts. Und wenn du dann die Grundempfindlichkeit zu hoch einstellst, kann es sogar soweit gehen, wenn der Kassenkörper aus Metall ist, und dieser von einer intensiven Lichtquelle ( Sonnenlicht , Halogenscheinwerfer ) angestrahlt wird, der Sensor sich aber im inneren befindet, das es dabei zu Falschauslösungen kommt. Bzw der Objektnutzer der Kasse seinen "Gewürzprüfer" = Nase richtig in diese Box stecken muss, damit ein Vorgang überhaupt erfasst werden kann.
    Ob hierfür eine PIR wirklich der geeignet Sensor zu sein scheint, stelle ich ich erst einmal ohne weitere Details zu kennen in Frage. Eventuell reicht auch ein kleiner Supermagent, und eine einfaches Reed-Relais /-schalter, ggf. wenn es komplett auf elektronischen Wege erfasst werden soll ein HAL-Sensor, wo der Magnet am Deckel befestigt wird, und der Sensor ( nun egal welche Ausführung ) irgendwo im inneren der Kasse verborgen wird.
    Vielleicht reicht auch eine einfache etwas breitbandige Fotodiode / -transistor zu, der einfach über das einfallende Licht beim öffnen der "Kasse", solange es nicht im Stockfinsteren stattfinden soll, als Helligkeitsanstieg detektiert.

    Mit "diesen" meinst du der Anschluss des Sensors an die Schnittstelle des Raspi, oder?

    Solange nicht abschließend geklärt ist, welcher Sensor-Typ/Art dafür wirklich geeignet ist, welche ggf noch zusätzliche Auswerteelektronik benötigt wird, belassen wir es der Einfachheit bei einem GPIO, und dabei ist es egal, ob diese Sensoreinheit an ein Pi, oder ein µController geklemmt wird.

    Wenn eine Bewegung detektiert wird, soll diese Bewegung in einem Textdokument mit Uhrzeit (das ist wichtig) erfasst werden. Es soll für jeden Tag ein neues Dokument erstellt werden, in dem die Loggs eingetragen werden. Zudem soll jede Detektion mit einem Hinweis wie "Detektion am xx.xx.xxxx um HH:MM" per E-Mail an eine hinterlege E-Mail Adresse versendet werden.

    Das ist Schritt 2, die Software, die schlußendlich auf einer User-Interaktion reagieren soll. Jetzt und damit noch vollkommen offen, solange die endgültige Sensorfrage nicht geklärt ist, kann es ein Digitaler GPIO, oder auch dann aber nur bei den µControllern ein analoger GPIo übernehmen, der einen ADC ( Analog-Digitalwandler ) in der µController CPU nutzt. Danach entscheidet sich auch erst die Abfrage, bzw Programmroutine, die diesen GPIO abfragt. Ob man das Arduino verliebt mit Statemachine löst, wo der Hauptzweck, und die Hauptnutzungszeit der µC-CPU darin besteht diese dusslige Sensoreinheit abzufragen, oder ob man Hardware Interrupt'e nutzt um auf eine Pegeländerung bei digitalen Signalen, oder eine Wertänderung bei analogen Signalen ( Spannungsänderung ) zu reagieren, udn dabei aber dei CPU / den µC die meiste Zeit schlafen lässt ( Energiesparmodus ) um - wieder den nächsten Fall betrachtet Strom zu sparen muss man sowieso getrennt entscheiden.

    Wie könnte die Spanunngsquelle aussehen? Das könnte auch per USB erfolgen, oder?

    Das ist auch wieder so eine Frage mit vielen unbekannten Faktoren. Nimmst du ein Raspi PICO W als µC kannst du diesen auch mit einem relativ "langen" USB-Kabel noch mit Strom versorgen, der ggf sogar aus einer Powerbank kommen könnte. Hier kann man dann die oben schon erwähnten Fähigkeiten der Energiespar-Modi richtig nutzen, und bekommt sogar sehr brauchbare Laufzeiten hin. Einige Wochen sind durchaus realistisch, wenn man die CPU nicht mit einer Staemachine stresst, und dieser ständig im Kreis herum schickt. Nur mal zum Mitrechnen: Ein PICO ohne WLAN Nutzung braucht bei aktiver CPU ca. 20 mA bei einer Vc von 5,0 Volt. Jede aktive Nutzung des WLANs erhöht den Verbrauch auf ca 150 mA. Also kämst du rein für den µC ohne jetzt noch zu wissen oder zu erahnen welcher Sensor wirklich zum Einsatz kommt, und auch ohne das eine "Alarm" ausgelöst wird, und somit eine Nachrichtenübertragung zur Folge hätte ungefähr 500 Stunden mit einem 10Ah Akku / Powerbank hin. Also sagen wir mal ca. 250 Stunden( etwas mehr als 10 Tage ) bei normaler Benutzung sind durchaus denkbar. Bei der nutzung der Energiespar-Modi fällt er Stromhunger in den einstelligen mA-Bereich ab, was theoretisch betrachtet ein Verzehnfachung der Betriebszeit möglich machen würde. Jetzt aber auch der Nachteil des PICO's das WLAN ist nicht sonderlich Stark, also fast Sichtbeziehungen bis ca. 5 Meter zum WLAN-AP wären dann schon fast Voraussetzung.
    Hier an der Stelle auch noch den zweiten Vertreter den ESP32 genannt, der bedeutend mehr Bums auf dem WLAN hat, dann aber auch gleich Mal 500mA ( auch wieder bei einer Vc 5,0 V ) wegnuckelt. Durchschnittlich und je nach Modell gibt sich das ESP ohne Energiespar-Modi zwischen 80 und 120 mA ohne WLAN zufrieden. Was ungefähr 2-3 Tage bedeuten würde. Natürlich kannst du dann, oder damit jedes ordinäre USB Ladegerät was 500 mA liefern kann nehmen. Aber auch hier wieder gleich der nächste Punkt, wenn die µC schlafen brauchen sie je nach Empfangsqualität des WLAN Signals bis zu 30 Sekunden bis diese sich "wiedereingewählt" haben, und ihre Meldung absetzen können. Ob das Protokollrelevant ist, oder ob man da die interne RTC ( Real-Time-Clock ) bemühen müsste, bzw, eine externe I²C RTC mit eigener Pufferbatterie verwendet, damit der µC selber in der Meldungsnachricht schon die Uhrzeit mitüberträgt, hängt von Faktoren ab, die nur du kennst.

    Und damit sind wir beim Umfang der Nachrichtenübermittlung des µC's.
    Hier wäre LORA selber schneller, weil man nur Codiert die Erfassungszeit senden müsste, und die eigentliche Auswertung dem größeren PI überlässt. Aber halt auch aufwendiger, und teurer, und man kann nicht oder nur erschwert ganze Romane übertragen. Dafür aber beim Ausfall der WLAN-Infrastruktur immer noch voll nutzbar.
    Hier kommt zu tragen, oder müsstest du ausprobieren, was auch wieder keiner vorhersagen kann, wie gut, und schnell sich diese µC in einem WLAN Umfeld gegenüber den anderen WLAN Clients durchsetzen können.

    Könntest du oder vielleicht andere mir hier dabei weiterhelfen? Also sagen, was ich brauchen würde, um die Funklösung zu nehmen und vor allem bei dem Quellcode. Das wäre sehr, sehr nett!!

    Was soll ich dir hier für Codes liefern, wenn noch so viel im Unbekannten liegt ?
    Grob mal die Preise damit du weißt in welche Richtung der Zug fährt, PICOs in der Typisierung W kosten um die 8 € das Stück, die ESP32 fangen bei 12 € oder im Bundle ( Mehrfach-Set auch schon unter 10 € / Stück ) und die kleineren ESP8266 liegen in einer ähnlichen Preisregion wie das PICO W.
    Die meist zur Anwendungen kommenden µUSB Buchsen sind nicht für das ständige An- und Abstecken gemacht, das betrifft alle genannten µC -Boards. Aber auch alle diese µC-Boards haben Anschlüsse, PINs / GPIOs über die man diese Platinen mit Strom versorgen kann. Wenn die Sensorauswahl dann doch vom PIR zu einer anderen Lösung hingeht, kann man mögliche Zusatzhardware auch gleich mit auf dem Master-Board integrieren, wo man dann diese ·C Boards nur aufsteckt, und kann dort dann auch gleich genormte zb Rundstecker, oder Molex Steckverbindungen, nicht nur für die Stromversorgung, sondern auch für den Sensoranschluss verwenden. Das macht, wenn auch etwas aufwendiger das Handling leichter, und verhindert mögliche Schäden durch ein Abreißen, oder Abbbrechen der µUSB Buchse.

    Also erst einmal ans Reißbrett, alles genau durchdenken, den besten Sensor finden, und dann erst kann man beginnen sich Gedanken über eine SW Lösung zu machen.

    Franky

    Einmal editiert, zuletzt von Franky07 (10. Dezember 2022 um 19:22)

  • Hallo und vielen Dank erstmal!

    Zitat


    - Was verstehst du unter einer Kasse ? So eine Geldkassette, eine richtige Registrierkasse, oder einfach ein Döschen in dem paar Groschen aufbewahrt werden sollen ?

    Es handelt sich um eine richtige Registrierkasse, die hinter der Ladentheke steht, als in einem Fach. Da kann man leicht den Sensor anbringen, das wäre kein Problem.

    Zitat


    Zur Funktion eines PIR, dieser reagiert nur auf Temperaturunterschiede ( Infrarot ) in seinem eingestellten Erfassungsbereich. Ein fallendes Blatt, ein eingeschobener Geldschein macht macht da gar nichts. Und wenn du dann die Grundempfindlichkeit zu hoch einstellst, kann es sogar soweit gehen, wenn der Kassenkörper aus Metall ist, und dieser von einer intensiven Lichtquelle ( Sonnenlicht , Halogenscheinwerfer ) angestrahlt wird, der Sensor sich aber im inneren befindet, das es dabei zu Falschauslösungen kommt. Bzw der Objektnutzer der Kasse seinen "Gewürzprüfer" = Nase richtig in diese Box stecken muss, damit ein Vorgang überhaupt erfasst werden kann.

    Ja, gut, aber wenn die Hand eben direkt vor dem Sensor eine Bewegung macht, dann gibt es ja einen entsprechenden Temperaturnterschied. Aber es kann ja auch ein andere Bewegungsmelder sein, wie bei einer Alarmanlage, die loggt, wenn z.B. eine Türe geöffnet wird, wenn der Kontakt unterbrochen wird.

    Zitat


    Eventuell reicht auch ein kleiner Supermagent, und eine einfaches Reed-Relais /-schalter, ggf. wenn es komplett auf elektronischen Wege erfasst werden soll ein HAL-Sensor, wo der Magnet am Deckel befestigt wird, und der Sensor ( nun egal welche Ausführung ) irgendwo im inneren der Kasse verborgen wird.

    Vielleicht reicht auch eine einfache etwas breitbandige Fotodiode / -transistor zu, der einfach über das einfallende Licht beim öffnen der "Kasse", solange es nicht im Stockfinsteren stattfinden soll, als Helligkeitsanstieg detektiert.

    Kannst du irgendetwas vorschlagen, mit was man das testen könnte? Eine Fotodiode ist, denke ich, nicht soooo gut geeignet, auch wenn dort viel Licht ist.

    Zitat


    Einfachheit bei einem GPIO, und dabei ist es egal, ob diese Sensoreinheit an ein Pi, oder ein µController geklemmt wird.

    Okay, gut.

    Zitat


    Das ist Schritt 2, die Software, die schlußendlich auf einer User-Interaktion reagieren soll. Jetzt und damit noch vollkommen offen, solange die endgültige Sensorfrage nicht geklärt ist, kann es ein Digitaler GPIO, oder auch dann aber nur bei den µControllern ein analoger GPIo übernehmen, der einen ADC ( Analog-Digitalwandler ) in der µController CPU nutzt. Danach entscheidet sich auch erst die Abfrage, bzw Programmroutine, die diesen GPIO abfragt. Ob man das Arduino verliebt mit Statemachine löst, wo der Hauptzweck, und die Hauptnutzungszeit der µC-CPU darin besteht diese dusslige Sensoreinheit abzufragen, oder ob man Hardware Interrupt'e nutzt um auf eine Pegeländerung bei digitalen Signalen, oder eine Wertänderung bei analogen Signalen ( Spannungsänderung ) zu reagieren, udn dabei aber dei CPU / den µC die meiste Zeit schlafen lässt ( Energiesparmodus ) um - wieder den nächsten Fall betrachtet Strom zu sparen muss man sowieso getrennt entscheiden.

    In Ordnung, okay, klar. Was der Stromverbrauch angeht, das ist egal.

    Zitat


    Das ist auch wieder so eine Frage mit vielen unbekannten Faktoren. Nimmst du ein Raspi PICO W als µC kannst du diesen auch mit einem relativ "langen" USB-Kabel noch mit Strom versorgen, der ggf sogar aus einer Powerbank kommen könnte. Hier kann man dann die oben schon erwähnten Fähigkeiten der Energiespar-Modi richtig nutzen, und bekommt sogar sehr brauchbare Laufzeiten hin.

    Ich dachte eher daran, dass ein USB-Adapter in einer Steckdose steckt und darüber mit Strom versorgt wird, nicht über eine Powerbank. Es ist klar der Nutzen und die Zuverlässigkeit im Vordergrund, nicht das Energiesparen. Da laufen so viele Geräte, dass es das sicher nicht rausreißt.

    Zitat


    Also sagen wir mal ca. 250 Stunden( etwas mehr als 10 Tage ) bei normaler Benutzung sind durchaus denkbar. Bei der nutzung der Energiespar-Modi fällt er Stromhunger in den einstelligen mA-Bereich ab, was theoretisch betrachtet ein Verzehnfachung der Betriebszeit möglich machen würde. Jetzt aber auch der Nachteil des PICO's das WLAN ist nicht sonderlich Stark, also fast Sichtbeziehungen bis ca. 5 Meter zum WLAN-AP wären dann schon fast Voraussetzung.

    10 Tage sind viel, aber dann muss die Powerbank aufgeladen werden, dann wird das evtl. vergessen usw. - daher auf jeden Fall an der Steckdose.

    5 Meter zum AP wäre auch kein Problem, leicht zu realisieren.

    Zitat


    Aber auch hier wieder gleich der nächste Punkt, wenn die µC schlafen brauchen sie je nach Empfangsqualität des WLAN Signals bis zu 30 Sekunden bis diese sich "wiedereingewählt" haben, und ihre Meldung absetzen können. Ob das Protokollrelevant ist, oder ob man da die interne RTC ( Real-Time-Clock ) bemühen müsste, bzw, eine externe I²C RTC mit eigener Pufferbatterie verwendet, damit der µC selber in der Meldungsnachricht schon die Uhrzeit mitüberträgt, hängt von Faktoren ab, die nur du kennst.

    Das darf auf gar keinen Fall pasasieren, daher sollen sie auf keinen Fall in einen "Energiesparmodus" gehen, in den 30 Sekunden oder auch in 20 Sekunden kann es mehrere Vorgänge an der Kasse geben. Der Stromverbrauch ist egal, es muss und soll so zuverlässig wie nur irgendwie möglich ablaufen!

    Zitat


    Und damit sind wir beim Umfang der Nachrichtenübermittlung des µC's.

    Hier wäre LORA selber schneller, weil man nur Codiert die Erfassungszeit senden müsste, und die eigentliche Auswertung dem größeren PI überlässt. Aber halt auch aufwendiger, und teurer, und man kann nicht oder nur erschwert ganze Romane übertragen. Dafür aber beim Ausfall der WLAN-Infrastruktur immer noch voll nutzbar.

    Es soll ja nur das Daum und die Uhrzeit übermittelt werden. Das würde auch in der E-Mail reichen. Wenn das ein Problem wäre, auch das wäre nicht so schlimm, hauptsache es wird irgendwo geloggt.

    Zitat


    Hier kommt zu tragen, oder müsstest du ausprobieren, was auch wieder keiner vorhersagen kann, wie gut, und schnell sich diese µC in einem WLAN Umfeld gegenüber den anderen WLAN Clients durchsetzen können.

    Alternativ könnte man es auch per LAN Kabel machen, auch das würde gehen.

    Zitat


    Was soll ich dir hier für Codes liefern, wenn noch so viel im Unbekannten liegt ?

    Klar! Ich meinte nur, ob du das könntest, wenn wir nun alles wissen, wie wir es machen.

    Zitat


    Grob mal die Preise damit du weißt in welche Richtung der Zug fährt, PICOs in der Typisierung W kosten um die 8 € das Stück, die ESP32 fangen bei 12 € oder im Bundle ( Mehrfach-Set auch schon unter 10 € / Stück ) und die kleineren ESP8266 liegen in einer ähnlichen Preisregion wie das PICO W.

    Kein Problem! Auch wenn es am Ende 100,00 € kostet oder 150,00 €, denke ich, das ist dann in Ordnung.

    Zitat


    Die meist zur Anwendungen kommenden µUSB Buchsen sind nicht für das ständige An- und Abstecken gemacht, das betrifft alle genannten µC -Boards. Aber auch alle diese µC-Boards haben Anschlüsse, PINs / GPIOs über die man diese Platinen mit Strom versorgen kann. Wenn die Sensorauswahl dann doch vom PIR zu einer anderen Lösung hingeht, kann man mögliche Zusatzhardware auch gleich mit auf dem Master-Board integrieren, wo man dann diese ·C Boards nur aufsteckt, und kann dort dann auch gleich genormte zb Rundstecker, oder Molex Steckverbindungen, nicht nur für die Stromversorgung, sondern auch für den Sensoranschluss verwenden. Das macht, wenn auch etwas aufwendiger das Handling leichter, und verhindert mögliche Schäden durch ein Abreißen, oder Abbbrechen der µUSB Buchse.


    Also erst einmal ans Reißbrett, alles genau durchdenken, den besten Sensor finden, und dann erst kann man beginnen sich Gedanken über eine SW Lösung zu machen.

    Ich danke dir sehr für deine Mühe! Ich würde sagen, wir nehmen das, was du vorschlägst. Wie gesagt, Stromverbrauch ist zweitrangig, das W-LAN wäre kein Problem oder mit LAN Kabel.

    Es soll auf jeden Fall ein dauerhafter Stromkreis vorhanden sein, also keine Powerbank etc. Klar, wenn ein Sensor mit einer Lithium Batterie läuft etc., dann ist es klar.

    Wir könnten auch den "'Hall-Sensor" nehmen.

    Also meine "Vorgabe":

    So zuverlässig wie möglich, so einfach wie möglich, so schnell wir möglich. Der Preis ist auch hier absolut zweitrangig. Ich danke dir!!!!

  • Moinsen,

    Ich gehe mal davon aus, das bei der Registrierkasse etwas gemeint ist, was vereinfacht gesagt, so etwas wie eine Schublade hat, wo dann das Geld in die Fächer gelegt wird !?

    Gehen wir mal von dieser Situation aus, das es so wäre, dann müsste der PIR mit der Schublade immer mit hin und herfahren. Also wird ähnlich wie bei einem Tintenstrahldrucker, oder einem alten Nadeldrucker ein Flachbandkabel benötigt, was sich auch entsprechend Frei bewegen können müsste ohne zu knicken. Keine Ahnung ob dieser Ansatz damit überhaupt umsetzbar wäre ?
    Dann die preiswerte Variante Reed-Kontakt. Hier brauchst du den Reed-Kontakt selber und einen kleinen Magneten. Dabei fährt der Magnet mit der Schublade mit, und würde den Kontakt am Reed-Kontakt unterbrechen lassen, wenn der Magnet außer Wirkreichweite ist. Jetzt wieder die vielen Unbekannten, wo ich aus der Ferne keine Aussage treffen kann:

    - wo und wie bekommt man Beides unter ?

    - schließt die Schublade immer auf den mm genau oder hat diese auch noch ein seitliches Spiel ?

    - Je näher man diesen Magneten an den Reed-Kontakt bringt, um so sicherer ist die reine "Geschlossen" Erkennung.

    Aber ob das Magenetfeld ausreicht um sicher zu sagen, die Schublade steht nur ein winziges Stück offen, oder ist nicht richtig geschlossen worden, keine Ahnung. -> Weil der Reed-Kontakt kennt nur 2 Zustände und kann ein mögliches Mittelding nicht sicher zuordnen.

    Damit auch gleich zum HAL Sensor. Dieser gibt je nach Modell eine analoges Signal in Form einer sich ändernden Spannung aus. Also du hast auch noch über die SW einen Einfluss zu sagen, ja die Schublade ist bis zum Anschlag geschlossen, oder doch nicht ganz zu, oder ( was aber auch mit dem Reed.Kontakt möglich wäre ) zu sagen, die Schublade steht über ein gewisses Zeitlimit offen.
    Der Hal Sensor wäre günstiger, weil die Feinjustierung via Software und nicht auf mechanischem Weg erfolgen müsste. Aber nicht günstiger in der Anschaffung, weil man ggf sogar noch einen OPV als Signalverstärker benötigen würde.
    Damit wieder der Punkt ob es sich lohnt eine kleine Platine zu designen, oder vereinfacht auf einer Lochrasterplatine umsetzt, und das µC Board dann als HAT ( Aufsteckplatine ) verwendet. Hier kann man dann wirklich auf die sicheren, typischen Rundstecker gehen, wie sie bei den meisten Steckernetzteilen zum Einsatz kommen. Das sind dann mit Platine bei einem PCB Dienst, und der Bauelemente + ein paar Stecker- und Stiftleisten höchstens 50-60 Euro, inkl Netzteil.
    µC und LAN-Kabel ist erst einmal nicht ! Das würde dich ganze Sache um einiges verteuern, oder man nimmt wirklich Signalkabel die dann direkt zum PI führen.
    Hier kann ich dir dahingehend nicht weiter helfen, du müsstest dir schon ein PICO W besorgen, um sicher zu gehen, ob das mit dem WLAN klappt. Aus der Ferne keine Chance.
    Wenn das PICO funktionieren sollte, der hat eine interne RTC die man über das WLAN via NTP synchronisieren könnte.
    Dann wäre nur noch MQTT einzurichten, dass das PICO dem PI mitteilen kann, "Hallo hier ist was !" oder "Benutzer 0815 hat vergessen die Kasse zu schließen !" oder was auch immer.
    Ich würde bezüglich der besseren Feinjustierung auf die Variante Magent und HAL Sensor setzen, und wenn das PICO ausreicht, eine kleine Zusatzplatine zum aufstecken des PICOs designen ( Fritzing ) und lieber ein Netzteil mit einem klassischen Rundstecker sowie einer Zugentlastung verbauen.
    Was du dann alles mit der Software auf dem PICO auswertest, "Kasse geöffnet", "Kasse geschlossen" oder "Kasse vergessen zu schließen" ist dann alles eine Randerscheinung. Und die einfache Mail, kann das PICO auch selber versenden. Nur wenn du wirklich ein Dauer-LOG-File benötigst, dann musst du mit dem PI Kommunizieren. Dann aber das LOG nicht unbedingt auf der Boot SD Card schreiben lassen, dann eher in Richtung USB Stick, SSD oder einer via USB anschlossenen ausrangierten 2,5 " Laptop-Festplatte.

    Franky

  • Hallo, sorry, dass ich erst jetzt antworte!

    Zitat


    Ich gehe mal davon aus, das bei der Registrierkasse etwas gemeint ist, was vereinfacht gesagt, so etwas wie eine Schublade hat, wo dann das Geld in die Fächer gelegt wird !?

    Ja, genau! Also vorne kann man die Schublade rauslassen um das Geld reinzulegen bzw, rauszuholen. Diese Schublade soll dann die Bewegung auslösen.

    Zitat


    Gehen wir mal von dieser Situation aus, das es so wäre, dann müsste der PIR mit der Schublade immer mit hin und herfahren. Also wird ähnlich wie bei einem Tintenstrahldrucker, oder einem alten Nadeldrucker ein Flachbandkabel benötigt, was sich auch entsprechend Frei bewegen können müsste ohne zu knicken. Keine Ahnung ob dieser Ansatz damit überhaupt umsetzbar wäre ?

    Nein, ich plane es anders. Und zwar steht die Kasse in der Theke auf einem Fach, also so, dass man von vorne die Kasse nicht sieht. Die Theke ist aus Holz. Ich würde auf Höhe der Kasse bzw. der Schublade den Sensor anbringen, also so, dass der Sensor bändig mit der Schublade "abschließt", sodass dieser eine Bewegung detektiert, sobald die Schublade rausfährt. Dass auch beim Schließen eine Detektion erfasst wird, wäre egal.

    Zitat


    Dann die preiswerte Variante Reed-Kontakt. Hier brauchst du den Reed-Kontakt selber und einen kleinen Magneten. Dabei fährt der Magnet mit der Schublade mit, und würde den Kontakt am Reed-Kontakt unterbrechen lassen, wenn der Magnet außer Wirkreichweite ist. Jetzt wieder die vielen Unbekannten,

    An sich würde das den Zweck erfüllen, eigentlich als Alternative gar nicht schlecht!

    Zitat


    - wo und wie bekommt man Beides unter ?

    Also, Magnet in der Schublade --> kein Problem! Den Reed Kontakt, den kann man ja auch außerhalb der Kasse am Holt befestigen, oder?

    Zitat


    schließt die Schublade immer auf den mm genau oder hat diese auch noch ein seitliches Spiel ?

    Das werde ich überprüfen, aber ich denke, sie schließt genau und hat kein seitliches Spiel.

    Zitat


    - Je näher man diesen Magneten an den Reed-Kontakt bringt, um so sicherer ist die reine "Geschlossen" Erkennung.

    Ja, logisch! Wie weit muss der Magnet vom Kontakt getrennt sein, bis er als "Trennung" erkannt wird?

    Zitat


    Aber ob das Magenetfeld ausreicht um sicher zu sagen, die Schublade steht nur ein winziges Stück offen, oder ist nicht richtig geschlossen worden, keine Ahnung. -> Weil der Reed-Kontakt kennt nur 2 Zustände und kann ein mögliches Mittelding nicht sicher zuordnen.

    Dann muss sie eben immer sicher komplett geschlossen werden.

    Zitat


    Damit auch gleich zum HAL Sensor. Dieser gibt je nach Modell eine analoges Signal in Form einer sich ändernden Spannung aus. Also du hast auch noch über die SW einen Einfluss zu sagen, ja die Schublade ist bis zum Anschlag geschlossen, oder doch nicht ganz zu, oder ( was aber auch mit dem Reed.Kontakt möglich wäre ) zu sagen, die Schublade steht über ein gewisses Zeitlimit offen.

    Hört sich auch sehr gut an!

    Zitat


    Der Hal Sensor wäre günstiger, weil die Feinjustierung via Software und nicht auf mechanischem Weg erfolgen müsste. Aber nicht günstiger in der Anschaffung, weil man ggf sogar noch einen OPV als Signalverstärker benötigen würde.

    Wie gesagt, die Kosten sind zweitrangig. Es sind ja keine Unterschiede im mehrere Hundert Euro Bereich.

    Zitat


    Damit wieder der Punkt ob es sich lohnt eine kleine Platine zu designen, oder vereinfacht auf einer Lochrasterplatine umsetzt, und das µC Board dann als HAT ( Aufsteckplatine ) verwendet. Hier kann man dann wirklich auf die sicheren, typischen Rundstecker gehen, wie sie bei den meisten Steckernetzteilen zum Einsatz kommen. Das sind dann mit Platine bei einem PCB Dienst, und der Bauelemente + ein paar Stecker- und Stiftleisten höchstens 50-60 Euro, inkl Netzteil.

    Könnte man mit Kochraster machen. 50,00 € bis 60,00 € wären mMn nicht teuer! Gute Idee!

    Zitat


    Das würde dich ganze Sache um einiges verteuern,

    Wieviel? Bitte erläutere, was ich brauchen würde.

    Zitat


    Hier kann ich dir dahingehend nicht weiter helfen, du müsstest dir schon ein PICO W besorgen, um sicher zu gehen, ob das mit dem WLAN klappt

    Wäre kein Problem, das zu besorgen!

    Zitat


    Dann wäre nur noch MQTT einzurichten, dass das PICO dem PI mitteilen kann, "Hallo hier ist was !" oder "Benutzer 0815 hat vergessen die Kasse zu schließen !" oder was auch immer.

    Das dürfte ja nicht allzu schwer sein dann.

    Zitat


    Ich würde bezüglich der besseren Feinjustierung auf die Variante Magent und HAL Sensor setzen, und wenn das PICO ausreicht, eine kleine Zusatzplatine zum aufstecken des PICOs designen ( Fritzing ) und lieber ein Netzteil mit einem klassischen Rundstecker sowie einer Zugentlastung verbauen

    O.K., dann machen wir es so! Ich habe vor einiger Zeit eine Platine für eine "Wanze" ätzen lassen, aber gerne bei dem von dir genannten Anbieter! Was für ein NT und Rundstecker?

    Zitat


    Und die einfache Mail, kann das PICO auch selber versenden

    DAs würde ja auch reichen.

    Zitat


    Nur wenn du wirklich ein Dauer-LOG-File benötigst, dann musst du mit dem PI Kommunizieren. Dann aber das LOG nicht unbedingt auf der Boot SD Card schreiben lassen, dann eher in Richtung USB Stick, SSD oder einer via USB anschlossenen ausrangierten 2,5 " Laptop-Festplatte.

    Falls aus irgendwelchen Gründen eine E-Mail "verloren" geht oder sie nicht ankommt, wäre das Log evtl. doch besser. Ich würde sagen, das machen wir und dann ein 8 GB Stick, das reicht für x Jahre^^

  • Moinsen

    Hallo, sorry, dass ich erst jetzt antworte!

    geht schon in Ordnung.

    Ja, genau! Also vorne kann man die Schublade rauslassen um das Geld reinzulegen bzw, rauszuholen. Diese Schublade soll dann die Bewegung auslösen.

    Nein, ich plane es anders. Und zwar steht die Kasse in der Theke auf einem Fach, also so, dass man von vorne die Kasse nicht sieht. Die Theke ist aus Holz. Ich würde auf Höhe der Kasse bzw. der Schublade den Sensor anbringen, also so, dass der Sensor bändig mit der Schublade "abschließt", sodass dieser eine Bewegung detektiert, sobald die Schublade rausfährt. Dass auch beim Schließen eine Detektion erfasst wird, wäre egal.

    Ich gehe jetzt mal davon aus , das mit deiner nächsten Antwort das Thema PIR endgültig bei Seite gelegt ist, und wir uns auf einer der Alternativen mit einem Magneten konzentrieren ?

    An sich würde das den Zweck erfüllen, eigentlich als Alternative gar nicht schlecht!

    Deswegen sprechen wir ja auch darüber :angel:

    Also, Magnet in der Schublade --> kein Problem! Den Reed Kontakt, den kann man ja auch außerhalb der Kasse am Holt befestigen, oder?

    Tja da muss man mal schauen wie es in der Kasse aussieht, wenn die Schublade komplett raus ist, ob man da im hinteren Bereich der Schublade, wo diese an der Vorderseite im "geschlossen" Zustand oberhalb etwas Platz hätte. Wenn der Magnet in der Rückwand der Schublade befestigt ist ( Loch bohren und mit Epoxid-Harz einkleben) und ausreichend Stark ist ( Stichwort Supermagnet :baeh2: ) sollte je nach Material der Kasse es auch möglich sein durch das Schubladengehäuse hindurch in den oberen Teil der Registrierkasse diesen Magneten zumindest mit einem HAL Sensor zu erfassen. Ich stelle mir hier so eine typische alte Ladenregistrierkasse aus Holz, mit Kurbel , Kling-Kling-Kling und so einer Rotationszylinder- Preisanzeige vor- das wäre dann natürlich der Optimalfall für solche Nachrüstungen. Da ist Platz ohne Ende drin. Aber Du kannst mir via PM ( Konversation ) auch mal ein Bild dieser Kasse schicken, damit die Sache nicht gleich für jedermann Ausspähbar ist ! Das was hier steht, kann auch jeder der Tante Google zur Suche benutzt auch ohne Fornemitgliedschaft lesen.

    Wieviel? Bitte erläutere, was ich brauchen würde.

    SPI als BUS-Busprotokoll to Ethernet würde gehen. Ja, aber grob anhand der aktuellen Preise von Halbleitern, und irgendwelchen Controllerchips, dann mit dieser häßlichen RJ54 Buchse und so einem fetten LAN Kabel ? Grob mit Controller, Galvanischer Trennung, Pegelwandlern und der ganzen notwendigen Außenbeschaltung, die in Form von vielen kleinen Bauteilchen auf dich zukommt, und auch auf dieser Platine Platz finden müssten, wobei Lochraster dann schon einmal komplett Wegfällt, weil SMD Bauelemente ( Schaltkreise ) benötigt werden, kannst du gleich mal von mind. einer Verdreifachung der Kosten ausgehen.
    Ich würde dann lieber auf "Make Simple" eine 3 Drahtleitung setzen, die auch von den Steckern besser zu händeln wäre, und auch die Strippe sich besser verstecken ließe, auf das RS232 Basisprotokoll setzen. Das wäre eine RX, eine TX und eine GND Leitung, bei größeren Entfernungen auf beiden Seiten noch einen MAX232 dazwischen - denn UART RS232 hat sowohl das RasPi über die GPIOs 14 / 15 und auch der Pico schon integriert. Da muss man nicht erst den Umweg über einen LAN/WLAN Router gehen.

    Was für ein NT und Rundstecker?

    Wenn du das WLAN Nutzen könntest, ein klassisches Standard 6 Volt Netzteil, nix besonderes. Die passenden Gegenstücke / Buchsen gibt es sogar mit Schaltkontakt, dass man notfalls bei abgezogenen Netzteil die Schaltung weiter über eine interne Pufferbatterie / -akku weiter betreiben könnte. Eigentlich alles Standard Kram, der auch sehr Robust ist, im Vergleich zu so einer eher schwächlichen µUSB Buchse.

    Auf der Platine wäre dann auch ein kleiner Spannungsregler der das Pico mit seinen 5 Volt versorgen kann, SOIC08 Größe wäre vollkommen ausreichend, ob 500 mA oder 1000 mA Maximalstrombelastung wäre dann auch egal, weil die von mir bevorzugten Modelle MCP1725 ( bis 500 mA ) / MCP1726 ( bis 1000 mA ) Pin- und Anschlussgleich wären. Also sogar auf der Platine ggf sogar bei gleicher Außenbeschaltung untereinander austauschbar. Damit ließe sich dann auch der MAX232 als alternative zur WLAN Verbindung direkt befeuern ;) Ansonsten ein HAL Sensor + einen OPV sind alles kein Stromfresser. Das geht fast unter .... das sind nur wenige mA :bravo2:

    GGF könnte man auch noch eine kleine Ladeschaltung integrieren ( jetzt nur mal etwas weiter gesponnen ), dass man einen Akku als Notfallversorgung mit vorsieht, und wenn der "böse" Dieb denkt, er würde damit die Alarmanlage außer Kraft setzen, hätte er sich auch noch ins eigene Fleisch geschnitten, denn die Akkuspannung kann man mit dem PICO auch direkt überwachen. Damit wäre sogar eine MAIL mit dem Inhalt möglich jemand hat das "Zusatznetzteil" von der Kasse abgezogen. Das könnte man jetzt noch weiterspinnen bis Ultimo :auslachen:

    DAs würde ja auch reichen.

    Vorausgesetzt WLAN geht !?

    Falls aus irgendwelchen Gründen eine E-Mail "verloren" geht oder sie nicht ankommt, wäre das Log evtl. doch besser. Ich würde sagen, das machen wir und dann ein 8 GB Stick, das reicht für x Jahre^^

    Wenn PICO WLAN nicht geht, hat man dann immer noch oder als Ausfallalternative möglicher weise das RS232, so dass das große PI dann sowohl LOG wie auch den Mailversand übernimmt.

    Franky

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!