Comunicacion por RF a 433Mhz desde Arduino hasta RaspberryPi

Estos son los módulos necesarios:

Arduino

Descargamos la siguiente librería: enlace.
Creamos el siguiente código en el Arduino:
#include <rcswitch .h="">
RCSwitch mySwitch = RCSwitch();
long envio = 0;
 
// Declaracion de variables
float tempC;
int tempPin = 0; // Definimos la entrada en pin A0
void setup()
{
    // Abre puerto serial y lo configura a 9600 bps
    Serial.begin(9600);
    mySwitch.enableTransmit(10);
}
void loop()
{
    // Lee el valor desde el sensor
    tempC = analogRead(tempPin);
 
    mySwitch.send(tempC, 8);
     
    // Espera cinco segundo para repetir el loop
    delay(5000);
}
</rcswitch>


**mySwitch.send(tempC, 8);
indica que esta enviando un número de 8 bits, lo que viene a ser entre -128 y +127.
teniendo en cuenta que el sensor de temperatura trabaja entre -55ºC y +150ºC, nos sobra.
Cargamos el código y lo dejamos en marcha.


RaspberryPi

Antes de nada hay que tener compilado WiringPi, pásate por este post.
mkdir -p /usr/src/rasp433/
cd /usr/src/rasp433/
wget https://www.dropbox.com/s/faw6y1lzguhgxvx/rpi.zip
unzip rpi.zip
gcc rfreceive.cpp RCSwitch.cpp -o rfreceive -lwiringPi
gcc rftester.cpp RCSwitch.cpp -o rfreceive -lwiringPi


Ahora mismo vamos a preocuparnos sólo de recibir, en los siguientes post afinaremos el código. Ejecutamos: ./rfreceive 0


FUENTE