Home » Teacch-Fi

Teacch-Fi

Novedades:

Disponible primera versión beta del simulador bajo Windows del tablero. A lo largo de hoy iremos documentandolo.

El viernes antes de comenzar se tendrá una reunión para resolver colectivamente y posteriormente individualmente tantas dudas como tengáis.

 

Link al video: https://youtu.be/-vfcCDwkgrQ

Como habrás visto en el vídeo, somos un grupo de investigadores apasionados por Arduino y los sistemas de aprendizaje que hemos fabricado un tablero electrónico con pictogramas RFID (llamado “Teacch-Fi”), útil para chavales con necesidades especiales.

Teacch-RFID y app ejemplo en eTopia

Pero ahora nos vendría muy bien un impulso “software” para construir un “motor” que permita que, tanto logopedas como educadores, puedan crear contenidos para motivar y reforzar el aprendizaje de los chavales.
“Teacch-Fi” es un nuevo tablero con tecnología NFC para interactuar y comunicarse con el ordenador, el móvil o la Tablet. Se trata de un sistema muy manejable que, gracias a la realidad aumentada, permite afianzar procesos cognitivos y manipulativos, utilizando pictogramas u objetos de la vida real.
IMG_20170323_082254

Se basa en tarjetas o fichas tangibles que representan un pictograma.  Cada ficha lleva una etiqueta RFID del tamaño aproximado de una moneda de euro. Las etiquetas tienen un identificador UID único y una cierta cantidad de memoria disponible (por ejemplo en ntag213 unos 144 bytes) leíble por NFC.

Respecto a otros métodos de comunicación aumentada tangible basados en reconocimiento por visión artificial, RFID tiene la ventaja de su fiabilidad, no sufriendo problemas por oclusiones, cambios en iluminación, etc. Además, gracias a la generalización de NFC, el precio de los lectores y de etiquetas ha bajado mucho.

Respecto a otras aplicaciones y motores de actividades educativas, ya existentes, el necesitar un objeto real puede suponer una limitación. Así mismo la forma de interactuar con la aplicación software es muy distinta a usar los gestos típicos del ratón o del dedo para señalar, arrastrar, etc.

Por ello buscamos nuevas ideas para sacar el máximo partido a este tablero lector. Creando o adaptando motores de juegos que permitan a los educadores definir actividades multimedia. La herramienta para generar actividades debe ser fácil y cómoda de usar ya que son pedagogos y logopedas los usuarios potenciales.

Existen multitud de contenidos educativos disponibles con formato abierto, en especial nos gustaría destacar el Portal Aragonés de la Comunicación Aumentativa y Alternativa y #SoyVisual. En estos portales hay mucho material pictográfico junto a herramientas software para su puesta en valor. En #SoyVisual hay disponible gratuitamente una app para Android con muchas actividades que que pueden servir de ideas. Se valorará la facilidad para integrar ese material que ya conocen los educadores en la herramienta.

El motor de actividades debería ser capaz de funcionar bajo distintas plataformas, especialmente PC bajo Windows y Tablets con Android.

En resumen, los criterios de valoración son:

  • Creatividad en las posibilidades de uso del tablero lector Teacch-FI
  • Motor multiplataforma: PC, Smartphone, Tablet
  • Facilidad de uso por pedagogos y logopedas, que son los que construirán posteriormente las actividades sobre el motor desarrollado
  • Puesta en valor e integración de medios multimedia preexistentes y novedosos.

Otros aspectos a considerar son:

  • Uso de contenidos multimedia, imagen, sonido, videos, animación 3d, realidad aumentada, etc
  • Actividades basadas en lenguajes de descripción (por ejemplo LUA, JS, XML, etc)
  • Conocimientos pedagógicos y de educación especial
  • Compatible con ayudas de accesibilidad del sistema operativo (movilidad reducida, visión reducida, etc.)
  • Seguimiento y distinción del progreso del alumno
  • Uso de servidores web y bases de datos.
  • Nuevas propuestas e ideas para sacar partido a este dispositivo.

Nos gustaría que, gracias a la solución de este reto, en el futuro fuera muy fácil añadir contenidos multimedia, vistosos y gratificantes, que hagan el aprendizaje y, en definitiva, la vida, más fácil para estos chavales.

 

Aspectos técnicos del Teacch-Fi

IMG_20170323_082614_retEl lector Teacch-Fi dispone en la versión actual de 7 bahías con 7 lectores MFRC522. El corazón del sistema es un NodeMCU con el popular ESP8266. Al aproximar la ficha a una de las bahías del lector, el tablero Teacch-Fi lee el UID y envía por wifi la bahía y el UID. Cuando se quita se envía la bahía y un cero, indicando que ya no hay ficha. La comunicación se realiza por TCP si están en la misma LAN o por el protocolo MQTT con un bróker si están en redes wifi aisladas o en redes distintas.

IMG_20170323_082638

MQTT

El protocolo de comunicaciones sobre MQTT se basa en Suscripción (SUB tópico) y Publicación (PUB tópico , mensaje) en un canal de un bróker con diferentes temas o tópicos.

El protocolo tiene 3 funciones, descubrimiento, control sobre el dispositivo y actualización de estado.

Cada tablero tiene un nombre identificador único en su dominio. Previo a la comunicación el tablero (denominado por ejemplo “ID_dispositivo”) está subscrito a un determinado tópico raíz que denominaremos dominio, por ejemplo “/100ideaszgz”, y a su tópico sobre el que recibe los mensajes de control (compuesto por: dominio + “/ID_dispositivo” + “/control”).

(tablero) SUB “/100ideaszgz”
(tablero) SUB “/100ideaszgz /ID_dispositivo /control”

Por su parte los clientes deben a su vez subscribirse al dominio.

(tablero) SUB “/100ideaszgz”

Cuando un cliente quiere descubrir a los posibles tableros en su dominio publicara en el dominio el mensaje “HELLO”.

(cliente) PUB “/100ideaszgz” , “HELLO”

El mensaje llega a todos los elementos subscritos al dominio /100ideaszgz y todos los tableros contestaran con su nombre identificador de dispositivo.

(tablero) PUB “/100ideaszgz” , “ID_dispositivo”

El cliente debe elegir entre los tableros disponibles suscribiéndose a su tópico de actualización de estado para observar los cambios.

(cliente) SUB “/100ideaszgz/ID_dispositivo/status”

Tras este handshake y cruce de mensajes con el bróker ambos dispositivos quedan enlazados.

Cuando por ejemplo queremos que el tablero cambie el color de un led, el cliente le enviará un comando de control. En este ejemplo le dira que el led de la bahía 2 queremos que sea blanco (en formato HTML Color Codes).

(cliente) PUB “/100ideaszgz/ID_dispositivo/control” , “L;2;#ffffff”

Al recibir este mensaje el tablero cambiara el color del led y publicara el cambio de estado.

(tablero) PUB “/100ideaszgz/ID_dispositivo/status” , “L;2;#ffffff”

Llegando dicho mensaje a todos los clientes subscritos a ese tablero (en caso de haber más de uno).

La publicación de que se ha puesto una tarjeta por ejemplo en la bahia 4 seria:

(tablero) PUB “/100ideaszgz/ID_dispositivo/status” , “C;4;b0b0f0f0”

Protocolo Dispositivo

El tablero es capaz de aceptar diversos comandos y de comunicar diversos cambios de estado. Para ello sigue un protocolo simple. De cara al hackathon se han seleccionado un subconjunto mínimo de comandos.

El protocolo se basa en strings en ASCII con comandos y parámetros separados por “;”.

INQUIRY

La app puede mandar el comando de pregunta al dispositivo para que se identifique enviando:

(cliente) PUB “/100ideaszgz/ID_dispositivo/control” ,  “I”

La respuesta del tablero es un string conteniendo: “I;versión;tipo;nombre;#bahias;#leds;#pulsadores;IP;puerto_TCP”. Por ejemplo:

(tablero) PUB “/100ideaszgz/ID_dispositivo/status” , “I;0.8;Simulador;SimuladorTeacch;7;7;0;192.168.1.1;5045”

LEDS

Si la app quiere modificar el color de un led enviara el comando “L” seguido del número de led y del color en formato típico html, por ejemplo:

(cliente) PUB “/100ideaszgz/ID_dispositivo/control” ,  “L;2;#ffffff”

A lo que el tablero modificará el color y contestara con el cambio de estado:

(tablero) PUB “/100ideaszgz/ID_dispositivo/status” , “L;2;#ffffff”

CARDS

Al poner o quitar una tarjeta en el lector el lector comunica el evento por su canal de estado indicando “C”, #bahia y UID en hexadecimal en minúsculas de la tarjeta al ponerla, cero al quitarla:

(tablero) PUB “/100ideaszgz/ID_dispositivo/status” , “C;4;b0b0f0f0”

(tablero) PUB “/100ideaszgz/ID_dispositivo/status” , “C;4;0”

Simulador

El simulador bajo Windows del tablero es muy simple de usar. Básicamente sigue el protocolo descrito. Permite configurar el broker y otros parámetros de red.

Podéis encontrar más información sobre el en:

 http://webdiis.unizar.es/~ktm/teacch-fi/simulador-teacch-fi/

Software similar

Existen multitud de propuestas software, tanto de dominio público como de pago. Por nombrar algunas:

Grid3: Aplicación de referencia

Boardmaker: permite crear y jugar online y en iPad

Podeis encontrar más ideas en:

http://informaticaparaeducacionespecial.blogspot.com.es/