mikrocontroller.net

Forum: HF, Funk und Felder Berker FunkBus (Funkschalter) 433Mhz Prüfsumme?


Autor: Markus S. (links)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo zusammen,
hatte gestern die idee das Berker funkbus system (Funksteckdosen 
lampeneinbauteile Rollos etc.) was wir zuhause haben auch mit dem PC 
steuern zu können^^
online bekommt man nur wenig Infos na ja wiso sollte Berker auch alle 
Infos raus rücken^^
Einzige was ich gefunden habe war: 
http://www.berker.com/uploads/tx_berkerproposal/El...

So daraufhin habe ich ein Sender zerlegt und die Elektronik an ein PIC 
angeschlossen.
PIC per USB an PC und erste Software zum senden von Signalen 
geschrieben.
Bzw zum auslesen des Signals was der Schalter normalerweise sendet.

Habe bis jetzt alles hin bekommen konnte auch ner menge bits functionen 
zuweisen (siehe Anhang).

Stehe jetzt aber vor einem Problem wie berechne ich die Prüfsumme???
Hoffe einer von euch hat ne idee dazu.

Bisher kann ich nur Signale klonen möchte aber selber mit neuer sn
"Fernbedienungen" simulieren da die Schalter mehrere Sender lernen 
können.
Möchte ja nicht alle Funk-Schalter Aufmachen kable anlöten und bits 
auslesen :)

Markus (Links)

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erst mal Respekt wegen der Aufschlüsselung des Funk-Protokolls! :)

Wegen der Prüfsumme:
Ich vernute mal bei 5-Bit wird es wohl keine CRC sein. Die 5 Bit würden 
natürlich schön auf die 5 Protokoll-Gruppen passen (Also ein Bit pro 
Gruppe), aber das scheint nicht hin zu kommen. Auffällig ist das das 
letzte Bit immer ne 1 ist. Könnte also sein das die letzte 1 nicht mehr 
zur Prüfsumme dazu gehört?

Autor: Markus S. (links)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die Möglichkeit besteht ist mir auch schon aufgefallen bin bei den 5Bits
von der Pdf ausgegangen muss ja nicht alles stimmen was da steht.
was mir auch noch einfällt ist das ich das letzte bit von den "daten" 
nicht zuordnen konnte möglicherweise gehört es zu der Prüfsumme.

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stoppbit ?

Autor: Markus S. (links)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
könnte gut sein.
habe mir die Daten nochmal angesehen glaube fast das das letzte 
"datenbit" ein Parität bit ist.
Wenn man jetzt von einm stopbit ausgeht bleibt eine 4bit Prüfsumme gibt 
es da eine?
kenne mich mit CRC und co nicht wirklich aus und habe denn wiki text 
noch nicht vollständig verstanden.

Markus

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe mir das PDF durchgeschaut. Es scheint sich doch nicht um ein 
Stoppbit zu handeln, Pariry passt da schon eher.

CRC ist auch über nibble(4 bit)möglich und würde hier passen
CRC adiert Daten constanter Wortbreite(hier 4/5 Bit?) auf ein gesetztes 
Carry (Überlaufbit) wird eins aufaddiert. Zyklisch halt.

http://de.wikipedia.org/wiki/Cyclic_Redundancy_Check

Autor: Markus S. (links)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi
hoffe habe das crc Prinzip jetzt verstanden habe versucht ein vb.net 
Programm zu schrieb das crc generieren kann. Momentan Läuft ne Art 
Blueforce Methode zum finden des Generatorpolynom hoffe habe keinen 
fehler bei meiner Berechnung deshalb mal paar Ergebnisse hoffe kann 
jemand mal überprüfen.
Generatorpolynom:  110101

Daten            Ergebnis
11011            | 00101
11111            | 01110
1111101010101001 | 01001
00101100011010111110010001100000000000010001 | 10111

Danke

Autor: Winfried J. (Firma: Nisch-Aufzüge) (winne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ob es funktioniert weist du wenn dein Progamm eine Summe zu generieren 
vermag welche der Empfänger akzeptiert.

Autor: Markus S. (links)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
so habe jetzt alle Möglichkeiten von Generatorpolynom 0x0001 bis 0xFFFF 
durch und konnte keine Gemeinsamkeiten der aufgezeichneten Daten finden.
Sie es über alle Daten oder nur über die 16Datenbits. Ob mit letztem "1" 
bit oder ohne. Wer das Programm was ich geschriben hab haben will is im 
anhang ist denke ich ganz praktisch :)
Gibt es noch andere arten von Prüfsummen ?

Markus

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das einfachste wäre eine einfache addierung aller Bytes ohne 
berücksichtigung eines überlaufs (wird bei Profibus gemacht).

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wir haben im Studium mal eine Möglichkeit gezeigt bekommen, durch 
Anhängen von ein paar Prüfbits einen 1-Bit Fehler korrigiert zu 
bekommen.

Leider hab ich grad die Infos nicht zur Hand. Aber es war irgend was
mit Matrix und diversen "Polynomen".

Kann ja sein, dass die die Anzahl der Aussendungen so klein wie möglich
halten wollen und daher eine Fehlerkorrektur drin haben, statt bloß eine
Fehlerdetektierung.

Autor: Markus S. (links)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jörg Das mit der addierung haut leider nicht hin.

@Matthias Wenn dir der name des Verfahrens wieder einfällt sag pls 
bescheint.
wies ja nicht was das so an Rechenleistung braucht in den Schaltern is 
zumindest immer ein Pic drin Leider geht das auslesen nicht wäre ja zu 
einfach :P

Markus

Autor: Martin Laabs (mla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fehlerkorrektur geht nicht. Dafür ist die Anzahl der Püfbits zu gering. 
Die Brute-Force Methode wäre - so das System linear arbeitet - ein 
Gleichungssystem mit entsprechend vielen Unbekannten aufzustellen und es 
dann zu lösen/lösen lassen.

Viele Grüße,
 Martin L.

Autor: Markus S. (links)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe mittlerweile 171 Aufgenommene Daten.
Das einzige was ich raus bekommen habe ist das alle "OFF" befehle eine 
Invertierung von z.b. Prüfbits: 1-0000-1 zu 1-1111-1 zu haben scheinen.
und alle Daten die das 2 mal gesendet werden haben eine inv im von z.b. 
Prüfbits: 1-1111-1 zu 1-1101-1.
und das erste bit ist parabilität aller Daten. aber wie ich auf die 4 
mittleren komme weis ich einfach nicht.
aber auf mehr bin ich noch nicht gekommen :(

Markus

Autor: J. Menzenbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich bin zwar kein Fachmann aber sehr daran interessiert von einem 
Slimbook aus das Berker Funkbus System zu steuern.
Es gibt ein Funksendemodul mit dem man dies machen könnte und ebenso die 
dazugehörige Software.
Das ganze nennt sich "Boss 4 Help" Umgebungssteuerung.
Leider kann man dieses Funksendemodul nicht einzeln sondern nur im 
Komplettpaket bei der Firma "Meier & Schütte" käuflich erwerben.

Bei meiner Suche bin ich auf das "Scase Select mit 433,42 ASK Modul"
gestolpert.
http://www.insors.de/article.php?news_id=116&categ...
Jetzt bin ich aber nicht so ein Fachmann zu entscheiden ob dieses Gerät 
dafür tauglich sein könnte.

Vielleicht könnte mir jemand von Euch einen Tip geben.


Grüße  Josef

Autor: Martin Laabs (mla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ist die Prüfsumme derweilen geklärt oder soll ich mich mal drann setzen?

Viele Grüße,
 Martin L.

Autor: Markus S. (links)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi
bin bei der Prüfsumme noch nicht weiter.
wenn Interesse besteht kann ich gerne alle ausgelesenen Codes von mir 
hoch laden.

ob die oben genannte Hardware zu verwenden ist kann ich nicht sagen ich 
habe mir den sender aus einen PIC16F4455 und eines Berker sender moduls 
aus einem Funk wand Sender 4764 zusammen gebaut und an USB gehängt. Der 
sender lässt sich parallel betreiben. mit ein bisschen löte Arbeit.

Markus

Autor: Wireless Avans (wireless)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus S. schrieb:
> hi
> bin bei der Prüfsumme noch nicht weiter.
> wenn Interesse besteht kann ich gerne alle ausgelesenen Codes von mir
> hoch laden.
>
> ob die oben genannte Hardware zu verwenden ist kann ich nicht sagen ich
> habe mir den sender aus einen PIC16F4455 und eines Berker sender moduls
> aus einem Funk wand Sender 4764 zusammen gebaut und an USB gehängt. Der
> sender lässt sich parallel betreiben. mit ein bisschen löte Arbeit.
>
> Markus

Hi
Ich habe ein potenzielles Prüfsumme gefunden. Können Sie alle 
ausgelesenen Codes hoch laden, dann kann ich es controlieren vor ich es 
hoch laadt.

mfg

Wireless

Autor: Markus S. (links)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
anbei habe ich mal mein Datenbank als xls Exportiert :)
bin mal gespannt ob ihre function bei allen codes klappt.

Markus

Autor: Wireless Avans (wireless)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich dachte fur die Prüfsumme:
xxxx-1
|||| |
|||| #- stop bit
|||#--- OFF (OFF = 1)
||#---- ?
|#----- ON  (ON  = 1)
#------ ?
aber es klappt nicht. schade! Hamming code ist es auch nicht.

Können Sie bitte erklären wie man das gemessen habt? Ich verstehe nicht 
wie man das an USB kann Anschließen. Habben Sie software fur das?
Ich möchte mein Ferbedinung auch auslesen. Dann kann ich die Prüfsumme 
vergleichen mit dein Daten. Bitte können Sie dein Methode erklären.

Grüße

Autor: Markus S. (links)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
also als erstes habe ich die Fernbedienung aufgeschraubt dann per 
Soundkarten ossi die pin am ic identifiziert der das zu sendende Signal 
ausgibt (sieht genauso aus wie in meiner txt beschrieben) 5V für diese 
Signal Übertragung habe ich auf einem pic mit USB emuliertem COMP port 
eine Software geschrieben die dieses dann an den pc sendet. der PC 
wiederum wertet den ganzen code soweit mir das Protokoll bekannt ist 
aus.
da ich momentan in reha bin kann ich keine Fotos der Pins an den 
verschiedenen Schalter Modellen liefern.
Pins sind aber nicht schwer zu finden.

hier ein Auszug aus der user.c der Code basiert auf dem Mikrochip USB 
CDC Beispiel.
void Delayu(unsigned int x)
{ 
unsigned int i = 0;
while(1) {
if(i==x) break;
i++;
}
}

#define IR_611us   542

unsigned char a = 0;
unsigned char b = 0;
unsigned char c = 0;

unsigned char readberker = 0;
unsigned char lastsend = 0;
void User_Process(void)
{

if(mUSBUSARTIsTxTrfReady()){
  if(readberker > 0) {
    lastsend = 1;
    b=1;
    c=0;
    a=0;
    while(PORTBbits.RB0);   //wait Low
    while(!PORTBbits.RB0);   //wait Hi
      Delayu(IR_611us);    //wait 611us
    if(PORTBbits.RB0 = 0) return;
      Delayu(IR_611us);    //wait 611us
    if(PORTBbits.RB0 = 0) return;

    //while(PORTBbits.RB0);   //wait Low
    while(1) {
      if(c >= 49 ) break;
      if(lastsend != PORTBbits.RB0){ //wait Change
        a=PORTBbits.RB0;
          Delayu(IR_611us);    //wait 611us
        if(a != PORTBbits.RB0) { 
          output_buffer[c] = 0x31; //1
        } else {
          output_buffer[c] = 0x30; //0
        }
        lastsend = PORTBbits.RB0;
        c++;
      }
    }    
    output_buffer[c] = 0x0d; c++;
    output_buffer[c] = 0x0a; c++;
    output_buffer[c] = 0x00;
    mUSBUSARTTxRam((byte*)output_buffer,c); 
    readberker--;
    while(PORTBbits.RB0);   //wait Low
     Delayu(80000);    //wait
    while(PORTBbits.RB0);   //wait Low
    return;
  }
}

 if(getsUSBUSART(input_buffer,64))
    {
    switch (input_buffer[0])
    {
    case 'i': 
    readberker = 4;
    break;
    }
  }

}

Markus

Autor: Wireless Avans (wireless)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe die Prüfsumme gefunden!
Es ist sehr Komplex, daher habe ich ein C# program geschrieben.

Ich möchte gern auch die fernbedienung klonen, wie hat man das gemacht? 
auch via usb? Bitte beschreiben Sie, wie!

Autor: Markus S. (links)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hi,
werde nächste Woche wieder zuhaue sein dann kann ich die Vorgang gerne 
dokumentieren und hier einstellen. hätte auch noch Interesse an ihrem 
Visual c# code so das ich ihn auf einen pic umsetzen kann :)
von den unterlagen die ich momentan auf dem Laptop habe kann ich 
folgendes sagen:
Die Schaltung basiert auf einem PIC16F4455 alternativ gehen wenn ich 
mich richtig erinnere PIC18F2550, PIC18F2455, PIC18F4550 meine die waren 
fast baugleich bist auf Speichergröße und PIN Anzahl wobei ich bei 
diesem Projekt nur 2 Pins zum benötigte.
RB0 als input pin zum auslesen des signals.
und PWM2 auf den ich einen 433Mhz sender angeschlossen habe. wobei man 
natürlich auch ohne PWM senden kann ich nutze nur die Tatsache das durch 
die Modulation energy gespart wird und für andere Protokolle wie z.b. 
für denn oft in billig Funksteckdosen oder rollos verbauten PL2292 / 
HX2292 wird eine Modulation benötigt.
auf PWM1 habe ich IR Dioden angeschlossen was hier aber mal weiter 
unwichtig ist. gesteuert wird der PIC über eine in USB emulierte comp 
Schnittstelle.
anbei hab ich mal den kompletten Code
die Verarbeitung findet in user\user.c stand.
Bilder und alles weiter kann ich erst zuhause machen.
hoffe das die infos ein wenig weiterhelfen. habe zuhause auch noch 
VB.net codes für tcp/ip server zum nutzen des pics an einem anderem pc 
auch wenn ich sagen muss das dieser nur auf die schnelle zusammen 
gecoded wurde aber er tut seinen Zweck :)

Markus

Autor: Wireless Avans (wireless)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
mein Code ist in die Anhang.
Ich hoffe das Sie die Dokumentation können hochladen!

Grüße

Autor: Markus S. (links)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hi,
habe der zeit einiges zu erledigen.
habe jetzt mal auf die schnelle das nötigste zum Wandsender zusammen 
gefast.

Markus

Autor: Wireless Avans (wireless)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Können Sie bitte auch dokumentieren wie man das Sender hat gemacht?

Ich habe Probleme mit es Anschließen von die Hardware.

Danke!

Autor: Tipetan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe von Microkontrollern keine Ahnung aber ich bin über diesen 
Beitrag gestoßen weil ich mit Hilfe meiner Fritzbox7390 und der 
Firmware-Erweiterung fhem und einem CUL-USB-Stick meine Hausautomation 
mit Berker komponenten durchführen möchte. Ich habe von der Fa. Insta 
eine Protokollbeschreibung gefunden und hoffe das ihr was damit anfangen 
könnt.
(Insta = Berker = Gira = Jung)

http://www.ledtrix.de/index.php?page=4434

Viel Erfolg noch!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.