Go Down

Topic: 433 MHz, CC1101, Brauche Hilfe (Read 3758 times) previous topic - next topic

rzogg

Hi LSatan

Ich habe wie von dir beschrieben die rc-switch lib ausgetauscht und versucht meine Intertechno FB mittels den beiden darin enthaltenen Sketch  ReceiveDemo simple und advanced auszulesen, leider bleibt das Protokoll Fenster weiss :-(.  any ideas?

Mein Setup überprüfe ich jeweils mit einem parallelen laufenden Empfänger und einer FB aus der Bucht die rc-Switch kompatibel ist.


Gruess - Roman

LSatan

#106
Aug 12, 2018, 06:09 pm Last Edit: Aug 12, 2018, 06:20 pm by LSatan
Hi Roman,

Schade  das es nicht geklappt hat.

Ich habe mir jetzt mal die 1500er steckdosen von Intertechno Bestellt.
Habe Gelesen das die steckdosen abwärtskompatibel mit älteren Intertechno
fb´s sind.

Hast du mal folgendes ausprobiert um einen neuen Code anzulernen?

Veränderter loopbereich. Beispiel Intertechno TypeC:
Code: [Select]

void loop() {

  // In this example it's family 'b', group #3, device #2
  mySwitch.switchOn('b', 3, 2);

}


off signal und delay weg um eine durchgehend gedrückte on taste zu simulieren.

bin auf deine ergebnisse gespannt

Grüße LSatan

jktz90

Mit welchem Arduino versuchst du denn den Code auszulesen?
Bei mir hat es mit einem Nodemcu v3 ebenfalls nicht funktioniert (und ich konnte mir nicht erklären warum, Pinbelegung war sicherlich richtig), ich habe dann auf Arduino Nano gewecshelt und es hat sofort funktioniert.


rzogg

Guten Abend LSatan


Ich habe es soeben getestet, leider kommt auch so nichts an.

Wenn ich mir die Protokolle anschauen, dann schauen die 0 und 1 schon ganz anders aus.

Intertechno:
        _    _
'0':   | |_| |_____ (T,T,T,5T)
        _           _
'1':   | |_____| |_  (T,5T,T,T)
       
T = short period of ~260µs


RC-Switch:
        _
'0':   | |_______________________________ (T,3T)*pulselength
        _  
'1':   | |___ (T,3T)

T = short period of ~350µs



ps. schön zu hören, dass du dir auch die 1500er bestellt hast. Und wie schon erwähnt übernehme ich die gern für dich.


VG  und eine gute Nacht

Roman

rzogg

Hallo jktz90

Ich versuche es immer mit beiden Setups "nano + cc1101" und "Nodemcu + cc1101".
Du hast auch die selbstlernenden IT-1500er Funksteckdosen im Einsatz und nicht die alten mit den 10 Pins?

Gruess - Roman

LSatan

Hallo,

Also ich habe noch einen anderen ableger von Rc-switch gefunden.
der mit der IT 1500 kompatibel ist (Direkte für Intertechno und Ähnlich).
jedoch ist es für den PI.
Das kompiliert mit der Version funktioniert. Aber ich empfange mit der version
meine fb´s nicht. Das kann daran liegen das die pi version nicht bei arduino geht oder
das die "nicht intertechno fb´s" damit nicht laufen. NewRemoteSwitch Lib empfängt
meine fb´s ja auch nicht. Jetzt muss ich warten bis die IT 1500 da sind.
Du kannst es gerne schonmal testen. Wie gehabt Orginal Rc-Switch raus andere version rein.
Versuch es mit den cc1101 examples.(Keine Examples dabei!)

@jktz90
Die Pinbelegung für den Nodemcu v3 sollte genau so sein wie in der beschreibung
D5,D6,D7,D8,D1 und D2. Mit den separaten miso sck pin etc. beim Nodemcu sollte es nicht Funktionieren.

@Roman
Danke für dein Angebot aber ich weiss garnicht wie und ob ich dein Angebot annehmen kann.

Grüße LSatan

jktz90

#111
Aug 13, 2018, 09:44 pm Last Edit: Aug 13, 2018, 09:47 pm by jktz90
Hallo jktz90

Ich versuche es immer mit beiden Setups "nano + cc1101" und "Nodemcu + cc1101".
Du hast auch die selbstlernenden IT-1500er Funksteckdosen im Einsatz und nicht die alten mit den 10 Pins?

Gruess - Roman
Ich habe von LIDL welche(RCB-I 3600), die müssten aber sehr ähnlich sein (20 bit Code unverschlüsselt). Dazu habe ich mein Empfänger an den Mikrophonanschluss angeschlossen um den Fernbediencode einschließlich der Delays zu bekommen. Anschließend dann simple "manuelle" Senderoutine mit:
Code: [Select]

#define ch1on "11101000000000010001"
#define ch1off "11101000000000000000"

boolean sendCode(char code[]) { //empfange den Code in Form eines Char[]

 sendSymbol('x');
  
 for (short z = 0; z<7; z++) { //wiederhole den Code 7x
   for (short i = 0; i<20; i++) { //ein Code besteht aus 20bits
     sendSymbol(code[i]);
   }
   sendSymbol('x'); //da der code immer mit x/sync abschliesst, brauchen wir den nicht im code und haengen es autisch immer hinten ran.
 }
 return true;

}
void sendSymbol(char i) { //Diese Funktion soll 0,1 oder x senden koennen. Wir speichern die gewuenschte Ausgabe in der Variabel i


 
 switch (i) { //nun gucken wir was i ist
 case '0':
 { //Der Code fuer '0'
   digitalWrite(rc_pin, LOW);
   delayMicroseconds(666);
   digitalWrite(rc_pin, HIGH);
   delayMicroseconds(1333);
   return;
 }
 case '1':
 { //Der Code fuer '1'
   digitalWrite(rc_pin, LOW);
   delayMicroseconds(1333);
   digitalWrite(rc_pin, HIGH);
   delayMicroseconds(666);
   return;
 }
 case 'x':
 { //Der Code fuer x(sync)
   digitalWrite(rc_pin, LOW);
   delay(81);
   digitalWrite(rc_pin, HIGH);
   delayMicroseconds(666);
 }

 }

}









LSatan

Guten Abend

Die IT 1500 arbeiten mit 32Bit Protokollen.
Bestehend aus ID-Code 26 Bits.  2-Bit Kommando und eine 4-Bit Geräte bzw. Tastenpaar Nummer.

Grüße LSatan

rzogg

Guten Abend LSatan

Ich habe die von dir angehängte rc-switch getestet, leider ebenfalls erfolglos.
Wenn ich mir den Code im darin enthaltenen Sketch anschaue, dann sieht es auch wieder nach den alten IT Funksteckdosen aus.

Gruess - Roman

LSatan

#114
Aug 15, 2018, 08:21 pm Last Edit: Aug 15, 2018, 08:24 pm by LSatan
Hi Roman

Die Steckdosen sind gestern eingetroffen.
Ich habe mir mal die rc_switch version die ich als 1. gepostet hatte angesehen und
dort den skript für die selbstlernenden SD´s endeckt.
Auf dieser basis habe ich dann eine transmitt demo erstellt.
Leider Regaieren die steckdosen darauf nicht und ShowReceiveCode.ino auch nicht.
Es scheint irgendwo ein kleiner fehler zu sein denn das protokoll und das timing klingt exakt so
wie die mitgelieferte fb. Ich bleibe aber an der sache dran.

Die zweite sache ist das nun LightShow mit esp funktioniert und ich würde gerne ein update machen.
Aber ich möchte auch NewRemoteRepeater kompatibel machen und da gibt es ein kleines problem.

dimLevelPresent und dimLevel funktionieren mit esp nicht.
Ich habe aber gesehen das es zum senden nicht weiter relevant scheint.
Von daher könnten wir das doch weglassen. Oder hat es einen speziellen grund
das es mit drinne ist?

code zeigt deaktivertes dimLevel und Preset. Funktioniert mit esp!
Code: [Select]

 void ReTrans(unsigned int period, unsigned long address, unsigned long groupBit, unsigned long unit, unsigned long switchType){//, unsigned long dimLevelPresent, unsigned long dimLevel) {  // Disable the receiver; otherwise it might pick up the retransmit as well.
 
   if (debug == 1) {
    // Print the received code.
    Serial.print("Receiver: ");
    Serial.print("Code: ");
    Serial.print(address);
    Serial.print(" unit: ");
    Serial.print(unit);
    Serial.print(" switchType: ");
    Serial.print(switchType);
    Serial.print(" Period: ");
    Serial.print(period);
    Serial.print(" groupBit: ");
    Serial.println(groupBit);
 //   Serial.print(" dimLevelPresent: ");
 //   Serial.print(dimLevelPresent);
 //   Serial.print(" dimLevel: ");
 //   Serial.println(dimLevel);
   }


Aufjedenfall find ich bei NewRemoteTransmitter.cpp und h. es super einfach eigene protokolle zu erstellen da hier nicht nur single bits möglich sind so wie bei rc-switch.
Durch NewRemoteReciver.cpp und .h bin ich leider noch nicht richtig durchgestiegen.

Grüße LSatan

rzogg

Guten Morgen LSatan

Das dimLevelPresent und der dimLevel habe ich nur der Vollständigkeitshalber mit aufgenommen. Eine Anwendung dazu habe ich nicht, von daher kannst du dies gerne weglassen.

Gruess - Roman


LSatan

Hallo Roman

Habe es erledigt. Das Update ist Online. RCSwitch-CC1101-Driver-Lib_V1.72
Alle NewRemoteSwitch Beispiele außer Retransmitt.ino kompatibel mit ESP.
Außerdem habe ich den Frequenz Rechner Kalibriert. Es waren immer 0.01mhz zu wenig.
Jetzt ist es Exakt.

Im moment Arbeite ich daran das die Rc_Switch Protokolle von NewRemoteSwitch Lib Empfangen werden.
Das Senden der RC-Switch Protkolle Klappt bereits mit NewRemoteSwitch Lib.

LG LSatan

Go Up