loading
Materiales Necesarios
  • Raspberry.
  • Arduino.
  • ModulosTX y RX.
  • Sin Card de cualquier operador.
  • Salidas eléctricas inalambricas.
  • Protoboard.
  • Leds.
  • Cables.
  • Internet.
  • Smart Phone con whatsapp

Softwares necesarios :

  • Raspbian.
  • python.
  • Librería Yousup.
  • Librería py-serialLibrería GPIO.

Paso 1.

Debemos tener el raspberry con el raspbian instalado, se recomienda que actualicen los repositorios de raspbian.

Las actualizaciones se realizan de la siguiente manera:

sudo apt-get update .

sudo apt-get upgrade .

Actualizamos el Firmware sudo rpi-update .

Debemos de instalar componentes necesarios para la instalación de Yowsup.

sudo apt-get install python-dateutil

sudo apt-get install python-setuptools

sudo apt-get install python-dev

sudo apt-get install libevent-dev

sudo apt-get install ncurses-dev

sudo apt-get install pyserial.

Descargamos la librería Yowsup. git clone git://github.com/tgalal/yowsup.git

Realizamos la instalación desde el terminal:

cd yowsup

sudo python setup.py install

listo!!

Paso 2.

En este paso realizamos el Registro y pruebas. realizamos el registro del Numero de la Sin-Card del operador que mantenemos.

Debemos de solicitar un código de registro con el comando:

python yowsup-cli registration --requestcode sms --phone 507xxxxxxxx --cc 507 --mcc 714 --mnc 01

Para Panamá:

cc= codigo de pais 507

mcc= 714

mnc= 01 Cable and Wireless

02 Movistar

03 Claro

04 digicel

Para otros países: puedes obtener los datos Aqui .

Debemos de recibir un mensaje de texto con con un código de seis dígitos ejemplo A12-A13.

Ahora debemos de enviar nuevamente un mensaje incorporando el código de registro remplazando en register xxx-xxx el código que recibimos por SMS.

python yowsup-cli registration --register xxx-xxx --phone 507xxxxxxxx --cc 507

Debemos de recibir el siguiente mensaje.

status: ok

kind: free

pw: xxxxxxxxxxxxxxxxxx=

price: US$0.99

price_expiration: 1427612151

currency: USD

cost: 0.99

expiration: 1456029549

login: 507xxxxxxxxxx

type: new.

Realizamos una copia del pw: del mensaje recibido.

Con este mensaje todo marcha bien y ya tenemos nuestro numero registrado y listo para utilizar whatsapp desde el Raspberry.

creamos un archivo y en el guardamos los datos que utilizaremos como credencial de conexión para whatsapp.

sudo nano /home/pi/yowsup/config

ahora debemos escribir los datos utilizando el pw que recibimos en el paso anterior.

cc=507

phone=507xxxxxxxx

password=xxxxxxxxxxxxxxx=

salimos del editor nano con la tecla "Ctrl+x", salvamos con "Y" y damos "Enter".

ahora realizamos una prueba, vamos dentro de la carpeta Yowsup.

cd /home/pi/yowsup

iniciamos yowsup-cli demos digitando en consola:

yowsup-cli demos --yowsup --config config

visualizamos la consola de Yowsup,

teclamos "/help" nos listara todos los comandos disponibles.

Para iniciar debemos digitar '/L'.

Podemos ver los mensajes que nos envían y enviar mensajes desde la consola otros teléfonos. Para enviar mensajes Se utiliza la siguiente linea de comando. se debe remplazar xxxxxx por el numero de teléfono al que se le enviara el mensaje de texto. /message send 507xxxxxxxx "tu mensaje de de texto aquí"

Paso 3.

Configuración del Arduino.

Revisar este blog que explica como adquirir los datos del control rf.

Descargamos el Sketch con la configuración, lo abrimos en el IDE y modificamos los datos con los codigos de su control, luego cargamos a nuestro Arduino.

La Programación del arduino es un simple proceso de verificar datos recibidos mediante comunicación serial desde nuestro Raspberry.

Al recibir datos numéricos en formato ASCII.

Los comandos interpretados en esta programación son 1-2-3-4-5-6-9-0-DWL al recibir uno dato numérico el arduino lo interpreta en su código y ejecuta la acción según lo programado. realiza la transmisión de los cogidos de control, de nuestro control eléctrico inalambrico .

Ver otro proyecto.

Resumiendo según sea el numero recibido = acción a realizar.

1 = Wireless Switch 1 ON
2 = Wireless Switch 1 OFF

3= Wireless Switch 2 ON

4 = Wireless Switch 2 OFF

5 = Wireless Switch 3 ON

6 = Wireless Switch 3 OFF

9 = All Wireless Switch ON

0 = All Wireless Switch OFF

DWL = controlar un Relay desde el pin 12.

Las conexiones del modulo transmisor 433.

Paso 4.

Conexión del Arduino al Raspberry

Es muy simple.La conexión del ardunio al Rasberry la realizamos por medio del cable USB, proveyendo voltaje y comunicación al mismo.

Algo Basico de LINUX.

En la consola de comando de linux(Raspbian), podemos ver el puerto o la ruta de comunicación entre Raspberry y el Arduino de la siguiente manera.

Conectamos el ardunio y esperamos unos segundos usamos el siguiente comando en la consola, dmesg | grep tty en mi caso la ruta /dev/ttyUSB0 es la de comunicación entre ambos.

podemos realizar prueba enviando datos desde la consola del Raspberry al ardunio con el siguiente codigo, echo -e "1" > /dev/ttyUSB0 se encendió el Wireless Switch 1

echo -e "2" > /dev/ttyUSB0 se apago el Wireless Switch 1

hasta ahora todo esta comunicando bien.

Paso 5.

Control desde nuestro teléfono por medio de mensajes via whatsapp:

Para la automatización seguimos los pasos Yowsup 2.0 Sample app , como lo menciona el autor se debe de crear dos archivos run.py , layer.py .

run.py: pondremos nuestro numero telefónico y el PW para realizar la conexión.

Layer.py: en layer se importan las librerías indicadas por el autor de yowsup para realizar la recepción de mensajes, Layer.py interpreta y discrimina los mensajes enviados, de ser una palabra valida (mensaje de texto recibido), el Raspberry realizara el envió del dato numérico correspondiente vía serial a nuestro Arduino. El ardunino recibe el dato por la conexión serial y realiza el control del las salidas eléctricas, enviando los códigos de control por el transmisor 433mhz.

De no ser una palabra valida, el raspberry respondera via whatsapp ‘comando no admitido’.

Seguridad: discrimina los teléfonos autorizados para el envío de mensajes, dentro del código nos da la seguridad de recepción de mensajes al incluir solo los números de teléfonos que están autorizados para el envió de mensajes a nuestro Raspberry, si el numero que envía un mensaje no esta dentro de los validos, el Raspberry devuelve ‘no esta autorizado’.

Otras funciones

  • saluda si enviamos el comando 'hola'
  • nos envía la temperatura actual del Raspberry con el comando 'temperatura'
  • nos permite controlar un relay por su GPIO 27 con el comando 'open' o 'Open'.
  • nos permite visualizar por medio de un led la recepción de mensajes conectando un led al GPIO 17.
  • Discrimina las mayúsculas de las minúsculas.
  • al final de cada ejecución confirma recepcion reenviando un mensaje automático notificando la acción realizada.
  • el control de nuestro proyecto lo realizamos enviando los mensajes para encendido ‘on1’, ‘on2’, ‘on3’ para apagado ‘off1’, ‘off2’, ‘off3’.
  • El código puede adaptarse a cada proyecto que tengas en mente, realizando los cambios que requieran a layer.py.

Descargar

run.py

layer.py

Ejecutar el Programa. dentro de la carpeta de yowsup , guardamos los dos archivos pyton.

ejecutamos el programa de la siguiente manera sudo python run.py .

Plus!! Adicional Listo comando en linux que serán de gran ayuda dentro de la consola o por conexion SSH. borrar una carpeta y sus archivos rm -r -f Nombre_Carpeta

reinicio del rasperry por consola. sudo reboot

apagar el raspberry desde la consola.

sudo su :

  • sudo shutdown-h now
  • Poweroff
  • halt

<p>Hello</p><p>Thanks for article</p><p>Where I can by such switch (aliexpress or somethink like link would be great)? I would like by some RF controlled switch but with &quot;real&quot; buttons!</p>
<p>la actualizacion de este aporte se encuentra en jadasupport.wordpress.com</p>
<p>la actualizacion de este aporte se encuentra en jadasupport.wordpress.com</p>
<p>la actualizacion de este aporte se encuentra en jadasupport.wordpress.com</p>
<p>Muchas gracias por el aporte. Me ha sido de gran ayuda</p>
<p><font><font>Cool! Thanks for sharing!</font></font></p>

About This Instructable

1,652views

20favorites

More by javierbrath:RF SWITCH CON RASPBERRY Y ARDUINO VIA “WHATSAPP” 
Add instructable to: