“TC2-BBS: Il Ritorno dei Bulletin-Board Systems con Meshtastic Radio”
Indice
Mettilo su Meshtastic Radio
Negli anni ’80 e ’90, si formavano comunità online intorno a piccole oasi digitali chiamate bulletin-board systems. Spesso gestiti dalle case delle persone e accessibili solo da una o due persone alla volta tramite modem dial-up, questi BBS permettevano alle persone di scambiare messaggi pubblici e privati, giocare e condividere file utilizzando semplici menu e un’interfaccia basata su testo. Oggi c’è un aumento di interesse nei BBS come modo per creare spazi digitali idiosincratici lontano dal bagliore delle grandi piattaforme di social media come Facebook, X e Bluesky. I BBS di oggi sono tipicamente accessibili tramite Internet, anziché connessioni dial-up. Ma il loro vecchio mojo autonomo è possibile grazie a una delle tecnologie radio più innovative: Meshtastic.
Infatti, questo articolo è davvero l’ultimo capitolo di quella che è diventata una serie accidentale che chiamerò “Scalare lo stack LoRa”. LoRa è apparso per la prima volta sul radar di Hands On nel 2020, quando gli appassionati hanno realizzato che il protocollo a lungo raggio e a bassa larghezza di banda aveva molto potenziale oltre le sole connessioni Internet delle cose tra macchine, come la costruzione di messaggeri di testo da persona a persona. Poi l’anno scorso abbiamo parlato dell’avvento di Meshtastic, che aggiunge capacità di rete mesh a LoRa, consentendo ai dispositivi di creare autonomamente reti wireless e scambiare dati su un’area molto più ampia. In quell’articolo, mi chiedevo che tipo di interessanti applicazioni potessero essere costruite su Meshtastic – e questo ci porta ad oggi.
Creato da The Comms Channel, il software open source TC2-BBS è stato rilasciato per la prima volta l’estate scorsa. Si tratta di un insieme di script Python che si basa su solo due librerie aggiuntive: una per comunicare con le radio Meshtastic tramite una connessione USB e una che aiuta a gestire il traffico dati interno. TC2-BBS non richiede molta potenza di calcolo perché i limiti di larghezza di banda bassa di LoRa significano che non gestisce mai molti dati contemporaneamente. Tutto questo significa che il codice BBS è molto portatile e può essere eseguito su qualcosa di poco potente come un Raspberry Pi Zero.
Il sistema BBS utilizza una radio WisBlock Meshtastic con un display di stato [centro sinistra e centro], che può comunicare senza fili utilizzando antenne LoRa e Bluetooth [in alto]. Un servo muove una bandiera fisica sotto il controllo di un Arduino Nano [centro destra e in basso], mentre un Raspberry Pi esegue il software Python BBS.James Provost
Il set di funzionalità attuale di TC2-BBS è minimo, sebbene sia in fase di sviluppo attivo. Non c’è alcuna opzione per condividere file, l’interfaccia è di base anche secondo gli standard BBS, e non ci sono “door games”, che permettevano ai visitatori di giocare a ciò che erano tipicamente giochi di avventura testuali a turni o giochi di strategia. D’altra parte, TC2-BBS ha alcune funzionalità dei più avanzati sistemi di bulletin-board del passato, come la capacità di memorizzare e inoltrare email tra gli altri BBS, simile alla rete FidoNet, che fiorì nei primi anni ’90 fino a quando non fu sostituita dall’Internet. E in un omaggio al capriccio dei door games, il sistema TC2-BBS ha un’opzione che consente agli utenti di chiedere un aforisma in stile fortuna, come il comando Unix fortune. E naturalmente, chiunque può accedervi in qualsiasi momento senza preoccuparsi di una linea telefonica occupata.
Ho installato il software su un Raspberry Pi 3 di scorta, seguendo le semplici istruzioni su GitHub. C’è un’immagine Docker, ma poiché stavo dedicando questo Pi al BBS, l’ho installato direttamente. Per l’hardware radio, ho collegato il Pi a un RAKwireless WisBlock, che esegue Meshtastic già pronto all’uso. Oltre a un’antenna LoRa, il WisBlock ha anche un’antenna Bluetooth che consente una facile configurazione della radio tramite un’applicazione per smartphone.
Il problema più grande è stato l’alimentazione: normalmente la radio WisBlock è alimentata tramite la sua connessione USB, ma il mio Pi collegato non poteva soddisfare le esigenze della radio senza attivare avvertimenti di bassa tensione. Quindi ho alimentato il WisBlock separatamente tramite un connettore normalmente riservato per accettare energia da un pannello solare.
Il Raspberry Pi invia e riceve dati seriali dalla radio WisBlock Meshtastic e invia impulsi tramite l’intestazione GPIO all’Arduino Nano quando viene aggiunto un post al database del bulletin-board. Quando il Nano riceve un segnale, solleva una bandiera fisica fino a quando non viene premuto il pulsante di resetJames Provost
Ho preso un Arduino Nano dal mio cassetto e l’ho collegato a un servo, un pulsante e al pin GPIO del Pi. Il Nano ascolta un impulso in arrivo dal Pi. Quando il Nano ne sente uno, muove il braccio del servo di 90 gradi, alzando una piccola bandiera rossa. Premendo il pulsante per riconoscere la bandiera, si abbassa nuovamente la bandiera di notifica e il Nano riprende ad ascoltare un altro impulso. Questo elimina la necessità di tenere il Pi collegato a un display, e posso controllare il nuovo messaggio tramite la mia radio HelTXT o lo smartphone.
Quindi per favore, se sei a New York City e hai una radio Meshtastic, passa dal nostro vecchio nuovo punto d’incontro digitale e lascia un messaggio! Per quanto mi riguarda, continuerò a salire lungo lo stack LoRa e vedrò se posso scrivere uno di quei door games.