Autor Thema: Fensterdrehgriffkontakt selber bauen  (Gelesen 207062 mal)

Offline UweH

  • Hero Member
  • *****
  • Beiträge: 1673
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #195 am: 27 Mai 2017, 09:46:39 »
Auf die Gefahr hin, eine dämliche Frage zu stellen: Welche Ausgaben?

Offline papa

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1724
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #196 am: 27 Mai 2017, 13:04:39 »
Auf die Gefahr hin, eine dämliche Frage zu stellen: Welche Ausgaben?
Aus dem Eventlog bzw. logfile nachdem der Pairing-Vorgang gestartet wurde.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Offline UweH

  • Hero Member
  • *****
  • Beiträge: 1673
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #197 am: 27 Mai 2017, 21:50:04 »
So, ich bin heute extra zu Conrad getrabt, um mir ein "reguläres" Funk-Homematic-Gerät zu besorgen, damit ich wenigstens eine Kontrolle habe, ob der nanoCUL nicht funktioniert oder ich. Nun habe ich eine funktionierende Funksteckdose, das peeren hat funktioniert. Läuft also.

Nun zum Fenstergriff. HM-Device (nanoCUL) in "hmPairForSec" versetzen, D8 am Arduino auf GND, die beiden LEDs blinken. Am HM-Device die Serial des Fenstergriffs (Sketch Zeile 11) mit "hmPairSerial" senden. Ist die Vorgehensweise ok? Passiert aber nix.

Gruß
Uwe

EDIT: Noch was. Der Arduino hängt sich extrem häufig auf. Entweder verfallen die LEDs nach dem Einschalten in Schockstarre und leuchten dauerhaft oder sie blinken nach dem kurz und dann geht nix mehr. Selbst ein Reset hat keinen Erfolg, man muss die Spannung wegnehmen. Gefühlt ist immer erst der 5. Einschaltversuch erfolgreich. Oder das Teil hängt nach ein paar Minuten. Immer wieder mal was anderes...
« Letzte Änderung: 27 Mai 2017, 21:56:58 von UweH »

Offline papa

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1724
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #198 am: 27 Mai 2017, 22:25:37 »
Noch eine Idee - welchen Bootloader verwendest Du ? Die Lib geht derzeit davon aus, dass eigentlich alles abgeschalten ist und erst explizit angeschalten werden muss. Es gab ein ähnliches Problem mit dem OTA-Bootloader, der den GDO0-Interrupt aktiviert lies. Wenn das die Hardware initialisiert wurde, kam es zu einen Interrupt, bevor der entsprechende Handler eingerichtet war.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Offline papa

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1724
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #199 am: 27 Mai 2017, 23:11:49 »
So - ich kann dann den ersten Erfolg melden. Habe heute eine Paltine bestückt und es läuft. Hier mal der erste Versuch, die Arbeitsschritte zu beschreiben.

Als erstes ist der ATMega und R1, C1 und C2 zu bestücken. Das reicht aus, um den Bootloader per ISP zu flashen. Doch bevor das erfolgen kann, muss der Bootloader mit der GeräteID und Serial bestückt werden. Hierzu dient das angehängte "makeota.html". Zuerst den ebenfalls angehängten "Bootloader-OTA-atmega328.hex" laden. Dann die ModelID 0030 und beliebige GeräteID und Serial eingeben. Nach drücken der Taste "Create" erscheint ein Link"Save Bootloader", mit welchen der angepasste Boorloader gespeichert werden kann (siehe auch angehängten ScreenShot). Es wird hierzu kein Netzzugang benötigt. Alles erfolgt per Javascript im Browser.

Jetzt ist der Bootloader zu flashen. Ich benutzte einen USBasp dafür. Als Stecker zur Platine dient eine "normale" 2-reihiger Buchse, deren Pins soweit zusammengeborgen wurden, dass sie die Platine fest einklemmen - siehe Foto.

Zum Flashen des Bootloader sind dann folgende Befehle nötig:

avrdude -p m328p -P usb -c usbasp -B 3 -U lfuse:w:0xE2:m -U hfuse:w:0xD0:m -U efuse:w:0x06:m -U lock:w:0x2F:m
avrdude -p m328p -P usb -c usbasp -V -U flash:w:bootloader.hex

Falls es Probleme gibt, bitte mal den Slow-Mode des USBasp probieren und prüfen, ob die Pins des Mega alle ordentlich verlötet sind.

Nach Flashen des Bootloader kann der Rest bestückt werden. Der Quarz und die zugehörigen Kondensatoren werden nicht benötigt. Ich habe noch 2 Bilder vom fertigen Aufbau angehängt.

Wenn jetzt die Platine mit Spannung versorgt wird (bitte Hinweis ganz am Ende beachten), sollte die rote LED 7x blinken. Das signalisiert, dass der Bootloader erfolgreich gestartet wurde. Er wartet jetzt darauf, dass die Fimrware übertragen wird. Hierzu wird flash-ota benötigt. Für einen HM-CFG-USB sieht der Aufruf wie folgt aus:

flash-ota -f avr_HM_SEC_RHS_201705271601.eq3 -s RHS0000000

Falls Fehler während der Übertragung auftreten, muss der Flashvorgang nochaml wiederholt werden. Der Bottloader startet dann die Firmware nicht.
Wenn die Firmware erfolgreich übertragen werde konnte, kann der Sensor gepairt werden und sollte den Status entsprechend der Zustände an A0 & A1 melden. Derzeit ist folgende Logic implementiert:

A0 & A1 offen - PosA -> CLOSED
A0 geschlossen - PosB -> OPEN
A1 geschlossen - PosC -> TILTED

Die Bedeutung der Positionen kann mittels der entsprechenden Regsiter eingestellt werden. Ebenfalls kann die CyclicInfoMsg aktiviert werden. Der Sensor meldet sich dann alle 24 Stunden mit dem aktuellen Status.

Die Sabotage-Erkennung an A2 scheint noch nicht richtig zu funktionieren.

ACHTUNG: Die Platine enthält leider einen Fehler. VCC & GND sind n der Pinleiste verkehrt beschriftet.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire
Gefällt mir Gefällt mir x 3 Liste anzeigen

Offline Dietmar63

  • Hero Member
  • *****
  • Beiträge: 2329
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #200 am: 28 Mai 2017, 01:43:22 »
Wow, eigentlich ein maßgeschneiderte Arduino mini pro.
Herzlichen Glückwunsch!
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Offline UweH

  • Hero Member
  • *****
  • Beiträge: 1673
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #201 am: 28 Mai 2017, 09:27:26 »
ein maßgeschneiderte Arduino mini pro.
Die Evolution ging anders herum  ;)

Offline UweH

  • Hero Member
  • *****
  • Beiträge: 1673
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #202 am: 28 Mai 2017, 11:16:03 »
Meine Probleme werden wohl am Bootloader gelegen haben, ich versuche es jetzt mal nach Deiner Anleitung.
ABER:
Bootloader flashen ist ja kein Problem, aber bekommt man die Firmware nur mit flash-ota drauf? Da braucht man ja Stunden, um erst mal flash-ota zum Laufen zu bringen.
Ich habe diverse Brenner, AVR-Studio und noch mehr davon und nun ärgere ich mich schon ewig mit diesem flash-ota rum...Frust.

Gruß
Uwe

Offline papa

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1724
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #203 am: 28 Mai 2017, 11:41:45 »
In der Arduino IDE gibt es auch den Menupunkt "Upload Using Programmer". Damit braucht man glaube ich gar keinen Bootloader. Habe ich aber noch nicht probiert.

Der OTA hat halt den Vorteil, dass man die Geräte einfach per Funk updaten kann.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Offline UweH

  • Hero Member
  • *****
  • Beiträge: 1673
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #204 am: 28 Mai 2017, 11:48:55 »
Ja, da grätscht aber wieder Win10 und diese merkwürdige Treiberpolitik dazwischen.
Ich bin nun zwar einen Schritt weiter, an dieser Stelle hängt der Prozess jetzt:

Offline UweH

  • Hero Member
  • *****
  • Beiträge: 1673
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #205 am: 28 Mai 2017, 11:52:24 »
Der Quatsch mit dem Arduino ist ja nun auch Spielerei für zwischendurch, weil ich meine Prototypen-Platine noch nicht hergestellt habe. Später muss es also auf jeden Fall per ota laufen...

Offline UweH

  • Hero Member
  • *****
  • Beiträge: 1673
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #206 am: 28 Mai 2017, 12:11:50 »
Ich habe mich übrigens an diese Anleitung gehalten: https://wiki.fhem.de/wiki/HomeMatic_Firmware_Update

Was bisher immer erfolgreich war, ist, die HEX-Datei mit "Sketch" -> "Kompilierte Binärdatei exportieren" zu erzeugen und dann per Brenner auf den Arduino zu brennen. Funktioniert auch in diesem Fall, aber das Ergebnis ist das Gleiche...die LEDs blinken fröhlich, peeren aber unmöglich. Ich glaube, ich lasse das jetzt und schmeiß die Ätzmaschine an.

Gruß
Uwe

Offline joschi2009

  • Full Member
  • ***
  • Beiträge: 366
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #207 am: 28 Mai 2017, 15:08:48 »
So, habe jetzt auch mal einen zusammengelötet und geflasht, funktioniert.

Allerdings ist der Ruhestrom bei einem auf GND gezogenen Pin bei 0,11 mA, was dann bedeutet, dass bei geschlossenem Fenster beide Pins offen sein müssen sonst hat man nicht lange Freude an den Batterien.

So wie Papa das im Moment konfiguriert hat, wäre das ja auch der Fall, aber die Drehgriffkonstruktion ist wegen der gegenüberliegenden Reedkontakten nicht in der Lage das so abzubilden. Ich muss mal schauen, ob ich das umgebaut bekomme.

Offline UweH

  • Hero Member
  • *****
  • Beiträge: 1673
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #208 am: 28 Mai 2017, 16:08:56 »
So, habe jetzt auch mal einen zusammengelötet und geflasht, funktioniert.
OK, dann liegt das wohl eher am Arduino-Aufbau. Seltsam...

Offline UweH

  • Hero Member
  • *****
  • Beiträge: 1673
Antw:Fensterdrehgriffkontakt selber bauen
« Antwort #209 am: 28 Mai 2017, 17:36:38 »
Es hat mir keine Ruhe gelassen...nächsten Arduino aus der Verpackung gepopelt...funktioniert. Das Mistding (China-Klone, keinen Euro teuer, verdammt!) hat eine Unterbrechung auf PB2. Ab in die Tonne das Teil und ein Bier geköpft.
@papa: Danke für Deine Geduld.

Gruß
Uwe

 

decade-submarginal