...
Code Block |
---|
const int TX_PIN = 4; // ESP8266 pin D2 typedef struct { boolean power; int duration; // micro seconds } signal; const signal SHORT_ON { true, 500 }; const signal SHORT_OFF { false, 2000 }; const signal LONG_ON { true, 850 }; // not used const signal LONG_OFF { false, 4000 }; const signal STOP_OFF { false, 500 }; const int REST = 9000; // 9 ms gap // Here's a temperature of 24.5 forever... // signal sig_1 [] { SHORT_ON, // start bit SHORT_OFF, SHORT_ON, // a zero (0) bit LONG_OFF, SHORT_ON, // a one (1) bit LONG_OFF, SHORT_ON, // a one (1) bit LONG_OFF, SHORT_ON, // a one (1) bit LONG_OFF, SHORT_ON, // a one (1) bit SHORT_OFF, SHORT_ON, // a zero (0) bit SHORT_OFF, SHORT_ON, // a zero (0) bit SHORT_OFF, SHORT_ON, // a zero (0) bit LONG_OFF, SHORT_ON, // a one (1) bit SHORT_OFF, SHORT_ON, // a zero (0) bit SHORT_OFF, SHORT_ON, // a zero (0) bit SHORT_OFF, SHORT_ON, // a zero (0) bit SHORT_OFF, SHORT_ON, // a zero (0) bit SHORT_OFF, SHORT_ON, // a zero (0) bit SHORT_OFF, SHORT_ON, // a zero (0) bit SHORT_OFF, SHORT_ON, // a zero (0) bit // LONG_OFF, SHORT_ON, // a one (1) bit LONG_OFF, SHORT_ON, // a one (1) bit LONG_OFF, SHORT_ON, // a one (1) bit LONG_OFF, SHORT_ON, // a one (1) bit LONG_OFF, SHORT_ON, // a one (1) bit SHORT_OFF, SHORT_ON, // a zero (0) bit LONG_OFF, SHORT_ON, // a one (1) bit SHORT_OFF, SHORT_ON, // a zero (0) bit LONG_OFF, SHORT_ON, // a one (1) bit SHORT_OFF, SHORT_ON, // a zero (0) bit SHORT_OFF, SHORT_ON, // a zero (0) bit SHORT_OFF, SHORT_ON, // a zero (0) bit SHORT_OFF, SHORT_ON, // a zero (0) bit LONG_OFF, SHORT_ON, // a one (1) bit LONG_OFF, SHORT_ON, // a one (1) bit LONG_OFF, SHORT_ON, // a one (1) bit SHORT_OFF, SHORT_ON, // a zero (0) bit STOP_OFF, SHORT_ON // stop bit }; void doTransmission(signal array[67]) { Serial.println("Doing transmission..."); for (int burst = 1; burst <= 7; burst++) { for (int idx = 0; idx < 66; ++idx ) { // payload digitalWrite(TX_PIN, array[idx].power); delayMicroseconds( array[idx].duration ); } delayMicroseconds(REST); // rest between bursts } } void setup ( void ) { pinMode(TX_PIN, OUTPUT); Serial.begin ( 115200 ); } void loop ( void ) { Serial.println("Sending..."); doTransmission(sig_1); delay(10000); } |
References
Reference | URL |
---|---|
FCC Info | https://fccid.io/RNE606TXA1 |
RF Protocol | http://www.osengr.org/WxShield/Downloads/Weather-Sensor-RF-Protocols.pdf |
FCC Info | https://fccid.io/RNE606TXA1 |
On Off Keying | https://www.youtube.com/watch?v=w6V9NyXwohI |
...