[cat] En el laboratori d’electrònica de la EPS es desitja realitzar una instal·lació de taquilles per custodiar el material que empren els alumnes per a les seves pràctiques. La obertura de cadascuna de les taquilles es farà de manera remota i automatitzada. Per a la obertura de les taquilles s’accedirà a una pàgina web amb autenticació d’usuari mitjançant LDAP, un cop autenticat i autoritzat aquest podrà procedir a la obertura de les taquilles que tingui assignades mitjançant el mateix aplicatiu. El sistema es comunicarà amb la Raspberry, responsable de la interacció amb el hardware ja desenvolupat.
Aquest projecte té com a objectius desenvolupar el software i documentació necessaris per al complet funcionament del sistema de taquilles. Això implica desenvolupar un projecte full-stack on és proveirà una aplicació web que servirà d’interfície als usuaris per interactuar amb el sistema de manera intuïtiva i senzilla, una aplicació de servidor que s’encarregarà de gestionar totes les dades que facin falta; les consultes, altes i baixes al SGBD així com les peticions al microcontrolador que enviarà les ordres corresponents al hardware, i un aplicatiu per al microcontrolador per gestionar les peticions que pugui fer el software de back-end per obrir una taquilla.
La solució s’ha dissenyat i desenvolupat amb una mentalitat de “escalabilitat primer” ja que ha estat pensada per configurar tants de taquillers com es desitgin, així com la possibilitat de creació de noves interfícies de comunicació amb ell; ja siguin aplicacions mòbils, aplicacions d’escriptori o inclús altres dispositius puguin interaccionar amb ell, referint-me a nous HID o dispositius IoT.
Per això, en la etapa de disseny del software s’han tractat les tres parts esmentades com a mòduls petits i independents aplicant disseny descendent entre tots els components de la solució: La aplicació web és una SPA la qual obté totes les dades que serveix a través de cridades AJAX i per tant és totalment independent de l’arquitectura de servidor web que la serveixi, l’aplicació de back-end s’ha plantejat com una aplicació Web API que podrà ser consultada des de qualsevol tipus de dispositiu amb connexió a la xarxa, el software de control amb la Raspberry ha estat desenvolupat mitjançant WebSockets per tal de gestionar les peticions d’obertura de taquilles en temps real5, 6 i els scripts que gestionen els pins GPIO de la Rasbperry han estat desenvolupats de manera més simple i senzilla possible, fent que siguin fàcils de replicar.
A més a més, s’ha considerat adequat aprofitar la ocasió per aportar també un sistema d’inventari de plaques; per tenir un seguiment d’on es troben les plaques en tot moment i saber quines es donen de baixa per possibles averies, un sistema de sol·licituds de material extra que permet als usuaris de la plataforma demanar als tècnics de laboratori per material extraordinari, que típicament no es trobaria ubicat a les taquilles així com soldadors, interfícies de comunicació sèrie o cables ethernet, per llistar-ne uns quants; i així tenir un seguiment de qui té cada cosa, quan es va cedir, si es va cedir, quan s’ha retornat o si un usuari no ha retornat el material en bon estat.
La solució és extrapolable a qualsevol tipus de sistema similar a aquest: des de caixes fortes, altres taquilles amb material escolar, portes automatitzades o qualsevol entorn on volguéssim limitar l’accés a persones no autenticades o no autoritzades a certs recursos de manera automatitzada.