Durante la programmazione del NAO, ci siamo accorti che sarebbe stato molto utile un modo per coordinare le informazioni relative ai prodotti tra i vari behavior del programma. Da ciò nasce l’idea di implementare un database in cui inserire i prodotti.
Sorge tuttavia un problema: come implementarlo? Dopo averne discusso e aver considerato gli obiettivi della squadra e il tempo rimanente, abbiamo deciso di implementare un database JSON su GitHub, accessibile attraverso il modulo requests
, che era già incluso sul NAO, come prova di fattibilità.
Il database dei prodotti, pur essendo implementato in JSON, ha una struttura fortemente ispirata a un database SQL: ogni prodotto ha gli stessi campi (prezzo, disponibilità, posizione su scaffali…) dunque il database sarebbe facilmente trasformabile in righe e colonne.
Al database accedono sia i blocchi python che ritornano i campi dei prodotti, ma anche altri blocchi, come ad esempio un blocco custom di riconoscimento vocale che utilizza come parole riconosciute i prodotti dal database, senza che questi debbano essere manualmente cambiati nel codice del robot.
In conclusione, per evitare di dover modificare manualmente parti del codice ogni volta che si vuole aggiungere un prodotto, abbiamo implementato una soluzione scalabile e compatibile con un utilizzo reale del robot, in quanto riconducibile ad una procedura standard.
Lascia un commento