viernes, 14 de octubre de 2016

¿Por que hay tantos Pythons?


Python es asombroso.
Sorprendentemente, esa es una declaración bastante ambigua. ¿A qué me refiero con ‘Python’?, ¿Me refiero a la interfaz abstracta de Python?, ¿Me refiero a CPython, la implementación común de Python (y no confundir con Cython, que son similares en sus nombres)?, ¿O me refiero a algo completamente distinto? Tal vez me esté refiriendo indirectamente a Jython, o IronPython, o PyPy. O tal vez me he ido al extremo y estoy hablando de RPython o RubyPython (los cuales son cosas muy, muy distintas).
Mientras las tecnologías mencionadas anteriormente son llamadas de formas parecidas y referenciadas de la misma manera, algunas de ellas sirven para propósitos completamente distintos (o, al menos, operan de maneras completamente distintas).

lunes, 9 de mayo de 2016

ANDROID NFC CON FIREBASE Y RASPBERRY PI



ANDROID NFC CON FIREBASE Y RASPBERRY PI









Descripción del proyecto 

Cuando el celular se acerca al tag NFC, lee la información (previamente guardada en este Tag), a través de NDEF  (NFC Data Exchange Format) y  con  Java (Android),  se compara el  texto obtenido del tag, para luego comunicarse con API de Firebase, 
Ejemplo, si lo que se leyó del tag1 es “sala”  entonces cambia el estado en firabese en la URL determinada.
Paralelo a esto, en Raspberry Pi (Python), se está accediendo continuamente a la misma URL de Firebase, lo que permite obtener el valor de los estados de (“sala” y “habitación”) y posteriormente controlar el  GPIO dependiendo el valor de estos estados.


ALGO DE TEORÍA 


Tecnología NFC

Near field communication (NFCcomunicación de campo cercano en español) es una tecnología de comunicación inalámbrica, de corto alcance y alta frecuencia que permite el intercambio de datos entre dispositivos (tomado de wikipedia)
Para más información sobre como se trabaja está tecnología en Android 
http://developer.android.com/intl/es/guide/topics/connectivity/nfc/index.html


NDEF

The NFC Data Exchange Format (Formato de intercambio de datos)  (NDEF) es un formato de datos normalizado que se puede utilizar para intercambiar información entre cualquier dispositivo NFC compatible y otro dispositivo NFC o etiqueta
En android



1. Instalar NFC Tools en Android.

Seleccionar escribir, y Añanidr un registro de texto, luego acerque la tarjeta al lado trasero del celular.
Si le arroja algún error, puede primero formatear la tarjeta o Tag NFC, y volver a intentar la escritura.

Para este ejemplo, hay que escribir   "sala"   (Sin comillas) y en otro tag, "habitacion", (tal como está sin acento)


  NFC Tools: captura de pantalla   NFC Tools: captura de pantalla



2. Aplicación Android

Les comparto el proyecto en Android Studio, ahi pueden encontrar el apk
El proyecto android se encarga de procesar la lectura del tag NFC, y de acuerdo a al texto obtenido se actualiza el estado en firebase, de una URL en especifico.


Solo voy a mostrar el main.java que es el archivo donde está la lógica.
El proyecto completo lo pueden descargar en GitHub 


jueves, 17 de marzo de 2016

DOMÓTICA CON RASPBERRY PI Y ANDROID EN TIEMPO REAL

DOMÓTICA CON RASPBERRY PI Y ANDROID EN TIEMPO REAL









De acuerdo a lo que se aprecia en la gráfica, se puede decir que  Firebase es el punto central del sistema el cual recibe y envía  peticiones en tiempo real a los diferentes clientes que estén conectados a él.

La aplicación Android se conecta a la URL de nuestro proyecto de Firebase, y lo que hace es actualizar y obtener los datos en tiempo real, específicamente cuando se cambia el estado del Switch,  tanto en la aplicación móvil como en la página web, este cambio se ve reflejado de inmediato en Firebase, y como Raspberry Py con Python,  está conectado a la misma URL de Firebase, puede obtener el valor de este  estado y así poder encender o apagar un diodo led.







 


En las imágenes se ve como llega una notificación en tiempo real, cada vez que ha habido un cambio en Firebase

  


Aplicación Web se conecta a la misma URL de Firebase y en tiempo real envía y recibe los datos del estado. 





El dashboard de Firebase





Diagrama esquemático 










CONTENIDO



  • CREAR UN PROYECTO EN FIREBASE
  • CÓDIGO APLICACIÓN MÓVIL ANDROID (JAVA)
  • CÓDIGO APLICACIÓN WEB (HTML/JAVASCRIPT)
  • INSTALANDO LIBRERÍAS NECESARIAS EN RASPBIAN
  • CÓDIGO APLICACIÓN RASPBERRY PI (PYTHON)