Funkmodul 6 / 8 Lötpunkte

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

Moderator: Co-Administratoren

Horbi
Beiträge: 199
Registriert: 29.05.2019, 12:51
Hat sich bedankt: 19 Mal
Danksagung erhalten: 65 Mal

Re: Funkmodul 6 / 8 Lötpunkte

Beitrag von Horbi » 18.02.2022, 12:03

Hast Du schon Kauderwelsch beim Funkmodul Initialisieren und Register setzen, oder nur bei den übertragenen Daten?
Wenn es nur die Daten sind, liegts vermutlich daran das der zu sendende String leicht verschlüsselt wird.

Code: Alles auswählen

 void decode () {
    decode(buffer(),length());
  }

  void decode(uint8_t *buf, uint8_t len) {
    uint8_t prev = buf[0];
    buf[0] = (~buf[0]) ^ 0x89;
    uint8_t i, t;
    for (i=1; i<len-1; i++) {
      t = buf[i];
      buf[i] = (prev + 0xdc) ^ buf[i];
      prev = t;
    }
    buf[i] ^= buf[1];
  }

  void encode () {
    encode(buffer(),length());
  }

  void encode(uint8_t *buf,uint8_t len) {
    buf[0] = (~buf[0]) ^ 0x89;
    uint8_t buf2 = buf[1];
    uint8_t prev = buf[0];
    uint8_t i;
    for (i=1; i<len-1; i++) {
      prev = (prev + 0xdc) ^ buf[i];
      buf[i] = prev;
    }
    buf[i] ^= buf2;
  }

theshmike
Beiträge: 31
Registriert: 12.01.2018, 11:54
Danksagung erhalten: 1 Mal

Re: Funkmodul 6 / 8 Lötpunkte

Beitrag von theshmike » 21.02.2022, 18:19

Horbi hat geschrieben:
18.02.2022, 12:03
Hast Du schon Kauderwelsch beim Funkmodul Initialisieren und Register setzen, oder nur bei den übertragenen Daten?
Das ist eine gute Frage :D Ich habe mir gerade nochmal das Datenblatt vom SI4431 durchgelesen und ich denke, ich habe mir das alles vielleicht etwas zu einfach vorgestellt :shock:
Ich dachte, ich kann einfach wie auf einem seriellen Port im Klartex oder halbwegs leicht verschlüsselt mitlesen, was der RF-IC und die Host-MCU so untereinander besprechen und damit ein Bisschen reverse Engineering des Funkprotokolls betreiben.
An sich betrachte ich es eigentlich hauptsächlich als interessantes Projekt um den Umgang mit dem Logikanalysator zu lernen, weswegen ich auf jeden Fall dranbleibe.

Im Datasheet steht auf jeden Fall das hier: Bild
Das liest sich für mich jetzt so, dass die Host-MCU lediglich über den beschriebenen Weg via Register mit dem SI4431 spricht - was den reinen SPI-Parser im Logikanalystator für mich erstmal unbrauchbar macht.
Beim Start des Moduls kann ich z.B. reproduzierbar das hier sehen, was für mich nach den Angaben im Datasheet jetzt heißen würde, dass die Host-MCU das Modulationsverfahren auf "unmoduliert" setzt, in dem dem "0x0" ins Register 71h schreibt: Bild

Sehe ich das richtig? Falls ja würde ich mich mal ranmachen und eine Extension für den Logikanalysator schreiben um das entsprechend zu parsen, das scheint wohl nicht soo kompliziert zu sein.

Sorry, wenn einige Fragen und Annahmen vielleicht aus eurer Sicht dumm sind, aber jeder fängt ja mal unwissend an ;)

Benutzeravatar
stan23
Beiträge: 2038
Registriert: 13.12.2016, 21:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Altmühltal
Hat sich bedankt: 582 Mal
Danksagung erhalten: 336 Mal
Kontaktdaten:

Re: Funkmodul 6 / 8 Lötpunkte

Beitrag von stan23 » 21.02.2022, 19:03

Für eine einfachere Analyse lohnt es sich einen Dekoder zu schreiben, so wie ich das mal für das CC1101 getan habe:
https://sigrok.org/wiki/Protocol_decoder:Cc1101

Dann kann man recht schnell sehen welche Register wie beschrieben werden und eine entsprechende Lib basteln.
Viele Grüße
Marco

RaspberryMatic als VM auf einem NUC mit Proxmox und USB-Funkmodul
~80 Geräte (HM, HmIP, HMW, HBW, AskSin)

theshmike
Beiträge: 31
Registriert: 12.01.2018, 11:54
Danksagung erhalten: 1 Mal

Re: Funkmodul 6 / 8 Lötpunkte

Beitrag von theshmike » 23.02.2022, 12:33

stan23 hat geschrieben:
21.02.2022, 19:03
Für eine einfachere Analyse lohnt es sich einen Dekoder zu schreiben, so wie ich das mal für das CC1101 getan habe:
Danke, habe das jetzt mal direkt als Extension für den Saleae geschrieben (bzw. geforked und angepasst) und werde mich von dort aus weiterhangeln.
Wen es interessiert bzw. es gebrauchen kann: Silicon Labs SI4430/31/32 SPI bus decoder for the Saleae logic analyzer.

ivo-int
Beiträge: 300
Registriert: 13.04.2020, 08:55
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 37 Mal
Danksagung erhalten: 16 Mal

Re: Funkmodul 6 / 8 Lötpunkte

Beitrag von ivo-int » 25.12.2022, 08:18

Hallo Marco

Wenn ich deinen Beitrag richtig lese und interpretiere dann ist das TRX868-TI Funkmodul zu 100% kompatibel mit den China-Clone Modellen?
stan23 hat geschrieben:
31.12.2019, 14:57
Es gibt 2 breite 8-polige Funkmodule mit SPI-Anschluss:
  • TRX868-TI mit CC1101 von Texas Instruments, den Chip unterstützt die AskSinPP
  • TRX868-SL mit einem Chip von Silicon Labs
mein Modul:
20221225_074124.jpg
mein Funkmodul
Hintergrund: Ich habe einen HM-Sw2-FM Aktor zerlegt. Dieser hat das Kondensator-Verhalten welches in diesem Forum schon öfter beschrieben wurde.
Bei den beschriebenen Versionen handelt es sich um ältere Modelle.
Die Schaltung zu diesem Aktor Modell besitze ich nicht. Mann könnte jetzt alle Kondensatoren tauschen, aber ich habe mich für einen Nachbau eines normalen 2 Kanal Aktors entschieden.

Jetzt möchte ich das Funkmodul weiter verwenden.
Gehe ich richtig in der Annahme dass ich die Funktion mit der Testbenche und Frequenztest überprüfen kann?

Gruss Ivo
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: Funkmodul 6 / 8 Lötpunkte

Beitrag von jp112sdl » 25.12.2022, 08:26

ivo-int hat geschrieben:
25.12.2022, 08:18
100% kompatibel
Funktional: ja.
Pinbelegung: nein.

Die Belegung findest du dort: https://wiki.fhem.de/wiki/HomeMatic_Asksin_Library

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

ivo-int
Beiträge: 300
Registriert: 13.04.2020, 08:55
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 37 Mal
Danksagung erhalten: 16 Mal

Re: Funkmodul 6 / 8 Lötpunkte

Beitrag von ivo-int » 26.12.2022, 10:03

Hallo Jerome

Danke für den Link. Schade, das wäre ja zu einfach gewesen.
jp112sdl hat geschrieben:
25.12.2022, 08:26
Funktional: ja.
Pinbelegung: nein.

Die Belegung findest du dort: https://wiki.fhem.de/wiki/HomeMatic_Asksin_Library
Ich denke dass ich das Modul bei einem Experimentier-Aufbau weiter verwenden kann. Zuerst werde ich doch noch einen Reparatur-Versuch starten.

Gruss Ivo
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi

Antworten

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