Cómo usar nuestro terminal Android como sensor de movimiento


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.

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!

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

Trucos para mejorar la cobertura móvil


La cobertura que recibimos en nuestros terminales  móviles  puede verse afectada por factores lógicos  como son la distancia hasta la antena más cercana ,la cual se vera acortada por obstáculos naturales físicos  e  incluso relacionados con el clima  asi como también a fallos en la propia antena receptora del terminal o incluso en el electrónica de RF

En la mayoría  de  los casos los problemas  físicos  no son solucionables, pero se pueden hacer ciertas cosas para minimizar su impacto :

  • Evitar obstáculos:Los dispositivos actuales con antenas integradas dentro del propio terminal incluso en la propia carcasa , son mucho más sensibles a disponer de una señal lo más «limpia» posible, por tanto evitar cualquier obstáculo (natural o artificial), va a ayudar a mejorar sensiblemente la cobertura. Deberíamos intentar buscar zonas de «visibilidad», lo más directa posible con la antena donde nuestro móvil va a disponer de mejor cobertura.
  • Busca sitios elevados:Para obtener una mejor señal,  es conveniente evitar obstáculos que puedan dificultar la transmisión de las señales de radio ( por ejemplo estructuras metálicas), para lo cual una posible solución pasaría por buscar una posición elevada donde nuestro terminal no se vea afectado por estos obstáculos y la señal nos llegue de una manera directa.
  • Evitar aglomeraciones de personas:Cuando nos encontramos en un espacio muy concurrido como , se produce una concentración proporcional de gente conectándose a internet, efectuando llamadas y  trafico de datos , lo cual puede saturar la antena que presta el servicio a la zona. En estos casos lo más indicado es alejarte lo máximo posible de la zona hasta que nuestro teléfono se conecte a otra antena que no esté tan saturada.
  • Moverse en la dirección de su antena de telefonía móvil no siempre mejorará la recepción debido a los efectos de interferencia/geografía local

Ademas de los  consejos anteriores  «lógicos » también hay unos pequeños trucos que igualmente pueden ayudar a mejorar la cobertura de nuestro teléfono:

  • No tape o bloquee  la carcasa:Los actuales smartphones llevan la antena integrada en el propio hardware del terminal (al contrario que los antiguos móviles que solían incorporar una antena externa), lo cual puede provocar que sin darnos cuenta bloqueemos la señal de la misma
  • Mantenga la batería cargada completamente: Normalmente el consumo de un terminal moderno de energía es constante especialmente en el apartado de conectividad inalambica,lo cual significa que si tenemos activadas todas las posibildidades, puede que nuestro terminal  no consiga  potencia suficiente para localizar la señal de la antena más cercana..Por eso cuando detectemos que el nivel ha descendido de manera significativa, lo mejor que podemos hacer es desactivar opciones como el Bluetooth, GPS o NFC, bajar el brillo de pantalla o cerrar aplicaciones que no estemos usando para evitar que el nivel de bateria siga descendiendo.
  • Mi Cobertura Móvil Movistar:Si los problemas de cobertura lo está sufriendo en su domicilo, siempre puede mejorar su cobertura 3G en interiores gracias a Mi Cobertura Movil Movistar, un servicio que funciona en un área de unos 150 m2 a través de la conexión de ADSL/Fibra.
  • Movistar TU Go :ssponible por el momento sólo  para clientes de Movistar Perú(*) y Argentina y O2 en Reino Unido.Con TU Go, mediante una conexión Wi-Fi, esta app permite utilizar su número de Movistar para llamar o enviar mensajes de texto a través de TU Go; sus contactos no sabrán que tiene la aplicación instalada, tampoco necesitan tenerla para recibir tus llamadas o mensajes,asimismo puede evitar los costes de roaming al llamar con su número móvil a través de Wi-Fi cuando estás fuera (en el extranjero), si se ha quedado sin batería puede registrarse desde distintos dispositivos, hasta 5 al mismo tiempo, de acuerdo a su conveniencia (PCs, Tablets y Smartphones) y ver el historial de comunicaciones de tu teléfono sincronizado en todos tus dispositivos. Con TU Go no pierda conversaciones por no tener cobertura en su casa o su oficina. También puedes acceder a tu buzón de voz cuando necesitas.
  • Use  aplicaciones para localizar zonas de cobertura optima como Network Signal Strength.Esta app es  ideal para personas que  están viviendo o trabajando en un área de señal baja. Con esta aplicación se puede obtener una buena idea de la intensidad de la señal móvil y averiguar qué esquinas de su oficina u hogar está teniendo la mejor recepción.  El medidor de señal y los widgets cubren todas las redes, incluyendo 4G / LTE y dar amplia información de la red. Los widgets se pueden personalizar ampliamente a cualquier tema con un prototipo. También hay notificaciones de fuera de servicio y de itinerancia condiciones.                  Lo que esta aplicación es capaz de mostrar: Un total intensidad de la señal de pantalla estético y muy funcional medidor, Prueba de red, Vecinos cobertura Torre de la célula, Simples widgets de la pantalla principal sin tomar demasiado espacio, Latencia de red o de retardo para los datos

  • OpenSignal   es  una app  que  puede crear mapas de cobertura celular, encontrar puntos de acceso Wi-Fi, probar y mejorar tu recepción y obtener datos más rápidos.✓ La brújula indica la dirección del origen de su señal, ¡sólo camine hacia allí!
    ✓ El mapa WiFi le permite localizar fácilmente las redes públicas cercanas.
    ✓ Los mapas de cobertura le permiten ver los mejores lugares para la señal.
    ✓ La funcionalidad Speedtest le permite ver la verdadera velocidad de su conexión (descarga, subida y latencia).
    ✓ NetworkRank le permite ver cual es el mejor proveedor en su área.
    ✓ Ver un mapa de las torres celulares locales.
    ✓ Gratis y sin publicidad
    ✓ Mueva hacia su torre celular para obtener mejor señal.

 

 

Los datos son colaborativos – las ubicaciones inalámbricas y de las antenas son calculadas por triangulación.

Fuente Movisfera