[Homepage]

[Scuola 22]

[Scuola 23]

Bluetooth LED banner

Obiettivo: creare un banner di visualizzazione di stringhe inviate tramite protocollo bluetooth da una webapp.

Il software parte dalla realizzazione dell'interfaccia web grazie alla quale sarà possibile comandare il banner utilizzando HTML, CSS e JavaScript.

Si passa, in Python (con framework Flask), alla creazione di un web server che permetta di:

GitHub

Progetto un font per il display coerente al progetto della mappatura: trasformando il disegno (realizzato con il programma PixeltoMatrix) di ogni lettera in un array di byte da inserire nel programma Arduino. Ogni byte rappresenta una riga del display.

Esempio con la lettera A:
const byte c_a[8] = {0x3C, 0x7E, 0xC3, 0xC3, 0xFF, 0xFF, 0x81, 0x81};

Byte (hex) Riga visualizzata (bin)
0x3C00111100
0x7E01111110
0xC311000011
0xC311000011
0xFF11111111
0xFF11111111
0x8110000001
0x8110000001

Il fulcro è la codifica Arduino di un programma che possa ricevere le informazioni attraverso canale seriale Bluetooth e possa gestire la LED board.

Il codice si struttura nelle seguenti parti:

Bisogna scollegare il modulo bluetooth durante il caricamento del codice sull’arduino perché altrimenti si intercorre in errori.

GitHub

Implemento il circuito in foto.

Configuro nel terminale Linux il collegamento bluetooth con il seguente comando:
sudo rfcomm bind 69 98:D3:21:FC:84:80
Così so che il file virtuale di collegamento al mio modulo bluetooth per il mio sistema operativo si chiama rfcomm69.

Implemento nel server una classe Banner. È importante impostare l’attributo __port a /dev/rfcomm69, così da connettere Python alle API del sistema operativo che spediranno stringhe in seriale.

Eseguo il server e let’s go!