Como controlar cualquier electrodoméstico con mando vía wifi


Modernamente están apareciendo muchos electrodomésticos convencionales como equipos de Aire  Acondicionado , Robots de limpieza , Persianas eléctricas , TV , etc con la opción de poderlos controlar  a distancia gracias  a la  conectividad  WIFI ,lo cual puede ser muy interesante  para configurarlos , programarlos o activarlos no solo desde casa, sino incluso fuera de esta  , y con ello mejorar nuestra calidad  de vida  . El punto  negativo es que en la mayoría de los casos   incrementa  sustancialmente el precio  desgraciadamente frente a los  equipos convencionales que no cuentan  con  dicho control y ademas  si contamos con equipos instalados operativos  pero sin esa funcionalidad de control por wifi   , no es una razón de peso para desechar estos¿no?. 

Asimismo ,como sin duda el lector conocerá, cada día  son mas frecuentes los asistentes de voz  como Alexa de Amazon , Google Home o el propio novedoso Aura de Movistar , todos ellos que poco podrán hacer sobre dichos  equipos  a controlar, si no disponen de los  módulos de control  correspondientes. Por ejemplo   con un Amazon Echo Dot o un Google Home Mini  si quiere enseñarle a encender el aparato de Aire Acondicionado  antes de llegar a casa o encender la TV   cuando olvida el mando a distancia lejos del sofá  no podrá hacerlo fácilmente   directamente  pues estos equipos no están preparados par ser controlados por dichos asistentes ,  pero no se alarme, porque   en efecto  no hace falta invertir una gran suma de dinero en cambiar dicho aparato , pues nos bastara ,  si este equipo es controlable   por infrarrojos o RF , de  instalar  un control remoto de luz infrarroja compatible con Alexa o Google Home  que haga las veces de “puente” entre ambos mundos.

Como opción interesante para controlar nuestros dispositivos en el salón destaca el Broadlink RM mini3, un pequeño dispositivo  que  puede controlar sin limitaciones  a  todos los dispositivos y dispositivos controlados con mandos a distancia por infrarrojos  o  que  emiten radiofrecuencia  en las frecuencias de 433 Mhz y 315 Mhz en toda la casa. ( excepto si el código es variable, Broadlink Rm Pro no puede admitirlo) 

 El BroadLink en cuestión tiene el tamaño de un vaso de chupito   contando con  varios leds de infrarojos  repartidos en la cabeza en forma 360° , que hacen que su área de actuación sea muy buena, por ejemplo  para encender el aire acondicionado antes de llegar a casa o para simular presencia encendiendo la tele  gracias a  una app específica para Europa (Intelligent Home Center For EU  , la cual se rige por el Reglamento General de Protección de Datos de la Unión Europea, famoso por ser estricto con el manejo de datos personales).

 

 Con este tipo de dispositivo podremos reemplazar  todos los controles remotos  por  su teléfono inteligente, pues cuenta con soporte para más de 80,000 dispositivos controlados por infrarrojos como aire acondicionado, TV, DVD, PVR, CD, SAT, aire acondicionado, persianas eléctricas, lámparas, purificadores, WiFi, reproductores BluRay, proyectores , Unidades de CA, salidas de RF, ventiladores y mucho más.

Aunque se ha comentado alguna  vez en este blog ,para saber si un mando es IR o RF, enfoque con la cámara del móvil a la punta del mando que controle ese dispositivo y pulse un botón: si en la pantalla del móvil  se ve un destello de  luz azul/blanca, es IR ( si no se ve nada, es de RF).

 

 

Los pasos a seguir para la instalación del el Broadlink RM mini3,  son realmente  muy sencillos:

  1. Instalar la app en el móvil ( esta disponible tanto para Android  como para  iOS)
  2. Enchufarle  una conexión de 5v  por el conector micro-USB ( no esta incluido el adaptador )                                                                                     ,
  3. Abriremos la   app   (esta disponible tanto para Android  como para  iOS)  y vincularemos el  Broadlink RM mini3,por  bluetooth a nuestro terminal                                                                       .
  4. Tendremos que conectar  el  Broadlink RM mini3 a nuestra red wifi añadiendo las credenciales  de nuestra red. Este modelo solo es compatible con redes de 2,4 GHz, pero no 5G  y la  contraseña de Wifi debe ser de  menos de 32 bytes, sin espacios y símbolos especiales, solo con alfabeto y número,
  5. Seguidamente añadiremos el  dispositivo a controlar  para lo cual elegiremos el  tipo de dispositivo, buscando  este modelo en la base de datos   que ofrece la propia aplicación  
  6. Probaremos  si funciona el control remoto desde la propia app , pero  si no funciona , cambiaremos  de modelo  hasta que reaccione)
  7. Si el control remoto no reconoce el dispositivo, puede copiar la señal del mando a distancia manualmente (pero los dispositivos que no están en la base de datos de BroadLink no son compatibles con los asistentes de voz)
  8. Repetiremos el proceso  para  todos los dispositivos controlados por infrarrojo que el BroadLink RM mini 3 tenga a su alcance  como puede ser los equipos de  aire acondicionado, televisores, equipos de música,lectores de dvd o blueray , descodificadores  de televisión de pago ,  barra de sonido, robot aspirador, reproductor multimedia, persianas eléctricas, etc..
  9. .El siguiente paso es configurar escenas que luego usaremos como comandos de Alexa o Google Home. Por  ejemplo para el televisor podemos tener varias  escenas para “encender la television”  o apagar la televisión  o incluso subir o bajar el volumen   o para el equipo de aire acondicionado  por ejemplo podemos tener una escena “calienta la casa” que sube la temperatura a 26 ºC y otra  escena “enfría la casa” que baja la temperatura a 18 ºC.
  10. El último paso es conectar la app de BroadLink con el altavoz inteligente. Hay un manual de instrucciones en el menú Más > Añadir servicio de voz, pero en resumen tenemos que abrir la aplicación Alexa o Google Home en el móvil e instalar la skill o servicio correspondiente. El asistente reconocerá automáticamente los nuevos dispositivos y sus comandos o escenas. Llegados a este punto  ya podrá decir “enciende el aire acondicionado”, “pon el aire acondicionado en modo calefacción” o “enfría la casa” para que el altavoz inteligente se comunique con el control remoto y este, a su vez, envíe la orden al aire acondicionado. También puedes decir “enciende la tele”, “silencia la tele” o “pon La Sexta” para que el control remoto envíe esas órdenes al televisor, aunque no sea una Smart TV ni nada parecido.
  11. Si puede  añadir un nivel de complejidad, creando rutinas desde las apps de Alexa y Google Home para encender las luces del salón de un color determinado cuando ponga el fútbol, conectar  la calefacción todos los días a una hora determinada o apagar el equipo de música cuando enciende la tele. 

 

Conclusiones 

Puede ser interesante para poder manejar la tele, aire acondicionado, bomba de calor y decodificador con el móvil pero sobre todo mediante un asistente de voz como  Google Home o Alexa 

Si nos remitimos al móvil , gracias a este dispositivo se pueden manejar multitud de aparatos sin problemas, configurarse  estos  fácilmente desde la aplicación y enseguida se pueden usar todos, desde casa o fuera de ella ( eso si sólo aquellos que usen infrarrojos  no Radiofrecuencia)

La app ademas permite poner temporizadores para que automáticamente la aplicación ejecute la función del aparato que se desee, en una hora o día concreto, o cada cierto tiempo. También existen los ambientes, que permiten ejecutar varios pasos automáticamente que nosotros indiquemos, de uno o varios aparatos, con un solo click. 

La pega viene con su compatibilidad con Google Home ya que no es del todo correcta. Para el RM Mini3 hay dos app, versión global y europea, que se usan igual para configurar los mandos, pero con la primera de ellas, Google Home no integra ni detecta los dispositivos, sólo los ambientes, y no los ejecuta bien. Con la otra, la europea, Google Home integra los dispositivos, pero solo las de tipo lámpara y tipo aire acondicionado, no las TV ni otros aparatos personalizados.

Respecto a Alexa , aunque la configuración a través de ambientes , escenas y rutinas se hace ardua y repetitiva una vez conseguida el funcionamiento es perfecto. Puedes controlar todo aparato que use infrarojos  que tenga en la misma habitación, y la función de aprendizaje de botones te facilita muchas tareas, así como las funciones pre-configuradas que otros usuarios ya han colgado en el servidor.  Es   un aparato imprescindible en dúo con Alexa.

En el siguiente video podemos ver un ejemplo de integración de Alexa con el Broadlink RM mini3,

Por cierto este  puente  de infrarrojos con wifi   se puede comprar  en Amazon por unos 24,99,   pero tenga cuidado porque hay otros modelos de Broadlink  algo mas económicos que no son controlables por asistentes de voz como Alexa o Google Home.Si necesita controlar aparatos que vayan por radiofrecuencia en lugar de infrarrojos necesitarás su hermano mayor…. El pro

 

Anuncios

Enviando información de sensores a la nube


La telemedicina es el uso de las tecnologías de las telecomunicaciones y de la información con el fin de proporcionar atención clínica de la salud a distancia. Favorece la eliminación de las barreras de distancia y puede mejorar el acceso a los servicios médicos que no suelen estar siempre disponibles en lejanas comunidades rurales. También se utiliza para salvar vidas en cuidados críticos y situaciones de emergencia.

Aunque hubo precursores distantes de la telemedicina, que es esencialmente un producto de telecomunicaciones del siglo 20 y las tecnologías de la información. Estas tecnologías permiten la comunicación entre paciente y el personal médico con conveniencia y fidelidad, así como la transmisión de los médicos, la imagen y la salud informática de datos de un sitio a otro.

Sensores de la  plataforma eHealth permite compartir datos médicos con la nube, y realizar diagnóstico en tiempo real. Gracias a los módulos de comunicación puede enviar muchos datos a través de varios protocolos de transmisión

 

Wifi

Vamos a utilizar el módulo wifi Roving RN-171. Este módulo encaja en el zócalo XBee Shield de nuestra comunicación y permite conectar tu Arduino / escudo RasberryPi a una red WiFi.
e_health+placa
Example code
Wifi examples shows the way to communicate with the Arduino Wifi Demo Android and iPhone app.
Refer to Wifi tutorials (Arduino) (Raspberry) for more information.

Bluetooth

Módulos Bluetooth para Arduino / Netduino/Raspberry son capaces de estar conectados a la XBee Shield y obtener una comunicación serie entre el ordenador y una placa Arduino / RasberryPi a través de protocolo Bluetooth.
xbee2
Módulo Bluetooth para Arduino PRO soporta Serial Port Profile (SPP) para intercambiar datos con otros dispositivos. Este perfil permite crear conexiones a otro dispositivo usando el mismo perfil (p2p conexión). Se envía datos al dispositivo especificado. Este dispositivo es el que ha sido creado para la conexión.
 
Consulte tutoriales Bluetooth (Arduino) (Frambuesa) para obtener más información.

 

Zigbee / 802.15.4

El Arduino Xbee shield permite su Arduino / RasberryPi bordo para comunicarse de forma inalámbrica utilizando Zigbee.
xbee
Example code
This example shows the way to communicate with the Arduino using Zigbee protocol. Upload the next code:

Show Code

/*
 *  eHealth sensor platform for Arduino and Raspberry from Cooking-hacks.
 *
 *  Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi 
 *  users to perform biometric and medical applications by using 9 different 
 *  sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing),
 *  Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin
 *  Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and 
 *  Patient Position (Accelerometer)."  
 *
 *  Explanation: This example shows the way to communicate with  
 *  the Arduino using ZigBee protocol. 
 *
 *  Copyright (C) 2012 Libelium Comunicaciones Distribuidas S.L.
 *  http://www.libelium.com
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see .
 *
 *  Version 0.1
 *  Author: Luis Martin & Ahmad Saad 
 */

#include
#include

char recv[128];
uint8_t cont = 0;

// Note : The Xbee modules must be configured previously.
// See the next link http://www.cooking-hacks.com/index.php/documentation/tutorials/arduino-xbee-shield

void setup()
{
Serial.begin(9600);

eHealth.initPulsioximeter();
eHealth.initPositionSensor();

//Attach the inttruptions for using the pulsioximeter.
PCintPort::attachInterrupt(6, readPulsioximeter, RISING);
delay(1000);

}

void loop()
{

//1. Read from eHealth.
int airFlow = eHealth.getAirFlow();
float temperature = eHealth.getTemperature();
float conductance = eHealth.getSkinConductance();
float resistance = eHealth.getSkinResistance();
int BPM = eHealth.getBPM();
int SPO2 = eHealth.getOxygenSaturation();
uint8_t pos = eHealth.getBodyPosition();

Serial.print(int(airFlow)); Serial.print(“#”);
Serial.print(temperature); Serial.print(“#”);
Serial.print(int(BPM)); Serial.print(“#”);
Serial.print(int(SPO2)); Serial.print(“#”);
Serial.print(conductance); Serial.print(“#”);
Serial.print(int(resistance)); Serial.print(“#”);
Serial.print(int(pos)); Serial.print(“#”);
Serial.print(“\n”);

// Reduce this delay for more data rate
delay(250);
}

void check(){
cont=0; delay(500);
while (Serial.available()>0)
{
recv[cont]=Serial.read(); delay(10);
cont++;
}
recv[cont]=’\0′;
Serial.println(recv);
Serial.flush(); delay(100);
}

//Include always this code when using the pulsioximeter sensor
//=========================================================================
void readPulsioximeter(){

cont ++;

if (cont == 50) { //Get only one 50 measures to reduce the latency
eHealth.readPulsioximeter();
cont = 0;
}
}

NOTE: The Xbee modules must be configured previously. See the next link http://www.cooking-hacks.com/index.php/documentation/tutorials/arduino-xbee-shield
Refer to XBee tutorials (Arduino) (Raspberry) for more information.

GPRS

Cuatribanda GPRS para Arduino/Netduino Módulo /Raspberry (SIM900) ofrece conexión GPRS a la placa Arduino / cartón RasberryPi. Usted puede enviar sus datos a través de SMS o de llamadas perdidas no de tu Arduino/netduino a los dispositivos móviles … oa otro Arduino / netduino/RasberryPi conectado a este módulo.
e_health+placa_Verde
Example code
This example shows the way to send a text message with the corporal temperature using the GPRS module. Upload the next code:

Show Code

/*
 *  eHealth sensor platform for Arduino and Raspberry from Cooking-hacks.
 *
 *  Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi 
 *  users to perform biometric and medical applications by using 9 different 
 *  sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing),
 *  Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin
 *  Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and 
 *  Patient Position (Accelerometer)."  
 *
 *  Explanation: This example shows the way to send a text message with 
 *  the corporal temperature using the GPRS module. 
 *
 *  Copyright (C) 2012 Libelium Comunicaciones Distribuidas S.L.
 *  http://www.libelium.com
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see .
 *
 *  Version 0.1
 *  Author: Luis Martin & Ahmad Saad 
 */

// For more information about the GPRS shield please see our tutorial
// in cooking-hacks web site. http://www.cooking-hacks.com

#include

// the pin to switch on the module (without press on button)
int pinModuleOn = 2;

// ********* is the number to call
char phoneNumber[]=”**********”;

void switchModule(){
digitalWrite(pinModuleOn,HIGH);
delay(2000);
digitalWrite(pinModuleOn,LOW);
}

void setup() {

// UART baud rate
Serial.begin(115200);
delay(2000);

// Sitches the module ON
// switchModulo();

for (int i=0;i < 5;i++){
Serial.println(“Push the button”);
delay(5000);
}
// Sets the SMS mode to text
Serial.println(“AT+CMGF=1”);
delay(100);
}

void loop(){

delay(100);
float temperature = eHealth.getTemperature();

delay(1500);
// send the SMS number
Serial.print(“AT+CMGS=\””);
Serial.print(phoneNumber);
Serial.println(“\””);
// the SMS body
while(Serial.read()!=’>’);
Serial.print(temperature);

delay(1000);
//sends ++
Serial.write(0x1A);
Serial.write(0x0D);
Serial.write(0x0A);
delay(5000);

}

Refer to GPRS tutorials (Arduino) (Raspberry) for more information.

3G

El nuevo escudo 3G para Arduino / Netduino/Rasberry permite la conectividad a alta velocidad WCDMA y HSPA celulares con el fin de hacer posible la creación de un nivel superior de interactividad proyectos en todo el mundo dentro de la nueva “Internet de las Cosas” era..
gps_e_health
e_health_con_conectores
Example code
This example how to send data using 3G shield and making a connection to a server. Upload the next code:

Show Code

/*
 *  eHealth sensor platform for Arduino and Raspberry from Cooking-hacks.
 *
 *  Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi 
 *  users to perform biometric and medical applications by using 9 different 
 *  sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing),
 *  Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin
 *  Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and 
 *  Patient Position (Accelerometer)."  
 *
 *  Explanation: This example how to send data using 3G shield and 
 *  making a connection to a server. 
 *
 *  Copyright (C) 2012 Libelium Comunicaciones Distribuidas S.L.
 *  http://www.libelium.com
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see .
 *
 *  Version 0.1
 *  Author: Luis Martin & Ahmad Saad 
 */

// For more information about the 3G shield please see our tutorial
// in cooking-hacks web site. http://www.cooking-hacks.com

#include

char data[512];
char tosend[128];
int led = 13;
int onModulePin = 2; // the pin to switch on the module (without press on button)

int x = 0;

char name[20];

char server[ ]=”192.198.1.1″; //Your server IP address
char port[ ]=”5555″; // Your port.

void switchModule(){
digitalWrite(onModulePin,HIGH);
delay(2000);
digitalWrite(onModulePin,LOW);
}

void setup(){

Serial.begin(115200); // UART baud rate
delay(2000);
pinMode(led, OUTPUT);
pinMode(onModulePin, OUTPUT);
switchModule(); // switches the module ON

for (int i=0;i< 5;i++){
delay(5000);
}

Serial.println(“AT+CGSOCKCONT=1,\”IP\”,\”internetmas\””);
Serial.flush();
x=0;
do
{
while(Serial.available()==0);
data[x]=Serial.read();
x++;
} while(!(data[x-1]==’K’&&data[x-2]==’O’)); //waits for response “Network opened”

}

void loop()
{
float temperature = eHealth.getTemperature();
int longitud = sprintf(tosend,”%d”, temperature);

Serial.print(“AT+NETOPEN=\”TCP\”,”);
//Opens the socket with the type of protocol and the port
Serial.println(port);
Serial.flush();
x=0;

do
{
while(Serial.available()==0);
data[x]=Serial.read();
x++;
}
while(!(data[x-1]==’K’&&data[x-2]==’O’)); //waits for response “Network opened”

Serial.print(“AT+TCPCONNECT=\””); //Connects with the server
Serial.print(server);
Serial.print(“\”,”);
Serial.println(port);

Serial.flush();
while(Serial.read()!=’K’);

Serial.print(“AT+TCPWRITE=”);
Serial.println(longitud, DEC); //Sends TCP data
Serial.flush();

do
{
while (Serial.available() == 0) {};
//Serial.println(char(Serial.read()));
} while(Serial.read()!=’>’);

Serial.println(tosend);

x=0;

do
{
while(Serial.available()==0);
data[x]=Serial.read();
x++;
}
while(!(data[x-1]==’K’&&data[x-2]==’O’));

Serial.println(“AT+NETCLOSE”); //Opens the socket with the type of protocol and the port
Serial.flush();
while(Serial.read()!=’K’);

while(1);

}

Camera for Photo Diagnosis

Este módulo permite la conexión de una cámara para grabar video y tomar fotos. Una vez guardado el archivo de vídeo o la imagen se pueden enviar a un servidor FTP o FTPS como se verá más adelante. Las imágenes con tutorial módulo 3G.
 
Cámara para el escudo 3G
3G camera
Inserte la cámara con los contactos metálicos hacia arriba
3G camera
Example Code
Take photos is very easy. Upload the next code.

Show Code

/*
*  Copyright (C) 2012 Libelium Comunicaciones Distribuidas S.L.
*  http://www.libelium.com
*
*  This program is free software: you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation, either version 3 of the License, or
*  (at your option) any later version.
*
*  This program is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program.  If not, see .
*
*  Version 0.1
*  Author: Alejandro Gállego
*/

int led = 13;
int onModulePin = 2; // the pin to switch on the module (without press on button)

int x = 0;

char name[20];

void switchModule(){
digitalWrite(onModulePin,HIGH);
delay(2000);
digitalWrite(onModulePin,LOW);
}

void setup(){

Serial.begin(115200); // UART baud rate
delay(2000);
pinMode(led, OUTPUT);
pinMode(onModulePin, OUTPUT);
switchModule(); // switches the module ON

for (int i=0;i < 5;i++){
delay(5000);
}

Serial.println(“AT+CCAMS”); //starts the camera
while(Serial.read()!=’K’);

Serial.println(“AT+CCAMSETD=640,480”); //sets VGA (640*480) resolution
while(Serial.read()!=’K’);

Serial.println(“AT+FSLOCA=0”); //stores the image file in the 3G module
while(Serial.read()!=’K’);

}

void loop(){

delay(1500);
while(Serial.available()!=0){
Serial.read();
}
Serial.println(“AT+CCAMTP”); //takes a picture, but not saved it
while(Serial.read()!=’K’);

Serial.println(“AT+CCAMEP”); // saves the picture into C:/Picture
Serial.flush();
while(Serial.read()!=’/’);
while(Serial.read()!=’/’);

x=0;
do{
while(Serial.available()==0);
name[x]=Serial.read();
x++;
}while(x < 19);

while(Serial.read()!=’K’);
Serial.println(name);

Serial.println(“AT+CCAME”); // stops the camera
while(Serial.read()!=’K’);

while(1);

}

Example picture 2: (Patient photo)
Snake bites occur when a snake bites the skin. They are medical emergencies if the snake is poisonous.
Sending images via 3g is a simple and rapid method for medical consultation
Refer to 3G tutorials (Arduino) (Raspberry) for more information.
Para saber más,pulse aquí