Revista 100% Verde

Cómo usar nuestro terminal Android como sensor de movimiento

Por Soloelectronicos @soloelectronico

En este interesante ejemplo desarrollado por hammadtq  vamos   a  ver como usar lo sensores internos de cualquier terminal Android como  desencadenantes de acciones sobre el entorno físico  gracias a una conexión tcp-ip    con una placa arduino  con conectividad wifi

En cuanto al control  hammadtq   ha usado el módulo de relé de 5V por RM1LS, es un módulo de bajo costo, fácilmente disponible de eBay. El número de modelo del relé es SRD-05VDC-SL-c Hay muchos artículos ya disponibles con instrucciones claras sobre cómo utilizar estos módulos de relé, (por ejemplo este instructable).

Como el módulo es ligeramente diferente cuando se trata de marcado de los pines que vamos a enumerar aquí :

  • D12 de Arduino conectarse CL1
  • Conectar los 5V de Arduino a DC +
  • Conectar el GND de Arduino para DC-

Para la interconexión con la fuente principal, usar con precaución, sobre todo si usted no entiende el riesgo eléctrico ya que  es fácilmente confundir los nombres de los cables con los sistemas de fase eléctrica (caliente, neutro y tierra) , asi que  por favor consulte con un electricista experimentado antes de intentar hacer las conexiones usted mismo!)

Una vez hecho esto, subir el ejemplo Blink a su Arduino, cambiando el número pin de 13 al 12 y compruebe que  funciona la lámpara de estudio, (si empieza a parpadear, las conexiones fue correcta).
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.
*/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Ahora, necesitamos agregar un método de comunicación WiFi al circuito(puede consultar cualquier  tutorial en el que se configure WiFi protector con Arduino de DFRobot,   utilizando el mismo escudo).

Es importante después de conectar  el escudo WiFi sobre Arduino, Re-cablear las conexiones del módulo de relé mediante el uso de los encabezados de pin hembra claramente marcada en la parte superior el escudo de sí mismo.

En próximos pasos, subirá nuestro sketch de Arduino y comenzará a desarrollar una aplicación móvil que detecte el movimiento y accione la lámpara de estudio .

En este ejemplo se he cambiado el pin de salida, con el pin  13, ya que parece que hay algún problema en este tipo de escudos  wifi.

Asimismo debe asegúrese que el pasador negro escudo es hacia “Arduino” y pin blanco hacia «PROG» durante la carga, una vez cargado, con sólo pasar pin blanco hacia “RUN”.

/*
Arduino Turn LED On/Off using Serial Commands
Created April 29, 2015
Hammad Tariq, Incubator (Pakistan)

It’s a simple sketch which waits for a character on serial
and in case of a desirable character, it turns an LED on/off.

Possible string values:
a (to turn the LED on)
b (tor turn the LED off)
*/

char junk;
String inputString=””;

void setup() // run once, when the sketch starts
{
Serial.begin(115200);
pinMode(12, OUTPUT);
}

void loop()
{
if(Serial.available()){
while(Serial.available())
{
char inChar = (char)Serial.read(); //read the input from serial
inputString += inChar;
}
Serial.println(inputString);
while (Serial.available() > 0)
{ junk = Serial.read() ; } // clear the buffer
if(inputString == “a”){ // in case of ‘a’, turn the LED on
digitalWrite(12, HIGH);
}else if(inputString == “b”){ // in case of ‘b’, turn the LED off
digitalWrite(12, LOW);
}
inputString = “”;
}
}

En el siguiente paso vamos a probar nuestra comunicación serial con Arduino.

Cómo usar nuestro terminal Android como sensor de movimiento

Ahora que tenemos nuestro circuito poco listo, nos gustaría comprobar si nuestra comunicación serial TCP está funcionando bien. Puede comprobar esto mediante putty o cualquier otro emulador de terminal, pero como estamos construyendo una aplicación móvil, se puede hacer las cosas directamente al teléfono móvil. Podemos usar  un teléfono Android, así que puede  seguir estos pasos (para otros teléfonos, por favor buscar e instalar una adecuada aplicación de Telnet desde la app store):

  • Ir a Google Play Store y encontrar la aplicación Móvil Telnet.
  • Instalar la aplicación y a través del menú Abrir “Configuración de Telnet”.
  • Dar la dirección IP interna y puerto serie de su escudo de WiFi (se configuran en el paso 1) y pulse “OK”.
  • Desde el menú en “Conectar”.
  • La aplicación no le dice que está conectado pero si no ve “No se pudo conectar…” después de algunos segundos, intente enviar el carácter “a”, si el telnet está conectado correctamente, el LED va encender mientras que enviar “b” será apagarlo.

Para este tutorial, sólo necesitamos Evothings para desarrollar nuestra aplicación, descargue el estudio a su ordenador e instalar a cliente de Evothings en su teléfono inteligente Android 

A continuación, abra a Evothings cliente en el teléfono, buscar la mesa de trabajo o conectar a través de IP de su ordenador y una vez que vea “Conectado”, ejecutar el ejemplo “Hello World” del estudio para ver si está funcionando la instalación de Evothings.

Ahora que hemos construido nuestro circuito, pruebe la comunicación serial a través de TCP e inslae  Evothings, para construir la aplicación.

Evothings viene pre-instalado con útiles plugins de Córdoba para el desarrollo rápido de aplicaciones de IoT, en este caso estamos buscando un código de plugin y ejemplo de Sockets hablarle a nuestro servidor TCP.

Vamos a buscar el ejemplo correcto dentro de Evothings Studio:

Dentro del estudio, encontrará un ejemplo con el nombre de “Arduino LED encendido TCP“, puede hacer clic en el botón “Código” y ver lo que hay dentro. Los archivos importantes en nuestro caso son index.html y /libs/evothings/arduinotcp/arduinotcp.js

Este ejemplo utiliza org.chromium.socket plugin y relacionados con sketch de Arduino que puede encontrar yendo a la carpeta principal del ejemplo y entonces abriendo el directorio arduinowifi/arduinowifi. Sin embargo, por simplicidad y usando  la libertad de la licencia de código abierto, vamos a usar nuestro propio bosquejo que hemos subidos a Arduino en el paso anterior.

En el siguiente paso vamos a explicar las modificaciones menores a los scripts de ejemplo para obtener este ejemplo trabajando para nosotros!

Cómo usar nuestro terminal Android como sensor de movimiento

Versión corta:Solo clonar o descargar la carpeta de la aplicación de este repositorio git: https://github.com/hammadtq/arduino-led-onoff-tcp…
Tras la descarga, arrastre el index.html en su estudio y usted está listo paraejecutarlo

Explicación detallada:Como estamos desarrollando nuestra aplicación en HTML y JavaScript, lo primero que se hace es agregar un nuevo método de entrada en index.html para especificar el puerto de nuestro servidor TCP (funcionando con WiFi protector).

A continuación modificar el código para quitar la configuración del número de pin como nuestro bosquejo no esperar cualquier número de pin, son codificadas en el bosquejo.

Luego entrar en /libs/evothings/arduinotcp/arduinotcp.js y cambiar la función evothings.arduinotcp.digitalWrite.

evothings.arduinotcp.digitalWrite = function(value)
{
if (value == HIGH)
{
internal.sendRequest(‘a’, internal.callbackFun)
}
else if (value == LOW)
{
internal.sendRequest(‘b’, internal.callbackFun)
}
}

Esta es la función más importante de todos modos, tenga en cuenta la ‘a’ y ‘b’ que estoy enviando en el encuentro con un comando de ‘Alta’ o ‘Baja’.

Felicidades, nuestro proyecto ya está completo, vamos a pasar al paso siguiente para aprender conocimiento-puntos importantes!

Port Forwarding:

Actualmente se conecta a su escudo WiFi usando la dirección IP de la LAN, con esta configuración se puede controlar el LED de dentro de la gama de su actual router WiFi, si quieres acceder a él vía internet y desde un lugar remoto, usted necesitará hacer Port Forwarding en tu router de internet, por favor, consulte la documentación de su router o búsqueda en Google usando la marca de router y modelo.

Publicación de su aplicación:

Utilizando Evothings, rápidamente hemos desarrollado nuestra aplicación, los pasos son crear un proyecto de Cordova, instalar Android o iOS SDK, dejó Córdoba hable con el SDK, instalar plugin Chrome tomas Cordova y luego trabajando para obtener la aplicación en forma de barco y salas después de cargar nuestra nueva aplicación de Internet a nuestra tienda de aplicaciones móviles favoritos.

Fuente aqui


Cómo usar nuestro terminal Android como sensor de movimiento

Volver a la Portada de Logo Paperblog