DIY - "Toniebox" Zutaten: ESP8266 + RFID Reader PN532 & Espeasy + Sonos Play1

Begonnen von Joejoe, 08 Januar 2019, 16:58:33

Vorheriges Thema - Nächstes Thema

parabacus

Coole Idee!!!  ;D
Ich fang auch grad an, mich in die ESPs einzuarbeiten, hab wegen einem anderen Anwendungsfall schon ein PN532-Modul und WeMos D1 bestellt.
Aus Interesse - und vielleicht könnt's auch damit gehen - ein DFPlayer-Modul - hat SD-Karten-Slot.
Einen LMS hätte ich auch laufen und eine Squeezebox dazu, sowie einen Twonky-Media-Server - irgenwas muss sich da doch auch zaubern lassen.  ;)

Ich les mal mit und studiere, was ihr schon so versucht habt - erst ist da noch ein anderes Projekt zu beenden.
Stiebel Eltron LWZ 504 / FHEM auf Rasperry Pi 3 / THZ / Weather / TABLETUI / SB_SERVER / SB_PLAYER  / OBIS / Verkehrsinfo / speedtest / Presence / FRITZ / ZWDongle / ZWAVE / Calendar / CALVIEW/ IPCAM/ ABFALL / ESPEasy

Tedious

Ich bin jetzt erst mal auf den Tonuino umgeschwenkt. Nicht so charmant wie die LMS Varianten, aber die Kinder können den halt auch mit zu Opa/Oma nehmen und ihre Sachen abspielen. Die ESP-Variante mit LMS ist charmant, wird auch noch Einzug halten, denn aber als Festeinbau im Kinderzimmer...
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

gloob

Meine RFID Box mit 3 Buttons nimmt auch langsam Formen an.
Die Stromversorgung erfolgt über einen Hohlstecker auf der Rückseite, ist mechanisch deutlich stabiler als die USB Buchse am Wemos.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Frank_Huber

Zitat von: gloob am 29 Januar 2019, 14:32:40
Meine RFID Box mit 3 Buttons nimmt auch langsam Formen an.
Die Stromversorgung erfolgt über einen Hohlstecker auf der Rückseite, ist mechanisch deutlich stabiler als die USB Buchse am Wemos.
was willst für so ein Gehäuse? ;)

gloob

Kann ich dir sagen, wenn ich es fertig gedruckt habe und alles passt :)
Sollte aber nicht zu teuer werden.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

nils_

viele Wege in FHEM es gibt!

gloob

Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Joejoe

Meine Ausführung ist nicht so professionell, aber das Gehäuse lässt sich ja noch ändern.

Leider hab ich ein Performance-Problem:
Wenn die Karte auf dem Leser liegt, ist der CPU Load bei 85% und die Tastbefehle (Volumen usw) von den GPIO's kommen nicht mehr sicher zum FHEM durch.  :-[

Hab gelesen dass der Nodemcu auch mit 160MHz laufen kann. Würde das etwas verbessern?
Und wenn ja, kann mir jemand verraten wie ich ESPEasy dazu bring den ESP auf 160MHz laufen zu lassen?

Joe

gloob

Willst du nur ein auflegen der Karte erkennen oder auch ein Weg nehmen? Kannst du mal deien Source Code zeigen? Da kann man bestimmt was machen.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Joejoe

Über die Rules habe ich ein Bit erstellt, dass die Anwesenheit der Karte übermittelt:

https://forum.fhem.de/index.php/topic,95552.msg884708.html#msg884708

Aber auch wenn die Rules leer sind steigt bei aufgelegte Karte die CPU-Load auf 80%  :o

parabacus

Nachdem ich heute auch mal mit dem RFID-Leser was gebastelt hab, bin ich auf ein scheinbar reproduzierbares Problem gestossen.

Ich hab meine Applikation programmiert - RFID-Leser per ESP-01 angeschlossen und der übermittelt ausschliesslich die Tag-Info an FHEM, wo eine Alarmanlage de-/aktiviert werden soll. Soweit funktioniert das alles inzwischen wie gewünscht.
Als ich fertig war und lediglich mal den ESP-Baustein mit dem RFID-Leser von der Spannung kurzzeitig getrennt habe, sendet der PN532 die Tag-Info nur noch für eine Sequenz. Gehe ich mit dem selben oder einem anderen RFID-Chip ans PN532-Modul, liest der den nicht. Erst wenn ich mindestens das PN532-Modul kurz resete, liest dieses den Tag (egal welchen) wieder ein, aber auch nur für eine Sequenz.
Das Problem ist weder im FHEM und auch nicht in ESPEasy - beides kann ich 100%ig auschliessen.

Dann das Lustige.... - spannungslos liegen lassen für mehrere Stunden löst das Problem.  ??? Dann wieder angestöpselt, tut er das was er soll! - Tag dran *Piep*, Tag dran *Piep*, usw.

Das kapier ich nicht, konnte es aber inzwischen schon dreimal so reproduzieren. Kennt das Phänomen jemand?

Btw - auf der Seite von ELECHOUSE gibt's übrigens noch die Info, dass es China-Plagiate mit schlechter Performance gäbe. Ich kann aber nicht identifizieren, ob meines echt oder gefälscht ist.
https://www.elechouse.com/elechouse/images/product/PN532_module_V3/Fight_copy.pdf
Stiebel Eltron LWZ 504 / FHEM auf Rasperry Pi 3 / THZ / Weather / TABLETUI / SB_SERVER / SB_PLAYER  / OBIS / Verkehrsinfo / speedtest / Presence / FRITZ / ZWDongle / ZWAVE / Calendar / CALVIEW/ IPCAM/ ABFALL / ESPEasy

parabacus

Ich hab jetzt aus einem anderen Grund mit einem WeMos-D1 neu aufgesetzt, das Phänomen blieb aber erhalten.

Bei der Konfiguration des PN532 gäbe es ja noch einen Punkt "Reset-Pin". Der stand bei mir bisher auf "None".
Jetzt dachte ich, dass die Konfiguration auf einen (belibigen?) Pin dieses irgenwie rücksetzen würde, was vielleicht das Problem lösen könnte. Im Wiki steht ja auch, dass das Modul ab und zu in einen Fehlerzustand ginge. Nachdem ich den Pin konfiguriert und ansgschlossen habe, hat sich aber auch nichts verbessert.
Mein Problem hab ich jetzt aber ganz einfach und pragmatisch gelöst - hab mir an einem Pin einen Toggle per Timer konfiguriert, der dann den Reset-Eingang alle paar Minuten für 1s auf Ground zieht und damit den Reset auslöst. Seit dem läuft's "stabil" (..dofern man das so nennen kann, wenn man dem Modul zyklisch eins auf die Mütze haut  :o).

Neues Problem:
Die Rück-Konfiguration des Reset-Pins bei der Task-Konfiguraton des PN532 lässt sich jetzt aber irgendwie nciht mehr auf "Node" zurückstellen.  >:( Im Log kamm daher auch immer ein Error dazu.
Stiebel Eltron LWZ 504 / FHEM auf Rasperry Pi 3 / THZ / Weather / TABLETUI / SB_SERVER / SB_PLAYER  / OBIS / Verkehrsinfo / speedtest / Presence / FRITZ / ZWDongle / ZWAVE / Calendar / CALVIEW/ IPCAM/ ABFALL / ESPEasy

RaspiLED

Hi,
ich stelle mir gerade ein 45 Minuten Hörbuch vor, was jede Minute unterbrochen wird ;-)
Gruß Arnd


Gesendet von iPhone mit Tapatalk
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

parabacus

Ich resete ja nicht den WeMos, sondern nur den Chipleser, damit der immer "online" ist und jederzeit der gleich oder anderer Chip sicher gelesen werden kann.
Wie gesagt - ist mein erstes Projekt und scheinbar hat das Phänomen sonst noch keiner festgestellt.
Da's aber auf zwei physiklaisch unterschiedlichen Controllern gleichermassen auftritt und die Konfigurationsmöglichkeiten eher übersichtlich sind, gehe ich von einem Chip-Leser-Problem aus.
Stiebel Eltron LWZ 504 / FHEM auf Rasperry Pi 3 / THZ / Weather / TABLETUI / SB_SERVER / SB_PLAYER  / OBIS / Verkehrsinfo / speedtest / Presence / FRITZ / ZWDongle / ZWAVE / Calendar / CALVIEW/ IPCAM/ ABFALL / ESPEasy

Frank_Huber

Zitat von: Joejoe am 16 Januar 2019, 18:41:13
Aktuell sieht es in den Rules so aus:

on RFID#Tag do
   TaskValueSet 2,1,1              // setze Device-Task-Nr.2, erster Dummy, Wert 1
   TaskValueSet 2,2,[RFID#Tag]     // setze Device-Task-Nr.2, zweiter Dummy, Tag des RFID-Chips
   TaskRun,2
   timerSet,1,1                    // Starte Timer 1 mit einer Sekunde
endon

on Rules#Timer=1 do                // Wenn Timer 1 abgelaufen (1 ist)
   TaskValueSet 2,1,0              // setze Device-Task-Nr.2, erster Dummy, Wert 0
   TaskValueSet 2,2,0              // setze Device-Task-Nr.2, zweiter Dummy, Wert 0
   TaskRun,2
endon


Ich setze den RFID-Tag auch in ein Dummy Device und auf 0 sobald der Chip weggenommen wird.
Allerdings wird der Wert nur nach dem Aktualisierungsintervall vom ESP an Fhem gesendet.

Das Leerzeichen hat das Handy eingefügt  >:( Ist in Fhem ohne Leerzeichen erstellt.

Ist das der richtige Syntax?
fhem("set ESPEasy_ESP_Easy_Playbox:SelectedBox " . $SonosTrack);

Gruß Joe
Vielleicht verstehe ich es nicht ganz, aber wozu das ganze Konstrukt in den rules wenn der espeasy dummy jede sekunde an fhem sendet?
Da kannst ja gleich den rfid Leser senden lassen.
Der macht das auch einmal die Sekunde. Auch ganz ohne rules. [emoji6]

Gesendet von meinem Doogee S60 mit Tapatalk