In previous article, we managed to decode a RF433 packet using homeeasy protocol (a di-o chacon telco for a power outlet).
Next obvious step is now to replay it using our Arduino and a FS1000a rf433 chip.
Here below the arduino sketch.
(wiring is simple : data to digital 3, gnd to gnd, vcc to 3.3v)
const int transmit_pin = 3;
void setup()
{
pinMode(transmit_pin, OUTPUT);
Serial.begin(115200); // Debugging only
Serial.println("setup");
}
void loop()
{
//time to adjust
digitalWrite(transmit_pin, LOW);
delayMicroseconds(5000);
//preamble
digitalWrite(transmit_pin, HIGH);
delayMicroseconds(275);
digitalWrite(transmit_pin, LOW);
delayMicroseconds(2800);
//datas - a manchester encoded string, sniffed with sdrsharp
char binary[]={0,1,0,1,0,1,1,0,1,0,1,0,0,1,1,0,0,1,1,0,0,1,0,1,1,0,0,1,0,1,1,0,1,0,1,0,1,0,0,1,1,0,1,0,1,0,1,0,1,0,0,1,0,1,1,0,0,1,0,1,0,1,0,1};
for (int i=0; i <64; i++){
if (binary[i]==0) {
digitalWrite(transmit_pin, HIGH);
delayMicroseconds(275);
digitalWrite(transmit_pin, LOW);
delayMicroseconds(275);
}
if (binary[i]==1) {
digitalWrite(transmit_pin, HIGH);
delayMicroseconds(275);
digitalWrite(transmit_pin, LOW);
delayMicroseconds(1225);
}
}
//the end
digitalWrite(transmit_pin, HIGH);
delayMicroseconds(275);
digitalWrite(transmit_pin, LOW);
delayMicroseconds(5000);
//
delay(1000);
}
Here below the generated signal which as you can see is very similar to the original one.
The original