Instal·lant i configurant Magic Mirror a Raspberry Pi

En aquest document veurem la instal·lació de Magic Mirror sobre una Raspberry Pi, bé, perquè? Ideal per tenir un petit panell d'informació que pots personalitzar-lo totalment, pensat per a qualsevol àmbit sigui casa teva o la teva empresa. El normal després serà fer alguna cosa de bricolatge, posarem un mirall sobre el monitor i en ser un panell negre amb text blanc o imatges queda molt futurístic!

El que s'ha dit, seguint els passos d'aquest document podràs tenir el teu propi mirall màgic que mentre et mires que guap@ estàs, tens més informació de tot el que succeeix al teu voltant! I a l'oficina quedaria molt geek també, amb dades de monitoratge… Obtindrem un panell amb tota la informació que vulguem veure de forma diferent 🙂

Lloc oficial: https://magicmirror.builders/

A GitHub: https://github.com/MichMich/MagicMirror

Instal·lació de Magic Mirror

Els requisits per començar són molt senzills, necessitarem tenir Raspbian Stretch instal·lat i configurat amb una adreça IP.

Si tens qualsevol model de Raspberry Pi 2 o Raspberry Pi 3 n'hi haurà prou amb executar el següent script perquè ens instal·li totes les dependències i el mateix Magic Mirror:

[sourcecode]bash -c “$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)”[/sourcecode]

En finalitzar la instal·lació ens preguntarà si volem que s'iniciï per defecte en iniciar la Raspberry o no, aquí el que cadascú vulgui. En el meu cas prefereixo iniciar-lo posteriorment per diferents motius, per a això tinc afegit un script a '~/.config/lxsession/LXDE-pi/autostart’ anomenat per exemple '@/home/pi/magic_mirror_arranca.sh’ que té el contingut següent::

[sourcecode]cd /home/pi/MagicMirror/
npm start # Pi2 i Pi3
node serveronly # Pi1 i Zero[/sourcecode]

Un cop ho iniciem automàticament o manualment veurem que se'ns carrega en pantalla Magic Mirror amb la configuració predeterminada. Per si us interessa, si volem iniciar Magic Mirror des d'una sessió ssh:

[sourcecode]DISPLAY =:0 npm start[/sourcecode]

Si volem instal·lar-lo de forma manual o et falla l'script anterior (en el cas dels models més antics de Raspberry Pi, 1 i Zero), podrem fer-ho de la següent manera:

[sourcecode]sudo apt-get install npm git -y
git clone https://github.com/MichMich/MagicMirror
cd ~/MagicMirror
npm install[/sourcecode]

A tenir en compte que el fitxer de configuració de Magic Mirror serà '/home/pi/MagicMirror/config/config.js’ i hi haurem d' afegir qualsevol configuració o mòdul. Comencem fàcil, permetem que es puguin connectar des de qualsevol equip de la xarxa al Magic Mirror i indicarem l'idioma predeterminat que sigui l'Espanyol:

[sourcecode]
address: “”,

ipWhitelist: [],

language: “és”,

[/sourcecode]

Gravem el fitxer i provem d'inicar de nou Magic Mirror, o mitjançant un navegador a http://raspberry_pi:8080

Per cert, si algú està interessat a modificar les mides de les fonts, ho aconseguiria modificant el CSS: '~/MagicMirror/css/custom.css'.

Amb això ja hem vist com instal·lar, iniciar i configurar molt bàsicament Magic Mirror, continuarem a posteriori amb els Mòduls que més m'han interessat i com instal·lar-los. Ja que l'interessant aquí és cadascú que es posi els mòduls que vulgui i on vulgui, per a més info de la llista dels oficials: https://github.com/MichMich/MagicMirror/wiki/3rd-Party-Modules

I si voleu saber les zones de la pantalla on es poden posar els mòduls, anotar: top_bar, top_left, top_center, top_right, upper_third, middle_center, lower_third, bottom_left, bottom_center, bottom_right, bottom_bar, fullscreen_above i fullscreen_below.

Però abans, us deixo una sèrie d'opcions addicionals que es poden anar fent des de ja, és el típic que fem en una Raspberry Pi que sigui un Kiosko, perquè no es posi el salva pantalles, o el raig d'energia baixa, treure el cursor evitar que el mòdul del Wifi es posi en estalvi energètic…

Treure l'estalvi d'energia al dongle Wifi

Ho aconseguirem si en el fitxer '/etc/network/interfícies’ afegim al final la següent línia:

[sourcecode]wireless-power off[/sourcecode]

Treure el cursor del ratolí

Podrem ocultar el cursor del ratolí instal·lant Unclutter:

[sourcecode]sudo apt-get install unclutter[/sourcecode]

Treure el salva pantalles

Per evitar que es posi la pantalla negra o qualsevol altre salvapantalles, haurem de primer instal·lar:

[sourcecode]sudo apt-get install x11-xserver-utils[/sourcecode]

I després modificar el fitxer '~/.config/lxsession/LXDE-pi/autostart’ afegint al final del fitxer:

[sourcecode]@xset s noblank
@xset s off
@xset -dpms[/sourcecode]

I per últim afegim al fitxer /etc/lightdm/lightdm.conf i sota de [Seat:*] el següent:

[sourcecode]xserver-command=X -s 0 -dpms[/sourcecode]

Treure alerta de voltatge

Per treure la ratlla aquest groc o vagi, el warning de poca txitxa, afegim a '/boot/config.txt’ al final:

[sourcecode]avoid_warnings = 1[/sourcecode]

Mòdul de Monitoratge amb Nagis o Centreon

Vam afegir un mòdul a Magic Mirror molt interessant, un que va molt amb l'estil del blog, podria mentre em llavo la cara veure com està el meu negoci o la meva llar intel·ligent? Doncs sí, seguint aquests passos instal·laràs el mòdul necessari a Magic Mirror per poder saber què passa, ja que es connectarà al teu Nagios o al teu Centreon i t'ho mostrarà.

[sourcecode]cd ~/MagicMirror/modules
git clone https://github.com/qistoph/MMM-nagios.git nagis
cd nagis
npm install[/sourcecode]

I si afegim en el fitxer de configuració de Magic Mirror el següent codi, podrem aconseguir-ho!

[sourcecode]{
module: “nagis”,
position: “top_left”,
header: “Estat Llar Intel·ligent”,
config: {
statusUrl: “http://DIRECCION_IP_CENTREON_O_NAGIOS/statusJson.php”,
user: “admin”,
password: “xxxx”,
reloadInterval: 60000
}
},[/sourcecode]

Si vols més info d'aquest Plugin: https://github.com/qistoph/MMM-nagios

A la banda de Centreon hem d'exportar el fitxer '/var/log/centreon-engine/status.dat’ a format JSON, molt senzill de la següent manera:

[sourcecode]git clone https://github.com/lizell/php-nagios-json.git
cp php-nagios-json/php-nagios-json/statusJson.php /var/www/html/[/sourcecode]

I editem aquest fitxer '/var/www/html/statusJson.php', haurem de fer alguna modificació perquè us funcioni 🙂 El primer de tot, posar la variable '$statusFile’ amb el path del fitxer .dat correctament i si fem servir Centreon pot que no ens detecti una versió, per la qual cosa si comentem segur que ens va:

[sourcecode]// if ($nag_version = = 4) {
$data = getData4($statusFile);
// } else if ($nag_version = = 3) {
// $data = getData3($statusFile);
// } else {
// $data = getData2($statusFile);
// }[/sourcecode]

Temps previsió 1 setmana

Aquest mòdul ve per defecte instal·lat, per habilitar-lo n'hi ha prou amb afegir el següent codi al fitxer de Magic Mirror:

[sourcecode]{
module: “weatherforecast”,
position: “top_left”,
config: {
location: “Bilbao”,
locationID: “6362436”,
appid: “82537b248dxxxxxxxxxx”,
showRainAmount: true
}
},[/sourcecode]

La configuració és senzilla, el locationID i l'appid ho aconseguirem en http://www.openweathermap.org i de http://www.openweathermap.org/help/city_list.txt.
Per a més info: https://github.com/MichMich/MagicMirror/tree/master/modules/default/weatherforecast.

Temps actual

Un altre mòdul molt usat i senzillesa, n'hi ha prou amb encabir en el fitxer de configuració de Magic Mirror el següent codi:

[sourcecode]{
module: 'currentweather',
position: 'top_right',
config: {
location: 'Bilbao',
locationID: ‘6362436’, //ID from bulk.openweather.org/sample/
appid: '82537b248d2xxxx,
updateInterval: ‘3600000’,
onlyTemp: true
}
},[/sourcecode]

Per a més info: https://github.com/MichMich/MagicMirror/tree/master/modules/default/currentweather

Emails en pantalla

Si t'agrada llegir els mails que tens nous i vols veure'ls en el teu espelma màgic, en el meu cas em connecto mitjançant IMAP, encara que es pot connectar contra tot, fins i tot Office 365, aquests serien els passos per instal·lar el mòdul:

[sourcecode]cd ~/MagicMirror/modules
git clone https://github.com/ronny3050/email-mirror.git
cd email
npm install[/sourcecode]

I afegim en el fitxer de configuració de MagicMirror el següent codi

[sourcecode]{
module: 'email',
position: 'top_left',
config: {
user: “la meva*****@do*****.com“,
password: “xxxxx”,
host: “mail.dominio.com”,
port: 143,
tls: false,
authTimeout: 10000,
numberOfEmails: 5,
fade: false
}
},[/sourcecode]

Per a més info sobre el mòdul: https://github.com/ronny3050/email-mirror

Notícies RSS

Si t'agrada estar al dia mentre et mires al mirall i vols llegir els titulars o les notícies que t'interessin, n'hi haurà prou amb habilitar un mòdul de Magic Mirror i posar totes les direccions RSS que vulguis seguir! Afegint aquesta configuració en el fitxer de configuració de Magic Mirror ho aconseguiràs:

[sourcecode]{
module: “newsfeed”,
position: “bottom_bar”,
config: {
feeds: [
{
title: “Deia”,
url: “http://www.deia.com/rss/general.xml”
},
{
title: “El Correu”,
url: “http://www.elcorreo.com/bizkaia/rss/atom/portada”,
encoding: “ISO-8859-1”
},
],
showSourceTitle: false,
showPublishDate: false
}
},[/sourcecode]

Per a més info sobre aquest mòdul: https://github.com/MichMich/MagicMirror/tree/master/modules/default/newsfeed

Agenda

Si t'agrada posar el teu calendari, en el meu cas utilitzo el de Google Calendar, però vagi, que amb qualsevol fitxer pots muntar-te'l!

[sourcecode]{
module: “escalfar”,
header: “Calendari Hector”,
position: “top_left”,
config: {
escalfars: [
{
symbol: “escalfar-check-o “,
url: “https://calendar.google.com/calendar/ical/lfmkxxxxxxxxxxxxxxxxxjk@group.calendar.google.com/private-fbdba546xxxxxxxxxxx827/basic.ics”
}
]
}
},[/sourcecode]

Per a més info: https://github.com/MichMich/MagicMirror/tree/master/modules/default/calendar

Estat del trànsit de la carretera

Si volem saber quant temps vam trigar a arribar a algun lloc, per exemple a la feina, podem conèixer en temps real sempre el que trigarem a arribar, t'imagines pintar-te els llavis mentre veus que vas arribar tard? A lo loco! 😛

[sourcecode]cd ~/MagicMirror/modules
git clone https://github.com/SamLewis0602/MMM-Traffic.git
cd MMM-Traffic
npm install[/sourcecode]

Afegim en el fitxer de configuració el següent codi:

[sourcecode]{
module: 'MMM-Traffic',
position: 'bottom_right',
classes: 'dimmed medium', //optional, default is 'bright medium', only applies to commute info not route_name
config: {
api_key: 'AIzaSyDr1y9oxxxxxxx,
mode: 'driving',
origin: 'Federico Moyúa Plaza, 3, 48009 Bilbo, Bizkaia',
destination: 'Parc Tecnològic de Zamudio, 48170, Vizcaya',
route_name: 'Ruta a l'ofi',
changeColor: true,
showGreen: false,
limitYellow: 5, //Greater than 5% of journey time due to traffic
limitRed: 20, //Greater than 20% of journey time due to traffic
traffic_model: 'pessimistic',
interval: 120000 //2 minutes
}
},[/sourcecode]

Canviarem òbviament la ruta d'inici/fi i posarem la nostra clau API de Google.

Per a més info d'aquest mòdul: https://github.com/SamLewis0602/MMM-Traffic

Llista de temes pendents (Wunderlist)


Un altre mòdul força interessant pot ser la típica llista de recordatori, en el meu cas soc un amant de Wunderlist, així que us indico els passos necessaris per fer-ho a caminar:

[sourcecode]cd ~/MagicMirror/modules
git clone https://github.com/qistoph/MMM-nagios.git nagis
cd nagis
npm install[/sourcecode]

Després de la instal·lació procedim a afegir el següent codi al fitxer de configuració de Magic Mirror:

[sourcecode]{
module: 'MMM-Wunderlist',
position: 'top_right',
header: 'Llista de la compra',
config: {
accessToken: '9f3de965af18647aexxxx,
clientID: '9052dxxxxxxxxxxx,
lists: [“Compres”]
}
},[/sourcecode]

L'accessToken i el clientID et sona que ho has de sol·licitar al web de: https://developer.wunderlist.com.

Bo i el dit en aquesta web https://github.com/MichMich/MagicMirror/wiki/3rd-Party-Modules o a Internet pots buscar múltiples mòduls o fer-te els teus propis. I això, després de la configuració, això, cal fer bricolatge, fer un marc de fusta i encabir els monitors que necessitem dins, col·locarem el mirall que realment no és un mirall, si no que és una lamina acrílic de mirall de 2 cares. Si vas a qualsevol cristalleria seria explicant-te sabran quin vidre vols, no és gaire car, i recordo que el cristaller em deixava peces diferents per fer diverses proves. Si algú està perdut li passo el telefon de la cristal·leria =)

Després cadascú pot completar el projecte com vulgui, per no tenir sempre el monitor encès, es pot posar un sensor de moviment i mitjançant un relé encendre'l quan hi hagi moviment, i clar, tot això fins que et doni la imaginació, li pots posar una càmera de vídeo a la Raspberry i que amb OpenCV reconegui el teu rostre i en pantalla mostri un altre tipus d'informació, o a un nen uns dibuixos animats saludant… així com reconeixement de veu perquè et mostri qualsevol altre tipus d'informació, etc.…

I més o menys així quedaria, i sí, aquest sóc jo, amb algun dibuixet més de Grafana, etc.… aquesta imatge és bastant vella, un dia poso panells xulos per donar-vos més idees!

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!