Installiamo un Raspberry con schermo a LCD

Quale modo migliore per conoscere il Raspberry se non quello di aprire insieme la scatola del microcomputer appena ricevuto e di configurarlo insieme. E’ quello che abbiamo fatto al GULLi e che vogliamo riportare in questo blog. Un ringraziamento all’amico Marco C. che ha portato il suo Raspberry appena ricevuto e che ha condiviso esperienza e foto. Il modello utilizzato è il Raspberry Pi 3, quindi con un processore ARM Cortex A53 con quattro core ed un 1 GB di RAM. Il Pi 3 integra i moduli Bluetooth e Wi-Fi.
Il kit includeva anche uno schermo touchscreen LCD da 3.5″ con risoluzione 320 x 480 ed un case formato da parti in plexiglass ad incastro. Ne viene fuori una struttura che non sostituisce un case, ma che risulta piuttosto funzionale per proteggere e trasportare le parti assemblate. Il display veniva sorretto solo dal connettore GPIO a 40 pin ed è stato quindi necessario aggiungere dei tubetti di plastica rigida per supportare lo schermo. Oltretutto lo schermo è un touchscreen, la pressione del dito o dello stilo solleciterebbero particolarmente la connessione.

Tubetti in plastica rigida per sostenere il touchscreen da 3.5″

Per le prove iniziali è stata usato un monitor collegato alla porta HDMI del Pi 3.

L’acquisto includeva anche una MicroSD card da 8 GB che, allo stesso prezzo di una card normale, veniva fornita con NOOBS “New Out Of The Box” già installato, un software che permette la selezione di diversi sistemi operativi, il loro download e l’installazione, ottimo per iniziare, fare diversi esperimenti e comparazioni.

Il primo sistema operativo testato è stato LibreElec. Molto carino, buona grafica, guida l’utente nella configurazione, da consigliare per utilizzare subito il Pi 3 come Media Center. LibreElec è un sistema operativo ritagliato sull’applicativo Kodi e non permette molta interazione con il sistema operativo. Infatti l’ LCD non era supportato e non abbiamo trovato un sistema rapido per poterlo usare. Occorre dire che in effetti l’uso di un LCD in un Media Center non ha molto senso.

Per provare l’LCD siamo quindi passati a Raspbian. Per il cambio basta tenere premuto il tasto “shift” durante il boot e selezionare il nuovo OS. NOOBS provvederà a scaricare ed installare il sistema sempre sulla microSD.

Per far funzionare l’ LCD è stato necessario scaricare ed installare il driver ILI9486:

git clone https://github.com/Elecrow-keen/Elecrow-LCD35
cd Elecrow-LCD35
sudo Elecrow-LCD35

Una volta installato il driver, al boot successivo il display a LCD mostrava il desktop, mentre il monitor HDMI ancora collegato rimaneva fermo alla schermata iniziale.
Il touchscreen ha dimostrato di funzionare correttamente sia con le dita che con il pennino fornito in dotazione.

Note

Nell’attuale configurazione non è possibile usare lo schermo LCD insieme all’ HDMI, cosa che potrebbe fare comodo anche durante la configurazione del Pi 3 dove potremmo avere il terminale sul monitor grande e le applicazioni sull’ LCD.

Le prove sono state fatte collegando tastiera e mouse wireless tramite il loro adattatore USB, sicuramente da installare una “on-screen keyboard”.

Riferimenti:

[1] https://it.wikipedia.org/wiki/Raspberry_Pi#Raspberry_Pi_3
[2] https://github.com/Elecrow-keen/Elecrow-LCD35

Dillo al (ro)”BOT”

Telegram è un applicazione di messaggistica gratuita che si sta facendo strada grazie alla sua versatilità. Fra le sue molte funzioni, ogni utente ha la possibilità di scrivere un “bot”, un “robot” che risponde automaticamente ai nostri comandi. Le applicazioni sono veramente molte, dalle risposte pre-configurate, alla ricerca di informazioni, alle interrogazioni di database, al controllo di dispositivi remoti. Per chi si fosse perso la presentazione del nostro Alessio “Marge”, riepiloghiamo qui alcune informazioni per iniziare a conoscere i “bot” di Telegram.

Dal punto di vista logico, un utente Telegram manda un messaggio ad un “bot” così come scrive ad un altro utente. Le richieste o comandi iniziano con “/” seguito dal comando conosciuto, es. “/aiuto”. Il  server di Telegram provvede ad inoltrarlo al nostro applicativo che nel frattempo è in attesa di comandi a cui rispondere. La risposta del “bot” ritorna al server che provvede a restituirla all’utente.

Il Bot appare come un utente e come tale può partecipare ad un gruppo. In questo caso il comando e la risposta appariranno a tutti i membri.

Dal punto di vista fisico, il “bot” è un programma scritto in uno dei tanti linguaggi supportati che potrà essere eseguito su un qualsiasi computer connesso alla rete. Chiaramente il nostro bot dovrà essere in esecuzione quando arriveranno le richieste, un server sempre attivo è quindi necessario. Ma per fare le prime prove sarà possibile eseguirlo anche sul nostro computer di casa.

Un bot è composto da un loop infinito che, dopo la dovuta inizializzazione, inizia con una chiamata ad una API (Application Program Interface) disponibile sul server Telegram. La chiamata non terminerà fino a quando un utente non invierà un comando (o fino allo scadere di un timeout, per evitare attese infinite). La risposta alla chiamata sarà una struttura JSON con il testo del comando e con altre informazioni utili a formulare la risposta. Il bot dovrà quindi preparare e spedire la risposta al server e quindi ritornare ad accettare altri comandi.

In altre parole, è il bot che si collega al server di Telegram per offrire i propri servizi.

Il tutto viene ovviamente eseguito dopo una registrazione del bot e la fornitura di una chiave di sicurezza che permette la dovuta autenticazione del servizio.

Un esempio lo potete trovare sul repository GitHub del GULLi. Si tratta del bot ufficiale del GULLi (realizzato da Alessio Margelli) che al momento restituisce le date dei prossimi eventi e le informazioni del bot stesso.

Il controllo di dispositivi tramite un bot

Il processamento del comando avviene quindi su un computer dell’utente, ovunque esso sia. È facile quindi pensare ad un codice che, prima di rispondere al comando, esegua un’azione per controllare un dispositivo, es.:

  • Controllare un dispositivo collegato (immaginiamo un Raspberry-PI)
  • Inviare un comando seriale ad un modulo Arduino
  • Inviare un messaggio in rete
  • Inviare un comando Bluetooth
  • etc….

Il GULLi è disponibile per supportare gli sviluppi di nuove idee che vogliano utilizzare i bot e Linux. Puoi contattarci qui.

Domotica con Arduino

Durante il Talk About Linux dedicato ad una delle nostre piattaforme di sviluppo preferite, Arduino,  abbiamo potuto apprezzare la grande potenzialità del sistema: la fusione di delle tecnologie presentate, hanno dato vita ad un sistema di controllo a distanza, in perfetto stile Internet Of Things ovvero: internet delle cose.

La serata è stata condotta dal Socio Alessandro Marzini il quale ha preparato una dimostrazione per cui è stato possibile ammirare delle schede Arduino che “parlavano” tra di loro mediante la comunicazione “Wireless” trasmettendo dati ambientali rilevati da alcuni sensori equipaggiati nelle schede.

Leggi tutto Domotica con Arduino