Arduino Asksin library

Begonnen von trilu, 06 August 2013, 10:02:17

Vorheriges Thema - Nächstes Thema

Stefan M.

#1065
Hallo zusammen
es funktioniert schon fast.

Die Taste an Pin 8 kann nun schon in FHEM den Status schalten, aber weder die grüne noch die rote LED am Modul zeigt den Status an.


#define LED_RED_DDR            DDRD // define led port and remaining pin
#define LED_RED_PORT           PORTD
#define LED_RED_PIN            PORTD4

#define LED_GRN_DDR            DDRD
#define LED_GRN_PORT           PORTD
#define LED_GRN_PIN            PORTD5


Im seriellen Monitor schaut es soweit ich es beurteilen kann aber gut aus.

Zitat
switchRly: 1, 0
<- 0E 10 A0 10 58 23 FF 1E A2 24 06 01 00 00 50 (2135767)
m> 0A 10 80 02 1E A2 24 58 23 FF 00 (2135907)
b> 14 3D 84 5E 41 F9 CD 00 00 00 86 9D 56 00 00 03 00 00 09 12 FD (2140623)
b> 0F 3D 86 10 22 E4 79 00 00 00 0A 60 BB 0E 00 00 (2143165)
switchRly: 1, 200
<- 0E 11 A0 10 58 23 FF 1E A2 24 06 01 C8 00 5E (2143352)
m> 0A 11 80 02 1E A2 24 58 23 FF 00 (2143493)
m> 0E 12 B0 11 1E A2 24 58 23 FF 02 01 00 00 00 (2147599)
switchRly: 1, 0
<- 0E 12 80 02 58 23 FF 1E A2 24 01 01 00 00 53 (2147608)
m> 0E 13 B0 11 1E A2 24 58 23 FF 02 01 C8 00 00 (2150622)
switchRly: 1, 200
<- 0E 13 80 02 58 23 FF 1E A2 24 01 01 C8 00 52 (2150632)
b> 14 22 84 5E 3E 58 DE 00 00 00 89 F6 15 00 00 00 00 00 09 0A FF (2152922)
l> 14 47 A4 5F 2A 34 74 1E A2 24 C3 D0 FD 00 1C EF 01 DF 09 0C FF (2156243)
l> 0A 47 80 02 1E A2 24 2A 34 74 00 (2156358)

LG
Stefan
FHEM auf 3 x RaspberryPi, 1 x Fritzbox,1 x Win. FS20 über CUL, HomeMatic über HMLan, 6 x  HM_CC_RT_DN,2 x HM_LC_BL1_FM,3 x HM_SEC_KEY,2 x HM_RC_Key4_2,7 x HM_SEC_SC,1 x HM_SEC_WDS,1 x HM_Sen_RD_O, 1x HM_Sen_Wa_Od,2 x HM_RC_Key4_2, 5 x HM-ES-PMSw1-Pl,1 x HM_LC_SW4_WM,1 x HM_SCI_3_FM

kadettilac89

Zitat von: Stefan M. am 29 Mai 2016, 20:22:23
Hallo zusammen
es funktioniert schon fast.

Die Taste an Pin 8 kann nun schon in FHEM den Status schalten, aber weder die grüne noch die rote LED am Modul zeigt den Status an.


Was  erwartetst du? Dass eine LED On/Off ist wenn du in Fhem schaltest?


void switchRly(uint8_t channel, uint8_t status) {
// switching the relay, could be done also by digitalWrite(3,HIGH or LOW)
#ifdef SER_DBG
dbg << F("switchRly: ") << channel << ", " << status << "\n";
#endif

if (status) setPinHigh(PORTD,3); // check status and set relay pin accordingly
else setPinLow(PORTD,3);
}


Das ist der Code der ausgeführt wird. Du siehst dass PORTD3 auf High geschaltet wird. Prüfe mit einem Multimeter ob hier Spannung anliegt wenn ON ist. Wenn ja kannst zum Testne hier eine LED anstecken mit Widerstand. Dann siehst den Status. Die Led in der Definition sollten nur leuchten wenn Signal gesendet wird oder Pairing aktiv ist. Wenn du zusätzlich zum Pin3 eine LED leuchten lassen willst kannst du den Code aus dem "Blink" Beispiel in den  Code ergänzen den ich oben schon gepostet hab.

HM funktioniert soweit, jetzt musst du ein Beispiel anpassen das am besten zu deinen Anforderungen passt. Um das zu machen musst du dich etwas in den Sourcecode  einlesen. Die wichtigsten Funktionen sind in der *.ino selbst als auch in hardware.h und register.h.

Stefan M.

#1067
Hallo kadettilac89

danke für die Hilfe, jetzt hab ich meinen Denkfehler gefunden.

Pin 4 und 5 zeigen den Kommunikationsstatus an und Pin 3 ist der Schaltpin.

Jetzt hab ich es verstanden ich war auf Pin 4 und 5 fixiert.

LG
Stefan


FHEM auf 3 x RaspberryPi, 1 x Fritzbox,1 x Win. FS20 über CUL, HomeMatic über HMLan, 6 x  HM_CC_RT_DN,2 x HM_LC_BL1_FM,3 x HM_SEC_KEY,2 x HM_RC_Key4_2,7 x HM_SEC_SC,1 x HM_SEC_WDS,1 x HM_Sen_RD_O, 1x HM_Sen_Wa_Od,2 x HM_RC_Key4_2, 5 x HM-ES-PMSw1-Pl,1 x HM_LC_SW4_WM,1 x HM_SCI_3_FM

Stefan M.

Hallo zusammen
hat jemand für das TRX868 Funk-Modul ein Fritzing Bauteil ?

Ich wollte mir nun den Schaltplan mit Fritzing zeichnen aber finde kein passendes Bauteil für das Funkmodul.

LG
Stefan
FHEM auf 3 x RaspberryPi, 1 x Fritzbox,1 x Win. FS20 über CUL, HomeMatic über HMLan, 6 x  HM_CC_RT_DN,2 x HM_LC_BL1_FM,3 x HM_SEC_KEY,2 x HM_RC_Key4_2,7 x HM_SEC_SC,1 x HM_SEC_WDS,1 x HM_Sen_RD_O, 1x HM_Sen_Wa_Od,2 x HM_RC_Key4_2, 5 x HM-ES-PMSw1-Pl,1 x HM_LC_SW4_WM,1 x HM_SCI_3_FM

Stefan M.

Hallo zusammen
ich habe nun die .dev Version geladen.

Muss ich bei den sketch

HM_LC_SW1_BA_PCB

etwas mit dem HM_DEVICE_AES_KEY beachten.


#define HM_DEVICE_AES_KEY        0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10


Kompilieren und Upload geht, aber die Kommunikation geht nicht so richtig vom Device zu Fhem geht, aber die Richtung zum Device geht nicht.

Zitat
HM_LC_SW1_BA_PCB
AskSin-Lib V 0.2.4
wdt_cal: 274
EE.
crc, flash: 36695, eeprom: 36695
initRly: 1
SN.
RV.
HMID: 01 02 06, MAID: 00 00 00


LG
Stefan
FHEM auf 3 x RaspberryPi, 1 x Fritzbox,1 x Win. FS20 über CUL, HomeMatic über HMLan, 6 x  HM_CC_RT_DN,2 x HM_LC_BL1_FM,3 x HM_SEC_KEY,2 x HM_RC_Key4_2,7 x HM_SEC_SC,1 x HM_SEC_WDS,1 x HM_Sen_RD_O, 1x HM_Sen_Wa_Od,2 x HM_RC_Key4_2, 5 x HM-ES-PMSw1-Pl,1 x HM_LC_SW4_WM,1 x HM_SCI_3_FM

kadettilac89

Zitat von: Stefan M. am 31 Mai 2016, 20:16:09
Hallo zusammen
ich habe nun die .dev Version geladen.

Muss ich bei den sketch

HM_LC_SW1_BA_PCB

etwas mit dem HM_DEVICE_AES_KEY beachten.

ich hab bei meinem test nur kompiliert und hochgeladen ohne irgend etwas zu ändern, es wurde aber dann eine message gesendet. Mehr hab ich nicht getestet, aber es sah gut aus und ich denke es würde auch funktionieren.

Du hattest schon Meldungen gesendet bzw. empfangen also hat die Hardware funktioniert. Wenn du die ältere Version nochmal falsht ... wird dann wieder gesendet? Wie hast du die Hardware aufgebaut? Breadboard, ist evtl. ein Kabel raus? Prüfe mal die Verbindungen ...

Stefan M.

Hi
Ich habe festgestellt das der HMLan in Overload geht.
Aufgebaut auf Breadboard. Verbindungen sollten passen. Da ja in Richtung FHEM alles funktioniert nur in Richtung Arduino stimmt was nicht.

Ich sehe glaube ich keine Nachrichten in Richtung Arduino ankommen.

Zitat
switchRly: 1, 0
<- 0E 08 80 10 01 02 06 00 00 00 06 01 00 00 00 (268800)
switchRly: 1, 200
<- 0E 09 80 10 01 02 06 00 00 00 06 01 C8 00 00 (2916646)
switchRly: 1, 0
<- 0E 0A 80 10 01 02 06 00 00 00 06 01 00 00 00 (2919409)
switchRly: 1, 200
<- 0E 0B 80 10 01 02 06 00 00 00 06 01 C8 00 00 (4173916)
switchRly: 1, 0
<- 0E 0C 80 10 01 02 06 00 00 00 06 01 00 00 00 (4176280)
<- 1A 0D 84 00 01 02 06 00 00 00 10 00 6C 48 42 73 77 69 74 63 68 30 31 00 41 01 00 (4343734)
switchRly: 1, 200
<- 0E 0E 84 10 01 02 06 00 00 00 06 01 C8 00 00 (4354491)
switchRly: 1, 0
<- 0E 0F 84 10 01 02 06 00 00 00 06 01 00 00 00 (4364735)
<- 1A 10 84 00 01 02 06 00 00 00 10 00 6C 48 42 73 77 69 74 63 68 30 31 00 41 01 00 (4370323)


LG
Stefan
FHEM auf 3 x RaspberryPi, 1 x Fritzbox,1 x Win. FS20 über CUL, HomeMatic über HMLan, 6 x  HM_CC_RT_DN,2 x HM_LC_BL1_FM,3 x HM_SEC_KEY,2 x HM_RC_Key4_2,7 x HM_SEC_SC,1 x HM_SEC_WDS,1 x HM_Sen_RD_O, 1x HM_Sen_Wa_Od,2 x HM_RC_Key4_2, 5 x HM-ES-PMSw1-Pl,1 x HM_LC_SW4_WM,1 x HM_SCI_3_FM

Stefan M.

Hallo zusammen

gibt es den Sketch HM_LC_SW1_BA_PCB (im .dev) auch ohne AES oder wie kann ich AES im Sketch deaktivieren.

LG
Stefan


FHEM auf 3 x RaspberryPi, 1 x Fritzbox,1 x Win. FS20 über CUL, HomeMatic über HMLan, 6 x  HM_CC_RT_DN,2 x HM_LC_BL1_FM,3 x HM_SEC_KEY,2 x HM_RC_Key4_2,7 x HM_SEC_SC,1 x HM_SEC_WDS,1 x HM_Sen_RD_O, 1x HM_Sen_Wa_Od,2 x HM_RC_Key4_2, 5 x HM-ES-PMSw1-Pl,1 x HM_LC_SW4_WM,1 x HM_SCI_3_FM

Stefan M.

Hallo nochmal

Der Sketch aus dem -Master funktioniert einwandfrei. Habe nun wieder die -Master Version laufen . :-(

LG
Stefan
FHEM auf 3 x RaspberryPi, 1 x Fritzbox,1 x Win. FS20 über CUL, HomeMatic über HMLan, 6 x  HM_CC_RT_DN,2 x HM_LC_BL1_FM,3 x HM_SEC_KEY,2 x HM_RC_Key4_2,7 x HM_SEC_SC,1 x HM_SEC_WDS,1 x HM_Sen_RD_O, 1x HM_Sen_Wa_Od,2 x HM_RC_Key4_2, 5 x HM-ES-PMSw1-Pl,1 x HM_LC_SW4_WM,1 x HM_SCI_3_FM

Spezialtrick

Ich habe leider ein Problem beim Flashen des Asksin Bootloaders.  Ich verwende nachfolgenden Befehl für das Flashen:

avrdude -p m328p -P usb -c usbasp -U lfuse:w:0xE2:m -U hfuse:w:0xD0:m -U efuse:w:0x06:m -U lock:w:0x2F:m -e -Uflash:w:Bootloader-AskSin-OTA-HB_UW_Sen_THPL.hex:i

Und erhalte diese Ausgabe:

avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f
avrdude: erasing chip
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "0xE2"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xE2:
avrdude: load data lfuse data from input file 0xE2:
avrdude: input file 0xE2 contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: reading input file "0xD0"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xD0:
avrdude: load data hfuse data from input file 0xD0:
avrdude: input file 0xD0 contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0x06"
avrdude: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0x06:
avrdude: load data efuse data from input file 0x06:
avrdude: input file 0x06 contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0x2F"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x2F:
avrdude: load data lock data from input file 0x2F:
avrdude: input file 0x2F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: reading input file "Bootloader-AskSin-OTA-HB_UW_Sen_THPL.hex"
avrdude: writing flash (32768 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 32768 bytes of flash written
avrdude: verifying flash memory against Bootloader-AskSin-OTA-HB_UW_Sen_THPL.hex:
avrdude: load data flash data from input file Bootloader-AskSin-OTA-HB_UW_Sen_THPL.hex:
avrdude: input file Bootloader-AskSin-OTA-HB_UW_Sen_THPL.hex contains 32768 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x7243
         0x60 != 0xe0
avrdude: verification error; content mismatch

avrdude: safemode: Fuses OK (H:06, E:D0, L:E2)

avrdude done.  Thank you.



Andere Bootloader bringen das selbe Ergebnis. Ist der Pro Mini hin?  :-[
FHEM - Debmatic - Zigbee2MQTT - Homekit

papa

#1075
Probier mal mit reduzierter Geschwindigkeit.

Zitat
Manche AVR kannst du nur dann flashen, wenn die
Programmiergeschwindigkeit runtergesetzt wurde. Das liegt daran, dass
die Programmiergeschwindigkeit deutlich kleiner sein muss als der
jeweils intern eingestellte CPU-Takt des AVR (ich glaub maximal 1/4).
Manche ältere USBasp haben dazu einen Jumper (nicht alle), neuere machen
das über die Option "-B".

Habe ich von hier https://www.mikrocontroller.net/topic/284884

Oder direkt an nen USB-Port anschießen. Meiner kann nicht oder nur schlecht mit USB-Hubs.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Spezialtrick

Der Fehler bleibt leider erhalten. Ich konnte nun den normalen Arduino Bootloader flashen (mit dem Fehler) und kann den Pro Mini auch über die Arduino IDE flashen. Der Blink Sketch lässt sich erfolgreich aufspielen, allerdings blinkt die LED nicht, obwohl das Programm durch läuft.  :-[
FHEM - Debmatic - Zigbee2MQTT - Homekit

kadettilac89

Zitat von: Linef am 06 Mai 2016, 01:13:26
Hallo kadettilac89,
Die Quellen stehen unter https://github.com/LineF/NewAskSin.git im Branch dev zur Verfügung. Das Hauptmodul des Sensors (mit Schaltplan - ist aber ziemlich identisch zum Universalsensor) liegt unter https://github.com/LineF/HM-Sensor.git, ebenfalls im Branch dev.
Ein Sketch ist es nicht, da ich mit dem Atmel Studio entwickle, aber sollte in der Arduino IDE (nach Rename von main.cpp) auch übersetzbar sein.

Zitat von: Dirk am 09 Mai 2016, 20:54:46
Aber wie gesagt mit AAA-Zellen. Mit AA, also R6 dann deutlich länger.
Ja, stimmt, das ist ein Subrepo auf einen Fork der alte AskSin-Lib. Diese musst du auch unbedingt verwenden. Da hatte ich noch einiges gefixt und optimiert.

Gruß
Dirk

Zitat von: Tom71 am 21 Mai 2016, 22:45:26
Hast du den dev-Branch benutzt? Ich musste bei mir auch noch pcint.* löschen, dann geht es.

Hallo ihr Helfer,

ich habe mit eurer Hilfe den Temp-Sensor zum Laufen gekriegt, läuft jetzt seit knapp 2 Wochen. Vielen dank für die Hilfe!

LineF, ich habe den Sourcecode etwas angepasst und ein Define eingefügt um zwischen bei der Temperaturmessung zwischen DHT22 und  DS18B20 wählen zu können. Keine große Anpassung. Wenn du willst kannst es ja in das Original einfügen da es keine Auswirkung auf die Funktion hat.

Jetzt muss ich nur noch hinbekommen, dass der Batterielevel auch in meinem DB-log auftaucht. Da ist irgendwo anders ein Problem da das Reading aktuallisiert wird.

Linef

Zitat von: kadettilac89 am 03 Juni 2016, 23:30:37
ich habe mit eurer Hilfe den Temp-Sensor zum Laufen gekriegt, läuft jetzt seit knapp 2 Wochen. Vielen dank für die Hilfe!

LineF, ich habe den Sourcecode etwas angepasst und ein Define eingefügt um zwischen bei der Temperaturmessung zwischen DHT22 und  DS18B20 wählen zu können. Keine große Anpassung. Wenn du willst kannst es ja in das Original einfügen da es keine Auswirkung auf die Funktion hat.

Jetzt muss ich nur noch hinbekommen, dass der Batterielevel auch in meinem DB-log auftaucht. Da ist irgendwo anders ein Problem da das Reading aktuallisiert wird.

Schön zu hören, daß es bei Dir jetzt auch läuft. Ich bin grad dran, den Stromverbrauch zu testen - der scheint mir etwas hoch. Auch auf einem zweiten Nachbau, auf dem aber noch kein Sender und keine Sensoren sind. Muß mal noch mit dem Oszi den Stromverbrauch messen - Multimeter ist zu ungenau.

Ansonsten ist der Code aber noch nicht fertig - Die Register funktionieren noch nicht und ich möchte auch noch eine Kalibrierungsmöglichkeit pro Peer dazubauen.

Aber erst mal werden ja die Messwerte gesendet  :)

Martin
fhem auf cubietruck, HM-USB-CFG-2, CUL-V3, 6x HM-CC-RT-DN, 5x HM-SEC-SD, 2x HM-SEC-SCo, 5x HM Eigenbausensoren, AVR-Heizungsgateway

kadettilac89

Zitat von: Linef am 04 Juni 2016, 00:36:51
Schön zu hören, daß es bei Dir jetzt auch läuft. Ich bin grad dran, den Stromverbrauch zu testen - der scheint mir etwas hoch. Auch auf einem zweiten Nachbau, auf dem aber noch kein Sender und keine Sensoren sind. Muß mal noch mit dem Oszi den Stromverbrauch messen - Multimeter ist zu ungenau.

Ansonsten ist der Code aber noch nicht fertig - Die Register funktionieren noch nicht und ich möchte auch noch eine Kalibrierungsmöglichkeit pro Peer dazubauen.

Stromverbrauch ist für mich kein großes Problem, ich hab 2 18650 Akkus dran, die sollten das wettmachen. Habe zusätzlich den Powermode auf POWER_MODE_WAKEUP_8000MS gesetzt. Ob es was bringt weiß ich nicht, aber es läuft.

Werde aber trotzdem dein Github-dev beobachten und neuere Versionen testen.