Frage zu HB-UNI-Sen-RFID-RC

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

jp112sdl
Beiträge: 2854
Registriert: 20.11.2016, 20:01
Kontaktdaten:

Re: Frage zu HB-UNI-Sen-RFID-RC

Beitrag von jp112sdl » 22.01.2019, 13:30

papa hat geschrieben:
22.01.2019, 13:23
Du siehst ja die Registerinhalte nicht richtig.
Genau das ist das Problem.
papa hat geschrieben:
22.01.2019, 13:23
Also schickst Du bei Änderung die Nachrricht, die dann 1:1 im WebUI angezeigt wird. Richtig ?
Jawoll :)

VG,
Jérôme

spaceduck
Beiträge: 381
Registriert: 02.06.2010, 08:07

Re: Frage zu HB-UNI-Sen-RFID-RC

Beitrag von spaceduck » 22.01.2019, 22:00

Hallo, kann mal jemand der den RFID-RC am laufen hat die Ausgabe auf der seriellen hier posten?
Irgendwie glaube ich das der Init des RFID Readers bei mir nicht funktioniert. Wäre mal interessant wie es aussehen sollte wenn's funktioniert.

1.png

jp112sdl
Beiträge: 2854
Registriert: 20.11.2016, 20:01
Kontaktdaten:

Re: Frage zu HB-UNI-Sen-RFID-RC

Beitrag von jp112sdl » 22.01.2019, 22:01

Die FFFFFF sehen komisch aus...
Mach mal ein RESET (Config Taster gedrückt halten, bis RESET im ser.Mon. erscheint).

VG,
Jérôme

HM42
Beiträge: 49
Registriert: 17.11.2014, 11:58
Wohnort: Hannover

Frage zu HB-UNI-Sen-RFID-RC; HIER: AES-Modus

Beitrag von HM42 » 23.01.2019, 01:39

Hallo papa, hallo Jérôme,

schön, dass ihr hier so am Ball bleibt. Das Anlernen der RFID-Tags über das Web-UI habe ich jetzt nachvollziehen können - war hier wohl etwas blind...


Auch den AES-Modus habe ich jetzt starten können. Mein erstes Problem war, dass ich die genannten define Zeilen

Code: Alles auswählen

#define USE_AES
#define HM_DEF_KEY <hier den Homematic Default Key eintragen>
#define HM_DEF_KEY_INDEX 0
nicht ganz oben im Code eingefügt habe, sondern irgendwo zwischen den include-Zeilen. Das hat dazu geführt, dass die ersten Library-Dateien wohl ohne USE_AES kompiliert wurden => kein sauberer AES-Betrieb.

Beim ersten Start konnte ich im Debug-Monitor verfolgen, dass mein aktueller Key von der CCU übertragen wurde.

Dummerweise klappt bei mir im gesicherten Modus immer nur eine Eventmeldung (Anlegen des RFID-Tags) inkl. Acknowledge, dann hängt das gesamte Gerät. Hier hilft dann nur der Druck des Reset-Buttons. Liegt dies daran das der RAM-Speicher knapp (84%) wird ? Sobald ich auf den ungesicherten Modus umschalte (Kompilat mit AES !), funktioniert das Lesegerät auch bei mehreren Betätigungen.

Jèrôme, du hast geschrieben, dass dein Aufbau auch im AES-Modus läuft. Klappt dies auch bei mehrfacher Bedienung ? Liegt bei dir die RAM-Nutzung auch bei 84% ?

Um den ebenfalls knappen Flash-Speicher besser nutzen zu können, nutze ich auf den Arduino Pro mini den deutlich kleineren optiboot-Bootloader. Hat dies evtl. einen negativen Einfluss ?

Habe sowohl die alte, als auch die heutige Version der Arduino-Dateien und des Addons getestet. Das AES-Problem bleibt leider.

Für mich ist dies alles etwas verwirrend. Werde im Laufe des Tages aber noch mal weiter testen.

Bin für jeden Tipp bzw. jede Idee dankbar...

Gruß
Thomas

jp112sdl
Beiträge: 2854
Registriert: 20.11.2016, 20:01
Kontaktdaten:

Re: Frage zu HB-UNI-Sen-RFID-RC; HIER: AES-Modus

Beitrag von jp112sdl » 23.01.2019, 06:47

Moin,
HM42 hat geschrieben:
23.01.2019, 01:39
Liegt dies daran das der RAM-Speicher knapp (84%) wird ? Sobald ich auf den ungesicherten Modus umschalte (Kompilat mit AES !), funktioniert das Lesegerät auch bei mehreren Betätigungen.

Jèrôme, du hast geschrieben, dass dein Aufbau auch im AES-Modus läuft. Klappt dies auch bei mehrfacher Bedienung ? Liegt bei dir die RAM-Nutzung auch bei 84% ?
Mehrfache Bedienung hat geklappt. Wobei ich auch nur 3-4 kurzes Lesen getestet habe.
Die Probleme können aber durchaus am knappen RAM liegen.
Auf 84% komme ich auch, das lässt sich aber noch reduzieren, wenn du

Code: Alles auswählen

#define NDEBUG
definierst.
Da müsstest du noch mal knapp 10% sparen - allerdings erhältst du dann auch keinerlei serielle Debugausgaben mehr.
Das könntest du auf jeden Fall aber mal noch probieren.
HM42 hat geschrieben:
23.01.2019, 01:39
Um den ebenfalls knappen Flash-Speicher besser nutzen zu können, nutze ich auf den Arduino Pro mini den deutlich kleineren optiboot-Bootloader. Hat dies evtl. einen negativen Einfluss ?
Bisher war der Flash-Speicher bei mir noch nicht knapp und habe auch den originalen Bootloader drauf.
Laut Compiler werden 28290 Bytes (92%) belegt. Da ist noch deutlich Luft.

VG,
Jérôme

jp112sdl
Beiträge: 2854
Registriert: 20.11.2016, 20:01
Kontaktdaten:

Re: Frage zu HB-UNI-Sen-RFID-RC

Beitrag von jp112sdl » 23.01.2019, 07:30

spaceduck hat geschrieben:
22.01.2019, 22:00
Irgendwie glaube ich das der Init des RFID Readers bei mir nicht funktioniert.
Ja, bei der Firmware Version sollte 0x91 oder 0x92 stehen.

VG,
Jérôme

jp112sdl
Beiträge: 2854
Registriert: 20.11.2016, 20:01
Kontaktdaten:

Re: Frage zu HB-UNI-Sen-RFID-RC; HIER: AES-Modus

Beitrag von jp112sdl » 23.01.2019, 15:01

HM42 hat geschrieben:
23.01.2019, 01:39
Liegt dies daran das der RAM-Speicher knapp (84%) wird ?
Hallo Thomas,
papa hat den Code noch mal optimiert. Da sind jetzt Unmengen an RAM frei geworden.
Zieh dir mal die neueste RFID.h.

VG,
Jérôme

HM42
Beiträge: 49
Registriert: 17.11.2014, 11:58
Wohnort: Hannover

Re: Frage zu HB-UNI-Sen-RFID-RC

Beitrag von HM42 » 23.01.2019, 18:14

Hallo papa, hallo Jérôme,

mit der neuen, speicheroptimierten Version läuft der AES-Modus jetzt - SUPER !

Papa: Dass du 17% RAM-Speichereinsparung herausholen ist super ! Böse Zungen könnten nun behaupten, dass die erste Version vielleicht doch etwas quick and dirty programmiert worden ist ... ;-)

Auf jeden Fall habt ihr hier ein sehr interessantes Gerät kreiert. Jetzt kann man sich sabotageanfällige Hilfslösungen mit Standalone-RFID-Leser und angeschlossenem 8-Kanaleingangsmodul sparen.



Mögliche Optionen / Optimierungen für die Zukunft - damit euch nicht langweilig wird ;-) :

Wo ihr nun schon soviel Speicher gespart habt, wie wäre es, wenn ihr dem Gerät noch zwei oder vier Digitalausgangs-/Aktor-Kanäle spendiert. Dann könnte man dort z.B. direkt Türöffnermagneten und/oder eine 3-Farb-Status-Led für den aktuellen Alarmmodus oder Verschluss-Status anschließen.

Außerdem habe ich die Erkennung und Meldung von unzulässigen Tags noch nicht ganz abgeschrieben, wäre schon ganz nett, wenn dies doch irgendwann ginge.


Nochmals vielen Dank für euren EInsatz !

Gruß Thomas

jp112sdl
Beiträge: 2854
Registriert: 20.11.2016, 20:01
Kontaktdaten:

Re: Frage zu HB-UNI-Sen-RFID-RC

Beitrag von jp112sdl » 23.01.2019, 18:31

HM42 hat geschrieben:
23.01.2019, 18:14
Papa: Dass du 17% RAM-Speichereinsparung herausholen ist super ! Böse Zungen könnten nun behaupten, dass die erste Version vielleicht doch etwas quick and dirty programmiert worden ist ... ;-)
Hast du dir den Commit mal angeschaut? :)
Was eine Zeile so ausmachen kann... ;)
HM42 hat geschrieben:
23.01.2019, 18:14
Wo ihr nun schon soviel Speicher gespart habt, wie wäre es, wenn ihr dem Gerät noch zwei oder vier Digitalausgangs-/Aktor-Kanäle spendiert. Dann könnte man dort z.B. direkt Türöffnermagneten und/oder eine 3-Farb-Status-Led für den aktuellen Alarmmodus oder Verschluss-Status anschließen.

Außerdem habe ich die Erkennung und Meldung von unzulässigen Tags noch nicht ganz abgeschrieben, wäre schon ganz nett, wenn dies doch irgendwann ginge.
Sorry, da bin ich leider raus.

Btw.: Den "Scharf-Status" lasse ich bei mir durch das Invertieren der Standby-Led anzeigen.

Code: Alles auswählen

// Invertieren der StandbyLed:        0xff,0x01 (invertiert) oder 0xff,0x00 (nicht invertiert)

VG,
Jérôme

HM42
Beiträge: 49
Registriert: 17.11.2014, 11:58
Wohnort: Hannover

Re: Frage zu HB-UNI-Sen-RFID-RC

Beitrag von HM42 » 23.01.2019, 23:10

Hallo Jérôme,

habe mir den Commit jetzt mal angeschaut, du hast Recht: Kleine Änderung, große Wirkung.

Mir ist dabei wohl noch ein kleiner Fehler aufgefallen. Bei deiner Erweiterung auf lange UIDs hast du in Zeile 23 diese Code-Änderung vorgenommen:

Code: Alles auswählen

DEFREGISTER(RFIDReg1,CREG_AES_ACTIVE,0xe0,0xe1,0xe2,0xe3,0x04,0xe5,0xe6,0xe7)

Stattdessen sollte dies aber wohl

Code: Alles auswählen

DEFREGISTER(RFIDReg1,CREG_AES_ACTIVE,0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7)
heißen, also statt ... ,0x04, ... => ... ,0xe4, ...

Gruß
Thomas

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“