GNU Radio for EverFlourish remote control plug
This is my first foray into GNURadio. The objective of this project is to decode the messages sent by a EverFlourish plug socket remote control using GNU Radio Companion, idealy without using any custom blocks.
The remote control and plug
Purchased from Clas Ohlson in norway. Available here
Remote control recording
The file remote_control_recording contains a recording of all buttons on the remote control being pressed. The buttons were pressed in the following order:
- Button 1 On
- Button 1 Off
- Button 2 On
- Button 2 Off
- Button 3 On
- Button 3 Off
This sqeuence was repeated on all 'channels' (A though D).
The recording was made using the EverFlourish.grc flowgraph on GNU Radio 3.7.1 using a USRP N210. The same flowgraph can playback the recording.
Opening in Baudline
The recording can be opened in the Baudline signal analyser. The following settings should be used
- File type - raw
- Sample rate - custom 250000
- Decode format - 32 bit float le endian
- Channels - 2 (enable quadrature)
Closeup of waveform showing long and short pulses
Waveform showing complete message
My hypothesis is that the device uses OOK modulation.
When a button on the remote control is held down a message is repeatedly broadcast. The message is 33.6 ms long and is followed by 10.4 ms of silence. The message is built up of 25 pulses of carrier. There appear to be two types of pulses:
- Long - 975 µs of carrier followed by 332 of silence
- Short - 344 µs of carrier followed by 1002 µs of silence
S = short pulse L = long pulse
|Channel||Socket||On / Off||Pulses|
Converting sinusoids to square pulses
This can be achived using the Complex to Mag^2 block