Projecto contaje electrónico

xxx El dispositivo aquí descrito se realiza como prototipo de prueba de concepto en cuanto a:

  • Consumo y duración de batería
  • Funcionalidades
  • Estabilidad

No se evalua:

  • La resistencia física en el entorno en que se operará
  • La capacidad de lectura rápida de las tarjetas rfid en caida (eso se heredará de los dispositivos actuales)

Objetivo

  • Disponer de una versión del contaje RFID más robusta y confiable
  • Con facilidad de modificaciones, sin necesidad de un toolchain complejo.

Funcionalidades esperadas

xxx 1. Duración de 10 horas encendido en todos los nodos Énfasis en la activación sólo de los módulos electrónico necesarios durante el mínimo tiempo posible.

2. Lectura de tarjetas RFID en todos los nodos

3. Botón/es robusto/s para contajes manuales en todos los nodos

4. Keypad para introducción de información en nodo central (valorar en todos para facilitar contaje e igualar hardware)

5. LCD para feedback del usuario en todos los nodos

6. Baterías estándar (18650 / móvil estándar / etc.) en todos los nodos

7. 1 Nodo central para cada equipo de trabajo

8. Agilidad en el cambio de configuración

9. Gestión remota (visualizar el estado, cambiar parámetros, ejecutar envio de información, reiniciar, etc.) en todos los nodos, a través del nodo central

10. Localizable con GPS en nodo central

11. Conexión GPRS / GSM en nodo central

12. Conexión ethernet en todos los nodos

13. Capacidad de retención de datos durante toda una campaña

14. Sistema antivandálico de apagado por parte de personas no autorizadas.

15. Envio de información automático a intervalos regulares

16. Envio de información a petición del operador.

Componentes para prototipo

Estructura alto nivel

Conexión entre nodos

El nodo central se conecta inalámbricamente a cada uno de los nodos asociados

  • En prototipado, la tecnología inalámbrica debe ser cambiable fácilmente.
  • Dos equipos cercanos no deben cruzarse datos. Un nodo asociado a un nodo central no enviará nada a otro nodo central.

La asociación de equipos se hace en oficina y remótamente

  • El nodo central sabe qué equipos debe esperar tener activos
  • Los nodos asociados deben saber a qué nodo central deben asociarse
  • Remótamente también se han de poder cambiar esas asociaciones

Conexión con GPS

Según la tecnología actual

Autonomía de funcionamiento

Los nodos son capaces de trabajar de manera autónoma

  • Si no pueden enviar datos al equipo central, deben retenerlos hasta una campaña entera como mínimo.

Marca de tiempo

La hora del nodo central se capta de gprs y la pone a disposición de los nodos asociados

  • La hora de los mismos debe comprobarse visualmente al preparar los dispositivos, a través del lcd incorporado (a demanda del operador)
  • Si no es correcta, mandar comando de resincronización con la hora del módulo central.

Información almacenada

Cada registro generado por el dispositivo tiene, como mínimo:

  • GUID de dispositivo (no el número asignado, si no de la propia placa)
  • Identificación secuencial unívoca para cada registro (necesario para evitar que ajustes de hora interrumpan la secuencia)
  • Una marca de tiempo utc (p.ej. unixtime) (no relativo al encendido, si no obtenido del rtc)
  • Identificación funcional del nodo central asociado
  • código de tipo de registo (1-dato de batería, 2-acción del usuario, 3-detección de tarjeta, 4-inicio en sucio, 5-indicación de código de calca, etc.)
  • resto de campos asociados al tipo de registro (1 o más)
  • finalmente un "$" + CRC del registro entero (previo al "$")

La información se almacena en la SD, utilizando una FRAM como cola de dato pendiente (por tener la SD un alto consumo)

Un archivo sólo puede tener los registros generados en un dia.

  • Habrá un fichero especial que contendrá aquellos registros que no tengan una fecha correcta asociada, siempre manteniendo el secuencial del dispositivo.

Tipos de registros

  • identificación de tarjeta pasada
  • Nivel de batería
  • Estadística de envio de datos a nodo central (para evaluar conexión inalámbrica)
  • Indicación de calca
  • Indicación de línea
  • Indicación de turno
  • Estado de los módulos internos
  • Actualización de hora (evento con hora actual y hora obtenida)
  • Alarma - inicio sin apagado 'limpio' (durante la transmisión de datos gprs, etc.)
  • Inicio del sistema

Flujo de datos

  • Cada registro se guarda en la FRAM asociada
  • Cada X tiempo, el contenido de la FRAM se descarga en la tarjeta SD del equipo
  • Entonces la información de la FRAM se invalida.
  • Cada x*k tiempo, un proceso en cada nodo asociado debe tratar de enviar la información de la tarjeta SD al nodo central.
  • En algún momento del final de la jornada el operador hace un "envio" de datos a la empresa.
  • Las acciones de envio y recepción de datos han de ser idempotentes.

Interfaz de usuario

  • La visualización se hace mediante un LCD 84x84 nokia (bajo consumo)
  • Habrá un key pad 4x4 para el nodo central.
  • el backlight se encenderá según la información de la luz ambiental.

Interacciones previstas

  • Introducir el número de autobús ( se debe poder indicar en cualquier momento )
  • Introducir el número de turno ( en cualquier momento )
  • Introducir el número de línea ( en cualquier momento )
  • Inicio de encuesta
  • Fin de encuesta (lanzar procesos de cierre)
  • Avería, ida a cochera
  • Inicio de largas
  • inicio de limitadas
  • Botones decontaje (robusto para uso continuado) Por ejemplo, uno de subidas y otro de bajadas.
    • Ha de ser ergonomicamente fácil de usar.

Datos a visualizar

  • Mostrar el estado del sistema ( OK/KO en nodos, niveles de batería, gps, etc.)
  • Mostrar en grande el número del nodo central y al lado los modulos asociados (un simbolo ok o ko parpadeante al lado de cada uno)

Introducción de datos

  • Utilizar navegación por menús o por códigos (p.ej, introducir código de bus: *1#, etc.)
  • preferiblemente por menús, aunque se reservan códigos para datos que se pueden solicitar telefónicamente.

Catálogo de funciones del código

FlushCache
Envia el contenido de la caché de registros a la SD e invalida esos datos.

SynRTC
* Actualiza el RTC con el dato de GPRS o GPS

  • No ha de ser bloqueate

GetUnixt
* Obtiene la hora Unixt

  • para generar registros
  • para mostrar hora en display

GenRFIDreg
* Genera los registros RFID con las lectura encoladas (pool con intérvalo pequeño)

  • Y lo grava a la caché de registros

GetGUID
Obtiene el GUID del dispositivo

GetNewSeq
Obtiene un número de secuencia de registro.

Local para cada dispositivo