Progetto PicoNET - Week #1 📡

Progetto PicoNET - Week #1 📡

Le bischerate di Cris

Introduzione

Questo è il primo post che scrivo in questo nuovo "blog" che voglio portare in cui racconto le bischerate che creo. In questa serie settimanale prevedo di portare avanti un progetto che da tempo avevo in mente e che ho deciso finalmente di iniziare: PicoNet

PicoNET

PicoNet è il mio nuovo progetto, un esperimento che propone tecnologia moderna e forme di comunicazione non più in uso.

In questo progetto voglio scoprire le potenzialità del codice Morse come mezzo di trasmissione tra due dispositivi. Ho pensato al nome "PicoNet"¹ per le dimensioni compatte del microcontrollore utilizzato, il Raspberry Pi Pico W², ma anche la dimensione ridotta della rete, che deve essere semplice ma efficace.


Brainstorming 🧠

In questa prima settimana del progetto, ho trascorso del tempo a riflettere su cosa deve fare il sistema e sulle tecnologie che posso utilizzare.

Ecco alcune delle considerazioni a cui ho pensato durante questa fase iniziale:

  • Obiettivi del sistema: Il sistema PicoNET deve consentire la comunicazione bidirezionale alternata (half duplex) tra due Pico W utilizzando il codice Morse come mezzo di comunicazione e Internet come mezzo di trasmissione. Inoltre, voglio creare un'interfaccia web che funga da pannello di controllo, consentendomi di monitorare e interagire con il sistema in tempo reale.
  • Protocolli di comunicazione: Per facilitare la comunicazione tra i dispositivi e consentire l'integrazione con l'interfaccia web, ho pensato di utilizzare il protocollo MQTT e WebSocket. Ma perché proprio questi protocolli? Nel contesto di PicoNET, il protocollo MQTT è perfetto perché è molto usato nel mondo IoT. In breve: un broker MQTT centrale fungerà da intermediario per la trasmissione dei messaggi tra i dispositivi e l'interfaccia web, mentre il web server utilizzerà i WebSocket per aggiornare e inviare in tempo reale i dati. Nel mio precedente progetto sul sistema semaforico (trovabile qui), avevo utilizzato la tecnica del Short Polling, che si è dimostrata inefficace. Con questa tecnica, veniva inviata una richiesta al server ogni 250ms, ma i dati non venivano trasmessi in tempo reale, si creava solamente l'illusione di una comunicazione immediata. Pertanto, dopo aver studiato³ il funzionamento dei WebSocket, ho ritenuto che fossero la soluzione ideale per questo progetto.

Schematizzando il progetto, ho creato un diagramma generale che ne illustra la struttura. Si tratta di due Pico W, ognuno dotato di un buzzer per simulare i segnali acustici del codice Morse, beeeeep beep beep, e di alcuni LED. Uno dei Pico funge esclusivamente da client, mentre l'altro agisce sia come client che come host del web server. Ho scelto di chiamarli Dash e Dot per ora, poiché mi sembra un modo carino per far riferimento al contesto del codice Morse


Primo design dell'interfaccia web 🎨

Durante questa prima settimana, ho anche dedicato del tempo alla creazione di un primo design per l'interfaccia web.

L'obiettivo è sviluppare un'interfaccia intuitiva e funzionale che consente di monitorare e interagire con il sistema PicoNET in modo chiaro e efficace. Il design preliminare dell'interfaccia web include un display per i messaggi trasmessi in codice Morse, pulsanti per inviare comandi ai dispositivi Pico e una sezione laterale per visualizzare lo stato dei singoli dispositivi.

Mi piacerebbe utilizzare una libreria CSS come Bulma, Tailwind CSS oppure UnoCSS per creare un design retrò, ispirato ai vecchi terminali, perfettamente in linea con il tema del progetto. Tuttavia, poiché non ho una grande familiarità con nessuna di queste librerie, prevedo di impiegare più tempo nella realizzazione dell'interfaccia. Al momento, la sola libreria che ho usato finora è Bootstrap, ma non offre la flessibilità e la personalizzazione necessaria per ottenere l'aspetto che voglio.

Per ora questa è l'interfaccia che ho progettato:


Conclusione 🕒

In questa prima settimana di lavoro sul progetto PicoNET, ho compiuto significativi progressi nella progettazione e nello sviluppo del sistema. Mi sono divertito, per ora 😁

Ho dedicato un totale di 37 pomodori, corrispondenti a 15 ore e 25 minuti di lavoro più un altra oretta per scrivere questo articolo. P.S.: non sono pazzo, il pomodoro è una tecnica per la concentrazione, che uso spesso dato che è efficace. Qui il link di Wikipedia che spiega meglio questa tecnica

__________________________________________________________________

¹ non so se sarà il nome definitivo

² che per semplicità chiamerò da ora in poi Pico W

³ o meglio, "capito in modo generale"


Report Page