background image

ENER314

 

R

ASPBERRY 

P

RF-

TRANSMITTER BOARD

 

 

 

3 of 6 

 
Each board transmits a frame of information using On-Off-Keying (OOK) which is a basic form of 
Amplitude Shift Keying (ASK). This frame includes source address (20 bits)  and control data (4 bits). See 
Appendix 1. The source address is randomly selected (so unique for that board), pre-programmed and 
cannot be changed. The socket will accept commands frames that have the source address that it learns 
during the learning process described later.  
 
Here are the pairs of codes using D0-D3 signals that can be sent to control sockets. 
 

D3  D2  D1  D0 

Meaning 

D3  D2  D1  D0 

Meaning 

All on 

All off 

socket 1 on 

socket 1 off 

socket 2 on 

socket 2 off 

socket 3 on 

socket 3 off 

socket 4 on 

socket 4 off 

 
The pcb can therefore control a maximum of 4 Energenie radio sockets independently.  However, more 
that one socket may be controlled by the same control code. 
 
There are two parts to the transmitter. The encoder and the modulator.  
1)

 

The encoder will accept 4 input signal levels programmed onto 4 of the GPIO lines (D0-D3) as shown 
above. It will then serialise them on a single line to the modulator part.  

2)

 

The modulator transmits the serialised signal. It needs to be programmed in Amplitude-Shift Keying 
(ASK) mode for the sockets using a GPIO signal. It also needs to be enabled by a separate GPIO 
signal. 

  
Firstly, we need to install a Python module, RPi.GPIO, to enable software control of the GPIO pins for 
the Raspberry Pi. Open an LXterminal from the desktop and type the following lines: 
 

sudo apt-get install python-rpi.gpio

  

 

Now, open a text editor such as Leafpad and type the python code listed at the end called ENER002.py 
into a new file under home/pi (or, more easily, download it from the energenie4u.co.uk website and 
copy using a USB flash drive). This program will allow us to send coded commands to the sockets to 
program them and then switch them on and off when the return key on the keyboard is hit. 

 

Controlling the sockets 

Launch your program by typing the following command at the prompt in the LXterminal window:  
 

sudo python ENER002.py 
 

Then insert a radio controlled socket into a mains wall socket which is switched on.  
The socket must then be programmed to learn a control code from the transmitter. To do this the 
socket must be in learning mode indicated by the lamp on the front of the socket housing flashing 
slowly. If it is not doing this, press and hold the green button on the from of the housing (while the lamp 
is off), for 5 seconds or more and then release it when the lamp starts to flash at 1 second intervals. 
Then send a signal to it from you program by hitting the return key. Acceptance will be indicated by a 

Отзывы: