Comunicacion con un smartphone usando el magnetometro


Una forma barata y sencilla de comunicación entre un microcontrolador (por ejemplo, Arduinoo Netduino +) y un dispositivo Android es sorprendentemente difícil de lograr siendo el medio más práctico para lograrlo es utilizar un módulo Bluetooth o WiFi que aumente significativamente el costo de un proyecto (del orden de $ 30 – $ 60).

En este post veremos  un pequeño hack que permite comunicaciones de ancho de banda muy bajo en una dirección y prácticamente  sin costo alguno. No es práctico para la mayoría de las aplicaciones, pero  la idea era suficientemente interesante para explorarla 

Se puede utiliza el magnetómetro  de cualquier dispositivo para realizar una comunicación inalámbrica. El truco reside en crear una pequeña bobina a modo de antena y variar el campo magnético de la brújula del teléfono: de esta forma mediante esas pequeñas variaciones, podemos enviar datos al teléfono de una forma muy sencilla (la conexión de datos no es rápida ya que tan sólo permite un refresco de unos 40Hz pero es interesante ver cómo funciona).

Paraa probar el montaje necesitará lo siguiente:

  • Un teléfono o dispositivo Android que cuente con un magnetómetro (brújula electrónica). A dia de hoy no se conoce e ningún dispositivo sin uno.
  • Un Arduino
  • Aproximadamente 1 metro de alambre de cobre esmaltado (alambre del imán), aunque cualquier alambre aislado fino hará.
  • La aplicacion android ‘ Tricorder ‘ (disponible gratuitamente en la tienda de aplicaciones de Android)
  • Resistencia de 120 ohmios
  • Un diodo (opcional)

Haga una bobina envolviendo el 1 metro de hilo magnético alrededor de algo cilíndrico (por ejemplo, una pila  AAA) con un diámetro de aproximadamente 1 cm. Usted debe obtener alrededor de 30 vueltas de 1 metro. El diámetro o el número de vueltas no es importante mientras estén en bien erolladas para lo cual puede envolver  un hilo ligero alrededor de la bobina para ayudar a mantener su forma.

 

Conecte ahora a bobina como se ilustra en el esquema anterior. La resistencia de 120 ohmios limita el consumo de corriente a aproximadamente 40mA, que es el máximo permitido

El propósito del diodo es proteger el Arduino de un golpe de disparo de EMF cuando el pasador 13 está bajo. Esto se conoce como un diodo de retorno . Con sólo 30 vueltas y un núcleo de aire, es probable que salga sin usarlo,pero es una buena práctica incluirlo.

Ahora toca localizar el magnetómetro delterminal pues su ubicación variará de un dispositivo a otro. Aquí es donde el tricorder sera muy útil pues  la aplicación Tricorder  mostrara el campo magnético.

Para el HTC Desire la señal es más fuerte en la parte inferior . A la izquierda de la pantalla LCD es donde se encuentra el magnetómetro  pero esto es probable que varíe de un dispositivo a otro.

Ahora  cargue este skretch en su placa  Arduino antes de conectar la bobina.

  Unesdoc.unesco.org unesdoc.unesco.org
  * Generar una onda cuadrada de 1 Hz en el pin 13
  * /
 Void setup () {
   PinMode (13, OUTPUT);
 }

 Void loop () {
     DigitalWrite (13,1);
     Retardo (500);
     DigitalWrite (13,0);
     Retardo (500);
 }

Cuando la bobina está desconectada, debería ver el LED del Arduino parpadeando.

Ahora conecte la bobina. El LED debe dejar de parpadear en este punto porque la bobina pone en cortocircuito el LED ,lo cual  es lo  esperado.

Inicie la aplicación Tricorder y cambie al modo MAG e inicie la exploración.

Escanee metódicamente la bobina a través de la superficie del teléfono Android hasta que empiece a ver una fuerte onda cuadrada:donde vea la amplitud de este pico de señales es donde se encuentra el magnetómetro.

Debería ver una onda cuadrada similar si coloca la bobina en la misma ubicación en la superficie inferior del dispositivo. Utilice un poco de cinta para mantenerlo colocado allí.

Ahora tenemos una forma de detectar  en Android ,por lo que la tentación  es conectar la bobina al Arduino UART y comenzar a enviar  datos a 9600bps , pero desafortunadamente esto no va a suceder porque estamos limitados por la tasa de muestreo del magnetómetro disponible para nosotros por el sistema operativo Android.

Aquí está un histograma de time-between-samples de un HTC Desire ejecutando Froyo (Anrdoi 2.2) a una velocidad de muestreo máxima:

Podemos ver aquí que casi todas las muestras vienen en entre 18ms y 25ms. Hay algunos  picos qeu van todo el camino hasta 45ms pero  son tan pocos que podemos ignorarlos. Esto significa que estamos limitados a un máximo de una tasa de muestreo de 40 Hz. Si manejamos la bobina con una línea de E / S digital que inmediatamente tapa nuestro ancho de banda máximo a 40bps.

Este otro sketch para  Arduino energiza la bobina con una onda cuadrada de inicio a 500Hz y disminuye a aproximadamente 1Hz durante unos segundos.

  Int i;
 Int d = 1;
 Void setup () {
   PinMode (13, OUTPUT);
 }

 Void loop () {
   Para (i = 1; i <500; i + = d) {
    
     // Aumenta el incremento a medida que disminuye la frecuencia
     D = (i ^ {6}) + 1;
   
     DigitalWrite (13,1);
     Retraso (i);
     DigitalWrite (13,0);
     Retraso (i);
   }
 }


Aquí están los datos del magnetómetro:


Como se esperaba, no se detectan altas frecuencias (a la izquierda). Parece que sólo obtener buena recogida cuando la frecuencia baja a alrededor de 6Hz!

Para la codificación utilizamos NRZ (no retorno a cero) similar a la utilizada en RS232 con un período de bit de 140ms (aproximadamente 7 bps). El límite inferior UART de Arduino es de 300bps, así que no podemos usarlo para generar la señal.

Del mismo modo, en el terminal Android vamosa tener que decodificar en el software también.

#define BIT_DELAY 140

int i;
char *text = "Hello World! ";

void setup() {
  pinMode(13,OUTPUT);
}

void loop() {
 
  char *s;
  s = text;
  while (*s != 0) {
    transmitByte(*s++);
  }
  
  delay (BIT_DELAY*10); 
}
/**
 * Bit bang a byte
 */
void transmitByte (byte c) {
  
  // Start bit
  digitalWrite (13,1);
  delay(BIT_DELAY);
  
  // Data bits
  for (i = 0; i < 8; i++) {
      digitalWrite (13, ( (c&0x80)!=0 ? 1 : 0) );
      delay(BIT_DELAY);
      c <<= 1;
  }
  
  // Stop bit
  digitalWrite (13, 0);
  delay(BIT_DELAY);
}

 

Aquí vemos el ejemplo  en acción:

Nota :la aplicación Tricorder no esa disponible temporalmente en Google Play ,pero en su lugar hay algunas apps similares como  Magentic Filed measure

Via    jdesbonnet

Anuncios

Cómo crear y gestionar mas de una cuenta de g-mail


Gmail,  es un servicio de correo electrónico con posibilidades POP3 e IMAP, que es semi-gratuito(puesto que también tiene una versión empresarial de pago)  proporcionado como todos sabemos por Google. Este servicio aunque parezca que lleva toda la vida con nosotros en realidad  es  bastante “reciente  puesto que inicio su andadura  como beta a  partir del 15 de abril de 2004   hasta que en el 7 de julio de 2009, junto con Google Calendar, Google Docs, Hangouts   dejaron su calidad de Beta y pasaron a ser considerados productos terminados.

En noviembre de 2012, Gmail logró superar a Outlook (el servicio de correo electrónico más utilizado hasta esa fecha) en cuanto a número de usuarios registrados a nivel global sin duda propiciado por el  gran éxito del sistema operativo Android, llegando en mayo de 2014 a superar las mil millones de descargas en dispositivos Android.

Algunas de las innovaciones que incluía   g-mail desde las versiones previas:

  • Personalización de la bandeja de entrada :se puede vestir la bandeja de entrada al gusto habiendo miles de temas para elegir que además se pueden cambiarlo cuando se desee.
  • Centralización de Gmail  permitiendo utilizar una sola dirección de correo para todo: mensajes personales, compras, vida social, pagos, búsqueda de trabajo, etc.
  • Bloquea de spam
  • Ordenación de  los mensajes en su sitio  para no ver la bandeja de entrada colapsada.
  • Multidispositivo :se puede consultar el correo se esté donde se esté con las aplicaciones Gmail para Android, iPhone y iPad recibiendo  notificaciones en tiempo real para que no perder los correos importantes.
  • Posibilidad de chatear, llamar por teléfono y hacer videollamadas.
  • etc

 

Aunque no lo parezca ,  no hay ningún problema para tener varias cuentas de Gmail para uso  personal , tanto es así que en efecto se puede tener  todas la cuentas de g-mail  que se necesiten.

Si no sabe como hacerlo , a continuación describimos  los pasos :

En primer  haga  click en el siguiente link para poder crear otra cuenta: https://accounts.google.com/SignUp?service=mail&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F

gmail.png

 

Como vemos la información obligatoria que se nos solicita  :

  • Nombre
  • Apellidos
  • Contraseña( solo admite letras o números)
  • Fecha de nacimiento
  • otra cuenta de correo( puede ser distinta de gmail)
  • Teléfono

 

Cumplimentados todos los pasos , tendrá que darle a botón del siguiente paso.

A continuación nos saldrán las condiciones de uso:

 

captura

Si estamos de acuerdo, pasaremos ACEPTO y  a continuación ya nos mostrara la bandeja clásica  de entrada , con únicamente el correo asociado a esa cuenta

 

Si tenemos mas de una cuenta de Gmail , para poder ver  todas las cuentas asociadas desde el mismo interfaz ,pinchamos el rueda dentada , opción “Configuración

Pulsaremos “Cuentas en importación”

 

confi

Ya solo nos queda pulsar en “Añadir otra dirección de correo”

Tras cumplimentar la dirección enviara un correo con un link para comprobar

otra-direccion

Ahora en la caja introduciremos  el código de conformación que recibiremos en la otra cuenta de gmail

verifica

Una vez que lo introduzcamos  ambas direcciones de correo de Gmail  se podrán consultar usando una única credencial  y por supuesto accediendo al correo de ambas cuentas

Puede que en principio no pueda parecernos tan interesantes pero seguro con el tiempo aprendemos a sacar rentabilidad a esta magnifica oportunidad que  nos ofrecen

 

 

 

Como fabricar un pantalla para nuestra Raspberry Pi


Hoy en día hay  soluciones de muy bajo coste para poder reusar gran parte de las pantallas TFT presentes  en nuestros gadgets como ordenadores porttatiles , tabletas ,teléfonos ,dvd’s portatiles , etc     donde  probablemente el resto de electronica  ya no funcione ,  pero que gracias a estos adaptadores podemos seguir usando con un coste ínfimo al menos la pantalla  para otras finalidades, como por ejemplo en este caso como  pantalla  para nuestra  Raspberry Pi

De una manera muy económica pues podemos darle un nuevo uso a esta pantalla de cualquier tableta o incluso viejo portatil con muy poco dinero(sobre los 12€)

En el ejemplo veremos como aprovechar la pantalla de una vieja tableta con la placa madre estropeada  usando  esta pequeña controladora  , que es compatible con los modelos AT070NT90 AT070NT92 AT070NT94   , lo  cual responde a  una pantalla de 7 pulgadas con conector de  50PIN (800*480) LCD

Como vemos la placa necesaria  dependerá fuertemente del modelo de TFT que vayamos a usar para lo cual nos guiaremos por el modelo que suele ir marcado en una pegatina en la parte trasera del TFT .

Una vez conocemos el modelo de nuestra pantalla, podemos a buscar nuestra controladora en portales como  EBAY o ALIEXPRESS, ya que son baratas y los vendedores especifican bien que pantallas son compatibles con su controladora.

Este tipo de adaptadores suelen llevar las siguientes conexiones

  •  Entrada VGA
  •  Entrada AV
  • Entrada HDMI, apoyo versión HDMI1.2
  •  Imagen Inversa
  • Alimentacion DC:voltaje de entrada: 4.5 V-12 V
  • 6PIN, 7 Extra alta tensión de a bordo
  • salida LVDS, 6/8/6 doble/doble 8 LVDS (sólo para 3.3 V Pantalla Lcd)
  • botones de tecla interruptor y ajuste del panel
  • luz de fondo Led de energía
  • Conexion  de entrada TTL
  • Conexion entrada LVDS

2017-02-13_22h44_47.png

 

 

2017-02-13_22h46_02.png

 

En cuanto al conexionado  es bastante sencillo pues se reduce a conectar el  mini-teclado de funciones básicas con el cable que suelen incluir , la salida LVDS de la placa  con el cable de cinta hacia al adaptador LVDS   y de ahi al cable de cinta saliente de la pantalla LCD  y finalmente alimentaremos el circuito con +12vDC

 

 

esqeuma-final

Obviamente según el modelo de Raspberry Pi  donde vayamos a conectar  usaremos las entrada de vídeo compuesto o la conexion HDMI

2017-02-13_22h52_51.png

Respecto al aspecto estético podemos usar  metacrilato,madera  o  impresión 3D . De hecho este es el enlace gratuito  para fabricar nosotros mismos  la carcasa en 3D para un modelo generico de 7″  : http://www.thingiverse.com/thing:1260046
Lo mas interesante de este proceso descrito   es que también es válido para reutilizar pantallas de portátiles o cualquier pantalla que tengamos ofreciéndole así una magnifica segunda oportunidad.

Error en whatsapp en la descarga de videos


Hay personas que de repente  cuando reciben fotos o videos por whatsapp, al intentar verlos o reproducirlos aparece un molesto  mensaje

 Error de descarga:. No se ha podido completar la descarga. Vuelva a intentarlo más tarde.

Y por cierto, por mucho que lo intentemos o esperemos no cambia la situación..

En  casos aislados,  cuando se intenta  adjuntar algo anexo  incluso avisa “ok” pero obviamente no envía nada . No obstante el problema es mayor   aun cuando nos envían un archivo, pues pulsamos en descargar y vuelve a saltar el  mensaje “Error en la Descarga: No se ha podido completar la descarga, inténtelo mas tarde. “ ¿como podemos solucionar este grave problema?

Falta la carpeta media o se crea un fichero llamado media

Un primer posible origen del problema del fallo de la descarga puede el siguiente: la carpeta “Media” de whatsapp  por alguna razón se renombra o desapaprece ,razón por la cual  la aplicacion  no sabe qué hacer con los archivos (video, audio, imágenes) y da este extraño error

 

 

sinformaterar.png

En  caso de que sospechemos que esa podría ser la causa podemos  hacer lo siguiente.

1- Conectar el terminal al pc de modo que podemos  editar la tarjeta de memoria
2- Ir a la tarjeta de memoria. Alli habrá muchas carpetas  ,pero las que nos interesa es la carpeta  whatsapp que a su vez debe contener  cuatros carpetas :

  • .trash
  • Backups
  • Database
  • Media

whats1.png

Si falta la carpeta Media o tenemos un archivo llamado media sin extensión es un síntoma inequívoco de mal funcionamiento .

3- Elimine el archivo media  de manera que nos queden al menos las tres primeras carpetas solamente.
4- Cree una nueva carpeta llamada  Media
5- Entre en la carpeta Media (que acaban de crear) para ver que esté vacía. Por defecto luego la propia aplicación creará otras 8 subcarpetas  como en la imagen siguiente:

 

media
6- Ahora hay dos opciones:
a) Reiniciar  el terminal . (desconéctelo de manera segura )

b) Volver a conectarlo al pc,para poder editar la tarjeta de memoria .Entre en  la carpeta WhatsAppMedia y fíjense si ya se crearon las nuevas carpetas, si esto no sucedió entonces cree  manualmente al  menos  las cuatro carpetas :

  •  Wallpaper
  •  WhatsApp Audio
  •  WhatsApp images
  •  WhatsApp Video

Una vez hecho ,por favor reinicie su terminal y compruebe que ya se puede  descargar ok

Tarjeta SD fragmentada o con errores

Un segundo  posible origen del problema puede prevenir por un fallo en la tarjeta microsd  por excesiva fragmentación ,razón  por la cual  la aplicación  no sabe qué hacer generalmente con ficheros grandes como archivos de  video  o audio ( no con las  imágenes) y da este extraño error

Para intentar solucionarlo copiaremos el contenido de la carpeta whatasapp a nuestro ordenador   y obviamente todo lo que nos interese  e intentaremos hacerle un formateo a la sd

Un claro síntoma de que la tarjeta esta mal es que no permite formatearlo con las hermanamientos estándar del sistema operativo.

.
sinformaterar.png

 

Una herramienta  que nos permite formatear incluso con estos problema es hdd low level format tool  ,pero tenemos que tener extrema atencion en la unidad que deseamos formatear:

 

hdd.PNG

 

Un vez seleccionada la unidad , pulsar en la pestaña  “low level format” y el botón “format thos device”

hdd2

Tras un rato ( unos 8minutos para uan kingston de 8gb)  deberia finalizar el proceso

hddfin.PNG

Un vez hayamos formateado la sd, podemos volver a copiar el contenido de la carpeta whtasapp  y desinstalar y volver a instalar la aplicación whatsapp para que al iniciarse pregunte si desea  recuperar  el contenido de la sd  ..

Debería ahora volver a  funcionar las descargas …( o si no es así cambie la sd por otra nueva e intente volver a probar)

 

 

Usos para una vieja tableta


Quizás haya  decidido actualizar su vieja tableta por un nuevo modelo, mejor? ¡Felicidades ! Con seguridad contara con procesador más rápido, mejor pantalla y software más reciente  que va a adaptarse a usted perfectamente.

Pero, ¿qué significa eso para la vieja y fiel tableta  que le introdujo en el nuevo mundo de la computación en tabletas? Sólo porque ha sido suplantada por el último y mejor modelo, esa vieja, fiel tableta no debe ser consignada a una jubilación anticipada acumulando polvo en su  armario…

En este post  intentaremos   ver algunas formas de evitar de  darle    una segunda oportunidad a su vieja tableta .

1. Su nuevo libro de cocina digital

Tableta utilizada como libro de cocina

La cocina puede ser un lugar sucio  y  peligroso  a veces ,   por lo que debería ser cauteloso de usar su costosa tableta nueva para navegar por  recetas con  sus dedos llenos de harina , aceite , salsas ,etc  y el agua caliente volando alrededor.

Por  eso,  quizás  esa vieja tableta que quizás no vaya tan rápido o no se vea también  como su nueva adquisición,  sea   la solución ideal para usarla en la cocina ,aunque  se ensucie  o incluso puede romperse   ( por lo menos habrá preservado  y alargado la vida de su nueva tableta)

2. Marco de fotos digital

Tablet utilizado como marco de fotos digital

Al ver que no usa su vieja tableta para actividades cotidianas, ¿por qué no convertirla en un marco de fotos? LiveFrame para iPad y Dayframe para tabletas Android ) son excelentes opciones gratuitas para crear sus  presentaciones en bucle.

Incluso puede crear bucles personalizados usando fotos almacenadas en el dispositivo, cargadas en medios sociales o almacenadas en la nube.

3.  Las tabletas son geniales para los niños.

Niño con la tableta

Es probable que uno de sus miembros más jóvenes de la familia haya pedido una tableta por ahora. Los niños no necesitan los modelos más nuevos con las pantallas más nítidas y los procesadores más rápidos, asi  que puede  reciclar  su antigua tableta  para un fin muy loable cargándola  con aplicaciones de aprendizaje, herramientas de pintura divertidas y libros electrónicos.

4. Monitor de bebé

Tableta utilizada como monitor para bebés

Con aplicaciones como Dormi para Android , puede utilizar el micrófono de su antigua tableta como monitor para bebés. Coloque la tableta en el dormitorio de su pequeño y el audio en vivo se transmitirá de nuevo a su teléfono o tableta Android a través de una red de datos wi-fi o móvil. Esto le permitirá escuchar e incluso cantar canciones de cuna dulces a sus pequeños mientras se relaja en la sala de estar.

5. Sistema de juego de Arcade

Esta utilidad la verdad  es que muy usada  y desde luego hará las delicias de lo pequeños   y de los no  qeu no lo son tanto ..

¿Quiere convertir tu antigua tableta en tu propia máquina de juegos retro, con joysticks de la vieja escuela y botones martillables?

Soluciones como el Zeon Tech Arcadie para iPad Mini  permiten   convertir  un  arcade de escritorio pues se ha diseñado para verse como una unidad de tamaño completo de arcade.Esta  preparado para albergar en su interior  el iPhone y el iPod Touch. Aunque el iPhone, iPhone 3, iPod Touch, iPod Touch 2 encaja en la unidad de Arcadia, los juegos no son compatibles. Estos dispositivos pueden ser compatibles con juegos html 5 solamente.

 

Este dsieño permite reproducir una selección de juegos de la App Store que volver a crear ese clásico arcade sentir con el joystick de 8 botones de doble acción  presentando una verdadera galería tamaño de la pantalla y  no requiere baterías, bluetooth o wifi de configuración – que es, literalmente, plug and play!

 

Incluso hay una version para  Kindle Fire HD (Zeon Tech Arcadie for Kindle Fire HD)   que le permitiran ranurar en la tableta, entonces usted puede jugar todos sus viejos favoritos como Alien Invaders, Blateroids y Ping que se pueden descargar desde las tiendas de aplicaciones .

6. Reproductor de música dedicado y radio por Internet

Aplicación Spotify en una tableta

Si la vieja tablet se está preparando para una nueva experiencia estacionaria, no hay ninguna razón por la que no se puedan conectarse permanentemente a su equip de audio a través de su conector de audio de 3,5 mm.

Puede utilizar todas sus aplicaciones de radio y música favoritas como la radio TuneIn, iPlayer Radio o Spotify y reproducir la música almacenada localmente en el dispositivo. Usted se beneficiará de la interfaz de pantalla táctil limpia, que se ve muy bien en cualquier sala de estar.

En el caso de Spotify, podrá utilizar su smartphone o una nueva tableta como control remoto para controlar las pistas que se reproducen en la aplicación anterior con Spotify Connect .

7. Reproductor de películas en el coche

soporte

Los coches con los monitores construidos en la parte trasera de los apoya cabezas del asiento delantero son un lujo, ¿eh? ..pero es  cierto que se pueden replicar facilmente la experiencia sin el costo de encajar un montaje asequible para su vieja tableta.

Este soporte universal de GHB es uno de los muchos disponibles y sólo cuesta 14 €. Sólo tiene que cargar algunos de las películas o incluso  juegos  favoritos de los niños en la tableta y disfrutar de un tranquilo viaje en coche!

Asimismo otra utilidad  muy interesante   gracias sobre todo  a  su pantalla de gran formato  , si instalamos las aplicaciones correspondientes(google Car, Sygic, tomtom,etc )   usarlo como navegador  GPS  de gran formato . Un  soporte universal apenas   cuesta menos de 13€ ,pero no olvide de conseguir  también un cargador para el coche ( existen para todos los modelos  y a un bajo coste)

 

soporte

 

8. Lector de libros electrónicos

Tablet utilizado como lector de libros electrónicos

Si le gusta leer antes de ir a la cama, puede mantener una tableta más antigua en su mesa de noche y utilizarlo como un lector dedicado de libros electrónicos.

Todos los libros de Amazon Kindle se pueden cargar en el dispositivo con las aplicaciones Kindle gratuitas, mientras que los comprados en los iBooks de Apple y en Google Play Store también están disponibles en la nube, dependiendo del sistema operativo que utilice.

9. Convertir en en un segundo monitor

En caso de un Ipad  ,se necesita utilizar la aplicación Air Display (iOS), que le permitirá trabajar a través de una red Wi -Fi como un segundo monitor.

Tambien  tenemos aplicaciones como iDisplay (Android e iOS),  Splashtop Remote Desktop HD (Android, iOS) o MaxiVista (iOS), y todas ellas permiten que convirtamos nuestro tablet en una pantalla tonta en la que poder extender el escritorio disponible por ejemplo en portátiles con Windows u OS X.

10 Estaccion metererologica

Existe infinidad de aplicaciones que podemos instalar en  nuestra tableta  para usarla como reloj avanzado  o incluso mejor !como estación meteorológica!. Una app muy interesante es “Estación meteorológica” (Google Play)

Esta app  recrea una  Estación Meteorológica funcional  soportando  gran pantallas de alta definición y pantallas de los teléfonos. Muestra  Presión,pronóstico del tiempo,  precipitaciones, precipitaciones, humedad,velocidad del viento y la dirección, Salida y Puesta del Sol,etc.

La actualización de la ubicación es  automática por wifi o GPS  y también se puede usar  un Widget .Muestra las unidades estándar de métricas y americanas .Ademas se puede usar tambien como   Reloj Digital

Los prestadores de servicios soportados son Google Weather, Yahoo Weather, Weather Underground (PWS), la BBC Backstage y la NOAA.

estacion

11. Envíe el vídeo a petición a su TV casera

Chromecast de Google

El dispositivo de streaming de Google Chromecast facilita el envío de contenido directamente a su televisor.

El HDMI cuesta sólo £ 30 y es una gran manera de enviar de forma remota videos a la pantalla grande con un solo toque. Mantenga su vieja tableta en su mesa de centro y utilícela como control remoto para sus portales video preferidos .

Las aplicaciones de Netflix, BBC iPlayer, BT Sport y YouTube son compatibles con Chromecast.

 

10-

Cómo enviar correos desde Android con Apache Commons


Trabajando con Android, muchos buscamos  enviar mensajes de correo electrónico usando un servidor SMTP, utilizando autenticación y cifrado, dentro de  de la propia aplicación android de forma que sea completamente transparente para el usuario.

Por desgracia javax.mail en Android no es una buena opción, ya que depende de las clases awt (problemas por la herencia) y no siempre funciona:no en vano ,de hecho algunas personas han tratado de adaptar la librería dado  que no ser requiere todo el paquete awt , pero lamentablemente han tenido poco éxito con eso; !y eso sin mencionar a quienes que refactorizando javax.mail para Android  (que lleva muchos  años, sin ningún mantenimiento)!.

Apache Commons es un conjunto de proyectos de Apache Software Foundation, que originalmente formaron parte de Jakarta Project. El propósito de estos proyectos consiste en proveer componentes de software Java reutilizables, en código abierto. Según su grado de madurez y actividad, los proyectos se agrupan en las categorías: proper, sandbox o dormant.

Otra opción mas pragmática pues  es usar Apache Commons ,puesto que la comunidad ha añadido un SMTPSClient y un AuthenticatingSMTPClient para el cliente SMTP original ,el cual con la  aplicacion de un pequeño parche  para SSL y autenticación, se puede incrustar esta biblioteca en su aplicación para Android sin necesitar dependencias transitivas para enviar correo mediante la autenticación sobre una capa segura.

Autenticación SMTP y STARTTLS

STARTTLS es una extensión a los protocolos de comunicación de texto plano, que ofrece una forma de mejorar desde una conexión de texto plano a una conexión cifrada (TLS o SSL) en lugar de utilizar un puerto diferente para la comunicación cifrada.

El puerto utilizado para  envios de correos es generalmente 25 o el puerto 587 alternativo por lo que lo que se trata es de conectar al servidor SMTP en una conexión simple, se piden los comandos disponibles, y si se soporta STARTTLS,se  usa ,y el resto de la comunicación está cifrado.

Ahora tomemos el ejemplo de gmail, ya que el servidor es  smtp.gmail.com , como soporta autenticación y STARTTLS  podemos enviar facilmente correos si importamos la libreria Apache Commons

 

Un ejemplo de código funcional qeu podemos probar desdeAndroid Studio es el siguinte:


 com.google.android.gms.appindexing.Action;
 import com.google.android.gms.appindexing.AppIndex;
 import com.google.android.gms.appindexing.Thing;
 import com.google.android.gms.common.api.GoogleApiClient;

import org.apache.commons.net.smtp.AuthenticatingSMTPClient;
 import org.apache.commons.net.smtp.SMTPClient;
 import org.apache.commons.net.smtp.SMTPReply;
 import org.apache.commons.net.smtp.SimpleSMTPHeader;

 

 

public void sendEmail() {
 String hostname = "smtp.gmail.com";
 int port = 587;

String password = "xxxxxxxxx"; // aqui necesitamos la pwd de al cuenta de gmail 
 String login = "[email protected]";//aqui necesitamos la cuenta de gmail desde 
                                     //la que enviaremos los email desde la app

String from = login;             //aqui ponemos el mombre del correo de envio
                                 // es el enviante 

String subject = "subject";       //asunto del correo
 String text = "message";        //texto del correo  

try {
 AuthenticatingSMTPClient client = new AuthenticatingSMTPClient();
 String to = "[email protected]";  //destino del correo
 // optionally set a timeout to have a faster feedback on errors
 client.setDefaultTimeout(10 * 1000);
 // you connect to the SMTP server
 client.connect(hostname, port);
 // you say ehlo  and you specify the host you are connecting from, could be anything
 client.ehlo("localhost");
 // if your host accepts STARTTLS, we're good everything will be encrypted, otherwise we're done here
 if (client.execTLS()) {

client.auth(AuthenticatingSMTPClient.AUTH_METHOD.LOGIN, login, password);

checkReply(client);

client.setSender(from);
 checkReply(client);

client.addRecipient(to);
 checkReply(client);

Writer writer = client.sendMessageData();

if (writer != null) {
 SimpleSMTPHeader header = new SimpleSMTPHeader(from, to, subject);
 writer.write(header.toString());
 writer.write(text);
 writer.close();
 if (!client.completePendingCommand()) {// failure
 throw new Exception("Fallo al  enviar email " + client.getReply() + client.getReplyString());
 }
 } else {
 throw new Exception("Fallo al enviar email " + client.getReply() + client.getReplyString());
 }
 } else {
 throw new Exception("STARTTLS no fue aceptado " + client.getReply() + client.getReplyString());
 }

} catch (Exception e) {
 // some other problem
 Toast.makeText(MainActivity.this, "Problema enviado email.", Toast.LENGTH_SHORT).show();

}
 }

private static void checkReply(SMTPClient sc) throws Exception {
 if (SMTPReply.isNegativeTransient(sc.getReplyCode())) {
 throw new Exception("Transient SMTP error " + sc.getReply() + sc.getReplyString());
 } else if (SMTPReply.isNegativePermanent(sc.getReplyCode())) {
 throw new Exception("Permanent SMTP error " + sc.getReply() + sc.getReplyString());
 }
 }

/**
 * ATTENTION: This was auto-generated to implement the App Indexing API.
 * See https://g.co/AppIndexing/AndroidStudio for more information.
 */
 public Action getIndexApiAction() {
 Thing object = new Thing.Builder()
 .setName("Main Page") // TODO: Define a title for the content shown.
 // TODO: Make sure this auto-generated URL is correct.
 .setUrl(Uri.parse("http://[ENTER-YOUR-URL-HERE]"))
 .build();
 return new Action.Builder(Action.TYPE_VIEW)
 .setObject(object)
 .setActionStatus(Action.STATUS_TYPE_COMPLETED)
 .build();
 }

@Override
 public void onStart() {
 super.onStart();

// ATTENTION: This was auto-generated to implement the App Indexing API.
 // See https://g.co/AppIndexing/AndroidStudio for more information.
 client2.connect();
 AppIndex.AppIndexApi.start(client2, getIndexApiAction());
 }

@Override
 public void onStop() {
 super.onStop();

// ATTENTION: This was auto-generated to implement the App Indexing API.
 // See https://g.co/AppIndexing/AndroidStudio for more information.
 AppIndex.AppIndexApi.end(client2, getIndexApiAction());
 client2.disconnect();
 }

No hay mucho que añadir aquí, por supuesto, la manipulación de excepciones podría ser optimizado si utiliza sus propias clases de excepción y por ejemplo tanto el login como el pwd de gmail  pueden ser capturados en los ajustes de la aplicacion para personalizarlo a voulntas.

Autenticación SMTP y SSL con Commons Net

Algunos servidores SMTP están configurados para aceptar sólo SSL  por lo  hay que asegurar la comunicación antes de emitir cualquier comando al servidor siendo generalmente el puerto usado el 465.

Por ejemplo  LaPoste.net oferece cuentas gratuitas de correo electrónico ofrecidas por la publicación francesa, asi que enviar correos desde  ahi seria similar a esto:

 public void sendEmail() throws Exception {  
    String hostname = "smtp.laposte.net";
    int port = 465;
    String password = "password";
    String login = "firstname.lastname";
    String from = login + "@laposte.net";
    String subject = "subject" ;
    String text = "message";
    // this is the important part : you tell your client to connect using SSL right away
   AuthenticatingSMTPClient client = new AuthenticatingSMTPClient("TLS",true);
    try {
      String to = "[email protected]";
      // optionally set a timeout to have a faster feedback on errors
      client.setDefaultTimeout(10 * 1000);
      client.connect(hostname, port);
      client.ehlo("localhost");
      client.auth(AuthenticatingSMTPClient.AUTH_METHOD.LOGIN, login, password);
      checkReply(client);
     client.setSender(from);
     checkReply(client);
      client.addRecipient(to);
      checkReply(client);
      Writer writer = client.sendMessageData();

      if (writer != null) {
        SimpleSMTPHeader header = new SimpleSMTPHeader(from, to, subject);
        writer.write(header.toString());
        writer.write(text);
        writer.close();
        if(!client.completePendingCommand()) {// failure
          throw new Exception("Failure to send the email "+ client.getReply() + client.getReplyString());
        }
      } else {
        throw new Exception("Failure to send the email "+ client.getReply() + client.getReplyString());
      }

    } catch (Exception e) {
        throw e;
    } finally {
        client.logout();
        client.disconnect();
    }
  }

No repitimos el método checkReply () aquí, ya que es el mismo para ambos fragmentos de código

Usted habrá notado que el uso de SSL de inmediato significa que usted no tiene que buscar la respuesta execTls () (de hecho no funcionará si lo hace).

Dependencias

Eso es todo; Si desea hacer que estos ejemplos funcionen en su entorno, debe descargar la liberia  apache commons net 3.3 jar    y agregar el jar apache commons net 3.3 a su proyecto

 

 

coomons

Qué hacer si rompe la pantalla de su tableta


¿Se le ha agrietado la pantalla de su tableta? La verdad es que es una fatalidad ,que en ocasiones le hará sopesar directamente adquirir una tableta nueva ,pero si desea mantener he aquí unos  consejos de ahorro de dinero sobre qué hacer en ese caso

Cracked tablet

Las tabletas son gadgets caros (sobre todo si son de cierta calidad )  y lo cierto es que muchos de nosotros estamos pegados a ellos durante el día, ya que organizamos nuestra vida social, los asuntos internos y las compras.
Desafortunadamente, la tecnología no ha encontrado una manera de evitar que dejemos caer una tableta y debido a sus pantallas de cristal, existe la posibilidad de que se caiga una tableta, y este se pueda quebrar. Sí, es un inconveniente y es probable que tenga que pagar algo, pero con un poco de investigación y siguiendo los siguintes consejos, puede que no cueste tanto como usted piensa.

1. Evaluar el daño

Lo primero que debemos hacer es examinar el tamaño de la grieta. Si es pequeño, puede ser feliz vivir con él, pero si la pantalla está totalmente destruida y no se puede ver correctamente, entonces es probablemente mejor – y más seguro –  reemplazarlo.
Es importante que defina  claramente  si simplemente se  ha roto el cristal, o si hay daños en el panel LCD debajo. El primer punto significa que usted ha agrietado el vidrio del frontal  y el segundo punto  significa que ademas hay un problema con la calidad del panel, como el color de la pantalla, el contraste o la pixelación. Si ha dejado el dispositivo, es más probable que  solo  sea el primero, pero opte por una reparación de terceros (paso 4 a continuación) y, a menudo, ambas opciones.

2. ¿Ya está cubierto?

Las tabletas que compra en tiendas de la calle y en línea vienen con una garantía. Pero esto no suele incluir daños accidentales, por lo que muchas personas optan por el seguro.
Las pantallas agrietadas normalmente están cubiertas por un seguro.
El asegurador de gadget dedicado Protect Your Bubble incluye cobertura de daños accidentales como estándar y tiene un exceso de £ 50 para iPads y £ 25 para todas las demás tabletas.
Insurance2go incluye Daño Accidental en sus pólizas y cobra un exceso de £ 25 para dispositivos que valen menos de £ 299 y £ 50 para los que valen entre £ 300 y £ 699.
Si no tiene un seguro de gadget dedicado, consulte su póliza de seguro de hogar ya que puede estar cubierto allí.
Incluso si usted tiene seguro de gadget recomendamos obtener algunas citas para arreglar la pantalla de forma independiente (ver el paso 5), puede ser más barato y significará que no tiene que preocuparse por las primas de seguros futuras subiendo.

3. ¿Su fabricante ofrece un servicio de reemplazo?

Algunos fabricantes reemplazarán una pantalla rota por un cargo. La ventaja de hacerlos e con el fabricante de su dispositivo es que usted podrá conseguir las piezas exactas usadas y no invalidará su garantía.
Para los dispositivos de Apple, Apple Care es el lugar oficial para ir – obtener más información en el sitio web de Apple.

4. ¿Repararla invalidará su garantía?

Vale la pena tener en cuenta que si usa un lugar de reparación de terceros (Paso 5) o lo arregla usted mismo (Paso 6) puede estar invalidando la garantía de su dispositivo.
Si lleva   por ejemplo un teléfono a repararlo en una tienda de la calle que  tenga una gran relación calidad-precio, con el teléfono con daños secundarios si  tratamos de llevarlo de vuelta al fabricante probablemnte  que se negaran a mirar porque  invalidamos nuestra garantía al ir a otro sitio.
Este es un ejemplo extremo – depende del fabricante y la edad del producto – pero si tiene dudas compruebe este punto  primero.

5. Utilice un taller de reparación dedicado

Hay numerosas tiendas  que se arreglan los bienes eléctricos rotos,pero antes de entregar su gadget, es muy importante asegurarse de que van a ofrecer un buen servicio. Eche un vistazo a su sitio web para ver testimonios y comentarios y realizar una búsqueda rápida en la web de los comentarios.

Si usted elige ess servicio asegúrese de que ofrecen una garantía de 12 meses en cualquier reparación y cuánto franqueo es.

6. Arregle usted mismo

Si usted es lo suficientemente valiente es posible arreglar su tableta usted mismo. Hay numerosos kits disponibles en línea como este de Amazon que cuesta £ 16,99; IFix incluye guías para ayudarte a hacer esto.
La ruta de bricolaje es algo que realmente no recomendaría a menos que usted es muy competente con la electrónica. Cometer un pequeño error y podría terminar por tener que reemplazar más de una pantalla rota y puede invalidar su garantía.
El producto de reinicio es una licitación de “inicio social” de caridad para animar a la gente a arreglar sus propios productos electrónicos y así reducir los desperdicios electrónicos. Realiza eventos de reparación gratuitos regulares llamados ‘Restart Parties’ donde puedes ir y arreglar tu dispositivo bajo la supervisión de expertos llamados ‘Restarters’. Aunque principalmente se basa en Londres, los acontecimientos ahora se llevan a cabo globalmente durante todo el año.
Si decide visitar una Parte de reinicio, tendrá que invertir en las piezas de repuesto necesarias para reparar su tableta antes de ir.

7. ¿Vale la pena reparar la tableta?

Si tienes una tableta más antigua, puede ser más barato vender la tableta rota y poner el dinero en una nueva en lugar de pagar por reparaciones.
Hay un mercado próspero para tabletas rotas en eBay. Por ejemplo, encontramos un defectuoso un Samsung Galaxy Tab 3 que se vendió por £ 16 y una primera generación de iPad por £ 45 . Esto puede ayudar a ir hacia una tableta completamente nueva.
Este método tiene un poco de investigación – y con subastas en línea hay una apuesta (por lo que puede que desee establecer un precio mínimo) – pero vale la pena mirar.

8. Copia de seguridad

Por último, si está enviando su dispositivo para solucionarlo o venderlo, asegúrese de guardarlo para guardar su contenido. En el improbable caso de que algo salga mal, puede iniciar sesión y descargar sus archivos de nuevo.

Fuente  aqui