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 (NFC, comunicació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
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
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)
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.