Utilizziamo Orange Pi 3 LTS per realizzare una cornice smart con Magic Mirror, per visualizzare tantissime informazioni
Andiamo finalmente ad adoperare il nostro Orange Pi 3 LTS per realizzare un progetto smart e adatto ad ogni casa. Installeremo sulla nostra single-board computer il software Magic Mirror, un progetto Open Source, per trasformare qualsiasi TV o monitor in un device smart con tantissime funzionalità. Il progetto richiedi un minimo di conoscenze su piattaforma Linux e Python, tuttavia con una buona dose di pazienza diviene alla portata di tutti.
Progetto
Il progetto nasce dal desiderio di avere in casa un dispositivo originale, dal design minimale e pratico, che fornisca informazioni su meteo, fasi lunari, notizie e tanto altro. Non abbiamo voluto investire troppo denaro per questo progetto, infatti molte della componenti che adopereremo sono usate o già in nostro possesso. Abbiamo, poi, optato per riutilizzare una vecchia pedana di legno per realizzare la cornice (coprendo con stucco alcune imperfezioni e tingendo di impregnante per legno per un effetto più gradevole) e un vecchio monitor da 21″ che avevamo messo da parte, a cui abbinare una staffa da muro, anche questa già in nostro possesso, per fissare a parte tutto.
Confessiamo già da subito che il risultato finale non è perfetto, in quanto non disponevamo degli strumenti adatti per ottenere un lavoro professionale, ma non essendo artigiani, reputiamo lo stesso soddisfacente il nostro lavoro. Il cervello di tutto sarà il già citato Orange Pi 3 LTS, recensito già su questo sito, su cui abbiamo installato il sistema operativo Armbian, a cui abbiamo aggiunto qualche personalizzazione. Non spiegheremo qui come installare il sistema operativo, visto che è un lavoro che abbiamo affrontato in questo articolo [LINK].
Componenti
Oltre alle già citate componenti, abbiamo utilizzato un alimentatore da 12V e un DC-DC da 12V a 5V e 3A per alimentare la single-board computer. Poiché il monitor non è dotato di porta HDMI, abbiamo recuperato anche un cavo HDMI-DVI per collegarlo al monitor. Come detto sopra, per realizzare la cornice abbiamo adoperato una pedana di legno, ricavando le parti che ci servivano per realizzare la cornice. Abbiamo, quindi, acquistato viti, squadre a L, colla vinilica, carta abrasiva e impregnante per legno. Abbiamo usato viti filettate e nastro biadesivo per fissare alimentatore e l’Orange Pi 3 LTS al posteriore del monitor, mentre per alimentare il monitor abbiamo giuntato i cavi che arrivano all’alimentatore dal lato dei 240V.
Sarebbe bene farsi aiutare da chi è competente per effettuare questo lavoro, in quanto lavorare con i 240V in corrente alternata, non è cosa da prendere troppo alla leggera. Vi lasciamo la lista delle componenti che potete sicuramente utilizzare.
- Orange Pi 3 LTS: https://amzn.to/3Xw2pUl
- Alimentatore 12V 5A: https://amzn.to/3H6mewc
- Dc-DC 12V 5V 3A: https://amzn.to/3QHvgmq
- Staffa Monitor 19″-32″: https://amzn.to/3QJORST
Installare Magic Mirror
Partiamo come sempre aggiornando il sistema operativo, quindi apriamo il terminale sul nostro Orange Pi 3 LTS oppure lavoriamo semplicemente da PC adoperando PuTTY:
sudo apt update && upgrade
Dopo gli aggiornamenti, andiamo ad installare il browser Chromium, digitando:
sudo apt install chromium
Andiamo ora ad installare Node.js & NPM. Node.js è una runtime JavaScript, mentre NPM (Node Package Manager) è il gestore di pacchetti per JavaScript.
sudo apt install nodejs npm -y
Nel caso in cui non dovesse essere presente il pacchetto precompilato, andiamo ad aggiungerla da Repository:
curl -fsSL https://deb.nodesource.com/setup_17.x | sudo -E bash -
Aggiorniamo per includere il nuovo repo:
sudo apt update -y
In ultimo installiamo:
sudo apt install nodejs -y
Adesso è il momento di installare Magic Mirror. Scarichiamo il sorgente e compiliamo da noi. Apriamo sempre il terminale, digitando:
git clone https://github.com/MichMich/MagicMirror cd MagicMirror npm install
Non ci resta che attendere la compilazione. Se tutto andrà a buon fine avremo installato Magic Mirror sul nostro Orange Pi 3 LTS. Tuttavia, non è ancora arrivato il momento di avviarlo.
Configurazione Magic Mirror
Prima di procedere all’avvio di Magic Mirror dobbiamo eseguire alcune configurazioni al nostro sistema. Sarà necessario utilizzare direttamente la GUI per una maggiore facilità. Il primo passo sarà ruotare lo schermo e per farlo, andiamo su Menu Applicazioni->Preferenze->Monitor e settiamo la rotazione dello schermo come segure.
Successivamente dobbiamo disabilitare lo spegnimento monitor e lo standby del dispositivo. Muoviamo anche qua sul Menu Applicazioni per andare ancora su Preferenze->Gestione dell’alimentazione per impostare in Mai (Never) tutte le voci.
In ultimo dobbiamo creare un file eseguibile per avviare il nostro Magic Mirror all’avvio. Apriamo il terminale e digitiamo:
sudo nano mm.sh
Dopo aver dato invio, andiamo a digitale quanto segue:
cd /home/[utente]/MagicMirror DISPLAY=:0 npm start
Per i meno esperti, ricordiamo che la parte [utente] va sostituita con il vostro nome utente. Per chiudere e salvare, usiamo CTRL+X e poi salviamo. Verrà creato un nuovo file che abbiamo chiamato mm.sh. Torniamo sul desktop, apriamo il menu delle applicazioni e andiamo su Preferenze->Applicazioni d’avvio. Aggiungiamo un nuovo comando all’avvio, dando come nome Mirror e come comando il percorso del file mm.sh appena creato.
Salviamo e avremo così caricato all’avvio il nostro Magic Mirror. Torniamo ora sul terminale e apriamo la cartella in cui è contenuto Magic Mirror, per creare il file di configurazione:
cd MagicMirror cp config/config.js.sample config/config.js
Ora che il file di configurazione del programma è stato creato, riavviamo l’Orange Pi e attendiamo. Se tutto è stato configurato correttamente, si avvierà Magic Mirror, tuttavia le scritte saranno in inglese e l’orario non sarà quello corretto. Dobbiamo procedere alla modifica del file di configurazione precedentemente creato. da terminale, apriamo il file config.js
sudo nano /home/[utente]/MagicMirror/config/config.js
Andiamo a modificare la lingua, impostando come segue:
Per i feed delle news siamo andanti ad impostare quelli dell’ANSA, ma potete scegliere qualsiasi testata giornalistica italiana che possieda gli RSS. Il file, come vedete, deve terminare in xml. Basterà copiare il percorso e sostituirlo a quello già presente.
Impostiamo un calendario; abbiamo cercato in lungo e in largo, trovando il calendario italiano rilasciato da ThunderBird. Ci raccomandiamo di utilizzare qualsiasi calendario che termini con ics. Se volete impostare altri tipi di calendari, ecco il link dei calendari di ThunderBird: https://www.thunderbird.net/it/calendar/holidays/
Per le impostazioni meteo avremo bisogno di una API. Useremo ancora una volta la API di OpenWeatherMap. Per prima cosa sarà necessario ottenere una API-Key dal sito www.openweathermap.org; una volta registrati, effettuate l’accesso e entrate nella scheda API keys per ottenere la vostra chiave API. Rammentate che è segreta e non dovrete condividerla con nessuno. Fatto questo, tornate nella Homepage del sito e nella casella di ricerca, cercate la vostra città e conservate le cifre che appaiono nell’URL, ad esempio per Milano appaiono così https://openweathermap.org/city/3173435.
Inseriamo il nome della località, il suo ID e la APIKey. Queste informazioni vanno inserite su due moduli diversi, come riportato in esempio.
Procediamo con la personalizzazione, cambiando anche i messaggi che scorrono su monitor e che si alternano anche in base alle ore del giorno. Sono in lingua inglese, quindi bisogna che siano in italiano. Apriamo di nuovo il terminale e digitiamo:
sudo nano /home/[utente]/MagicMirror/modules/default/compliments/compliments.js
Quello che segue è lo screen delle frasi da noi adottare, ma possiamo modificarle in base ai nostri gusti, oppure in base anche ai dialetti delle diverse regioni d’Italia.
Non ci siamo fermati qui; infatti, abbiamo aggiunto altri moduli che possiamo trovare online ed ognuno di essi è corredato da spiegazioni per configurarlo correttamente. Abbiamo infatti aggiunto le fasi lunari, le statistiche del nostro canale YouTube e il livello di inquinamento dell’aria (anche se di Frosinone, visto che per Messina non è ancora previsto) e per spostare i moduli ci siamo affidati alla guida per configurarli. Vi lasciamo di seguito i link:
- Qualità dell’aria: https://github.com/CFenner/MMM-AirQuality
- Fasi Lunari: https://github.com/NolanKingdon/MMM-MoonPhase
- Statistiche YouTube: https://github.com/ianperrin/MMM-YouTubeChannelStats
- Guida: https://docs.magicmirror.builders/modules/configuration.html#example