aaronk6 Geschrieben February 20, 2014 at 18:58 Geschrieben February 20, 2014 at 18:58 Hallo zusammen, ich möchte eine Push Notification auf mein iOS-Gerät erhalten, wenn jemand bei mir an der Tür klingelt. Die alte Klingel soll weiter funktionieren. So sieht mein Setup bisher aus: Türklingel ist mit Analog In Bricklet verbunden (Parallelschaltung, siehe Foto)Masterbrick ist per USB an Mac mini angeschlossen (ohne Hub)Python-Script registriert einen Callback für eine Spannungsänderung auf mehr als 250 mV (beim Klingeln messe ich etwa 1V) Das funktioniert soweit, aber nach drei mal Klingeln geht die USB-Verbindung reproduzierbar kaputt: 2014-02-19 22:50:23.061920 <W> <usb|usb_transfer.c:85> Read transfer 0x7fb21a001168 returned with an error from Master Brick [XXXXXX]: LIBUSB_TRANSFER_ERROR (1) 2014-02-19 22:50:23.062002 <E> <usb|usb_transfer.c:256> Could not submit read transfer 0x7fb21a001168 to Master Brick [XXXXXX]: LIBUSB_ERROR_PIPE (-9) (Die ID meines Master Bricks habe ich unkenntlich gemacht.) Erst nach neu Anschließen des USB-Steckers geht es wieder. Habt ihr Ideen, woran das liegen könnte? Ich werde es als nächstes mit einem anderen Rechner testen – da das mit größerem Aufwand verbunden ist, wollte ich vorher mal fragen, ob das Setup prinzipiell in Ordnung ist und ob dieser Fehler eventuell schon bekannt ist. Detaillierte Informationen zu meiner Hardware/Firmware in meiner Signatur. Danke! Aaron Zitieren
rasby Geschrieben February 20, 2014 at 21:22 Geschrieben February 20, 2014 at 21:22 Hallo, ich bin zwar eher ein Newbie, aber läuft die Klingel mit Wechselstrom? (wie bei mir Zuhause) Wenn die Klingel mit Wechselstrom läuft wird es pro Sekunde einige Events ( 100?) auslösen. Zitieren
aaronk6 Geschrieben February 21, 2014 at 07:58 Autor Geschrieben February 21, 2014 at 07:58 Hallo rasby, Danke für deine Antwort! Bzgl. Gleichstrom oder Wechselstrom bin ich mir nicht sicher und habe leider kein Equipment da, um das zu messen. Möglicherweise hilft der Graph im Brick Viewer – Screenshot im Anhang. Deutet der auf Wechselstrom hin? Wenn ja, wie kann ich das Problem dann lösen? Ist der Analog In nicht für Wechselstrom geeignet? Aaron Zitieren
photron Geschrieben February 21, 2014 at 09:39 Geschrieben February 21, 2014 at 09:39 Das Analog In Bricklet ist für Gleichspannung gemacht. Von deinem Bild her sieht das nach einer typischen Klingel mit 12V Wechselspannung aus. Bei der negativen Halbwelle verpolst du dann die Eingänge des Bricklet was erklären kann warum der Master Brick aus dem Takt kommt. Du kannst eine Diode zwischen Klingel und Bricklet setzen, so dass nur noch die positive Halbwelle durchkommt und das Bricklet nicht mehr verpolt wird. Zitieren
aaronk6 Geschrieben February 26, 2014 at 07:28 Autor Geschrieben February 26, 2014 at 07:28 Hallo photron, vielen Dank für die Hinweise! Ich habe nun eine Diode dazwischen gesteckt (siehe Foto). Das Ergebnis ist, dass ich jetzt weniger Spannung messe und das Problem nicht mehr direkt nach drei mal Klingeln auftritt. Sun Feb 23 13:44:32 2014 Door bell rang! (0.539V) Sun Feb 23 14:08:02 2014 Door bell rang! (0.79V) Sun Feb 23 14:08:31 2014 Door bell rang! (0.362V) Mon Feb 24 09:29:39 2014 Door bell rang! (1.201V) Mon Feb 24 19:25:02 2014 Door bell rang! (0.782V) Mit Sturmklingeln kriegt man es aber leider immer noch kaputt. Hast du eine weitere Idee, woran das liegen könnte? An meinem Script bzw. der dort festgelegten Debounce Period liegt es wohl nicht, da das Problem auch auftritt, wenn ich mir die Spannung im brickv angucke. Hält man den Klingelknopf gedrückt, tritt der o.g. USB-Fehler auf und der brickv zeigt dauerhaft den zuletzt empfangenen Wert an. Zitieren
Gast Robin Geschrieben February 26, 2014 at 15:23 Geschrieben February 26, 2014 at 15:23 Kann es vielleicht daran liegen, dass der callback zu häufig auslöst und die Leitung immer noch verstopft? Hast du mal versucht die Werte zu Pollen anstatt den callback zu benutzen? Edit: die debounce Periode wird zum entprellen genutzt. Versuch mal die callback Periode hochzusetzen. Zitieren
aaronk6 Geschrieben February 26, 2014 at 19:39 Autor Geschrieben February 26, 2014 at 19:39 Hi Robin, das Problem tritt auch auf, wenn ich gar keinen Callback verwende, sondern mir einfach nur im brickv den Graph ansehe. Der brickv wird ja wahrscheinlich regelmäßig pollen, oder? Zitieren
Gast Robin Geschrieben February 26, 2014 at 19:55 Geschrieben February 26, 2014 at 19:55 Ich habe mir gerade mal den Quellcode des BrickV angesehen. Er benutzt auch Callbacks: https://github.com/Tinkerforge/brickv/blob/master/src/brickv/plugin_system/plugins/analog_in/analog_in.py#L47 Zum Test könntest du aber auch versuchen ein anderes Bricklet im BrickV anzusehen und sturmzuklingeln. Wenn es dann zu einem Absturz kommt liegt es nicht an dem Callback. Edit: Sollte der rote Draht der so entstandene Pluspol sein, dann müsste er in die VIN Anschlussklemme gehen. Der schwarze an den GND Zitieren
aaronk6 Geschrieben March 2, 2014 at 16:30 Autor Geschrieben March 2, 2014 at 16:30 Ich habe leider kein weiteres Bricklet zur Hand, aber ich denke, dass ich die Callbacks als Fehlerursache ausschließen kann. Das Problem tritt nämlich auch auf, wenn weder der brickv noch mein Script laufen, also gar keine Callbacks registriert sein dürften. Was den Plus-Pol angeht: Ich habe die Diode probehalber umgesteckt (siehe Foto) – keine Besserung. Kann es sein, dass der Analog In nicht mit der pulsierenden Gleichspannung zurecht kommt? Soll ich’s mal mit einer Brückengleichrichtung und einem Kondensator versuchen, um die Spannung zu glätten? Oder gibt’s ein anderes Bricklet, was für diesen Anwendungsfall besser geeignet wäre? Ich bin gerade auf dieses Howto gestoßen: http://www.tinkerforge.com/de/doc/Kits/HardwareHacking/DoorbellNotifier_HardwareSetup.html Dort wird ein Industrial Digital In 4 Bricklet verwendet. Zitieren
borg Geschrieben March 2, 2014 at 23:39 Geschrieben March 2, 2014 at 23:39 Das Industrial Digital In Bricklet ist für die Anwendung auf jeden Fall besser geeignet, da die negativen Spannungen dort auf Grund der galvanischen Trennung keinerlei Auswirkung haben. Warum die Diode hier keine Wirkung zu zeigen scheint weiß ich allerdings auch nicht. Da müsste man genau nachmessen welche Spannungen beim Bricklet nun noch ankommen. Zitieren
aaronk6 Geschrieben March 3, 2014 at 07:24 Autor Geschrieben March 3, 2014 at 07:24 Danke, Borg. Ich habe mir nun das Industrial Digital In 4 Bricklet bestellt. Interessehalber: Wie würde ich die Spannung nachmessen? Mit einem Multimeter? Zitieren
aaronk6 Geschrieben March 6, 2014 at 18:22 Autor Geschrieben March 6, 2014 at 18:22 So, das Industrial Digital In 4 Bricklet ist im Einsatz. Wie es aussieht, läuft’s nun stabil Vielen Dank für die tatkräftige Unterstützung! Zitieren
aaronk6 Geschrieben March 6, 2014 at 21:21 Autor Geschrieben March 6, 2014 at 21:21 Falls jemand Interesse an dem Script hat, das die Push Notifications verschickt: doorbell.py com.aaronk6.doorbell.plist Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.