→
Parte 1Han transcurrido 5 meses desde la redacción del último artículo, desde entonces se finalizó el firmware, y ahora las estaciones funcionan de manera aún más confiable, y los chips baratos tienen 92 marcas, lo cual es suficiente para satisfacer casi cualquier fantasía de directores. También probó con éxito el sistema en competiciones.
Cuando escribí la última vez, solo se ensamblaron 15 estaciones, el sistema se probó solo en el laberinto deportivo local, y la próxima tarea de probar en competiciones más masivas y autónomas, que era la
"Segunda Luz de Moscú" , estaba por delante. Estas son competiciones de orientación turística de dos días con estadía obligatoria de una noche y total autonomía de los participantes. Solo 41 puntos de control, una gran cantidad de opciones de tráfico, la distancia total fue de 55 kilómetros en línea recta. Participaron alrededor de 150 participantes. Todo esto planteó un serio desafío para el sistema de marcado.
En primer lugar, era necesario soldar otras 25 estaciones. No quería hurgar con el botín y la fotorresistencia a tal escala, así que ordené la fabricación en China. Resultó ser muy económico y muy conveniente. Se volvió mucho más agradable de soldar con tablas prefabricadas, y había menos matrimonio para salir, los pañuelos se veían verdes y bastante limpios. Es cierto que todavía tenía que jugar y pasar varios días de descanso. Ahora estoy pensando en una mayor automatización, utilizando plantillas y pasta de soldadura.

No cambié las etapas posteriores del ensamblaje, también pegué las placas a la caja a través del LED y lo llené con un compuesto. Estaba seco en las competiciones, por lo que no pude probar la supervivencia de las estaciones durante la lluvia, pero las pruebas preliminares de varias estaciones en la naturaleza bajo diferentes condiciones climáticas aún no han revelado la inestabilidad del agua. Además, pego tiras reflectantes en la carcasa y la sujeta con un cable de acero con clips.

El firmware ha sufrido varios cambios. Se implementó la capacidad de registrar números de estaciones marcados con chips debido a la memoria interna EEPROM del microcontrolador. Si asigna una dirección a cada bit, hay suficientes para 6000 números de chip. Esto es necesario en caso de resolución de cualquier fuerza mayor, por ejemplo, la búsqueda de un participante perdido, bueno, y para resolver casos en disputa. Hasta ahora, solo hay suficiente memoria para registrar el hecho de la marca, el tiempo de la marca no se registra. En el futuro, con el desarrollo del sistema, estoy pensando en agregar un chip de memoria EEPROM separado para este propósito.
Como el sistema está abierto y todas las especificaciones son accesibles para todos, alguien puede grabar cualquier chip maestro utilizando un dispositivo NFC. Existe la posibilidad de vandalismo - reprogramación de estaciones instaladas. Y aquí, a diferencia de si la estación simplemente se rompiera, se puede introducir un error en los resultados, lo cual es difícil de notar. Para protegerse contra este fenómeno, se introdujo un sistema de contraseña. También se agregó la capacidad de configurar la estación, el uso de estaciones de inicio y finalización. En este modo, la estación de inicio solo aceptará chips limpios, otras estaciones responderán al chip solo con una marca en la estación de inicio, y después del final, el chip ya no se marcará en otras estaciones antes de la limpieza. Esto evitará errores molestos y accidentes.
En las competiciones en sí, se utilizó una versión antigua comprobada del firmware con la capacidad de grabar en chips de hasta 46 marcas, lo cual fue bastante satisfactorio para la competencia. Pero desde entonces, la posibilidad de aumentar la densidad de grabación ya ha sido probada. La principal preocupación era la necesidad de sobrescribir los datos de la marca anterior al grabar marcas pares, ya que la escritura en el chip se realiza en bloques de 16 bytes. Pero, las pruebas mostraron la fiabilidad de la grabación, todavía no pude detectar el error, no importa cuán torcidamente haya aplicado el chip. Además, los datos grabados se cifran
con un código Hamming en dos bloques de 4 bytes, lo que también aumenta la fiabilidad del sistema.

La puerta de enlace desde entonces ha cambiado significativamente. Se decidió ir en la dirección de la simplificación, ahora la estación consta de un Arduino Nano, un módulo RFID, un LED, un tweeter y un par de resistencias. También pedí una bufanda de China, pero no calculé un poco el tamaño, así que me metí en el caso con dificultad.

La opción resultó ser bastante conveniente. La estación está conectada a la computadora a través de USB. La transferencia de datos ocurre a través del puerto COM. Para su uso, debe colocar el chip en la estación y enviar un comando según el propósito: leer el chip, borrar el chip, actualizar la hora en la estación, etc.
Para automatizar el proceso de trabajar con el sistema, se escribió un programa en el entorno de programación de procesamiento. Dio la casualidad de que el entorno resultó ser muy fácil de aprender y usar después de Arduino, aparentemente debido a su afinidad. Es cierto, el programa fue escrito muy desordenado, las muletas están en todas partes y el código está tan torcido que yo mismo apenas entiendo ahora qué está sucediendo dónde. Pero funciona, la interfaz es bastante simple:

El programa le permite configurar estaciones, grabar, leer resultados, procesar para diferentes tipos de competiciones por separado para grupos y distancias. La configuración, la introducción de protocolos y las distancias se realizan manualmente en archivos csv separados. Los resultados calculados también se exportan como una tabla csv. Sí, a este respecto, todo sigue siendo primitivo, pero el programa hace frente a la tarea principal. En competencias anteriores, el programa nos permitió calcular en tiempo real los resultados que transmitimos en un monitor externo para la conveniencia de los participantes.

Las pruebas del sistema, así como las competiciones en sí, tuvieron éxito. Las 40 estaciones funcionaron correctamente durante dos días, los resultados se obtuvieron inmediatamente cuando llegaron los participantes. Probablemente el software es actualmente el sistema más estrecho. Ahora estoy ocupado con otro proyecto, pero creo que después del año nuevo me ocuparé de este problema, quiero aprender Qt como primera aproximación y hacer un programa más conveniente en él. Pero si alguien está interesado en crear software o soporte sportiduino en el existente, estaré encantado de cooperar.
También existe una capacidad alternativa para trabajar con el sistema a través del teléfono con Android que funciona con NFC. Puede leer y escribir chips, programar estaciones sin usar una computadora, lo que puede ser especialmente conveniente en el campo.
El proyecto existe sobre los principios de Open Sourse. Todos los esquemas de firmware están disponibles en
Github . Allí, en la wiki, se recopilan instrucciones detalladas sobre el ensamblaje y los principios del dispositivo del sistema, hay un manual general en formato pdf en la raíz del repositorio. Quienes lo deseen pueden crear su propia copia del sistema, así como realizar cambios en el diseño y el software. Estaré encantado de comentarios.
Tengo la intención de seguir desarrollando el proyecto en este sentido. En primer lugar, debe crear un software normal. En cuanto a los circuitos, también hay planes de desarrollo, quiero hacer un dispositivo más compacto, soldar todo el circuito en una placa, agregar memoria adicional y alimentar todo desde CR123.
Expreso mi gratitud a Sergey Titov, Ilya Arkhipovsky y Dmitry Fedotov por una serie de ideas y comentarios valiosos. También agradezco a la comunidad geektimes y a todos los interesados. Sus comentarios, ideas y apoyo han jugado mucho en el desarrollo del proyecto.