MagicMirror-GBM-OS
Table of contents
Il MagicMirror-GBM è reso funzionale dal suo sistema operativo: MagicMirror-GBM-OS
.
Puoi scrivere / flashare l’OS su una scheda SD pronta all’uso in un sistema Raspberry Pi usando il software Raspberry Pi Imager
(https://www.raspberrypi.org/software/).
Specifiche
Ecco riportate le principali caratteristiche e requisiti essenziali:
- Distribuzione:
Raspberry Pi OS (32-bit)
- Raspberry Pi:
3 o superiore
- nodejs:
v10.24.0
- npm:
v5.8.0
- Storage Memory:
minimo (rischioso) 8GB; minimo consigliato: 16GB
- RAM:
minimo 1GB
- Nome Personale:
pi
- Nome PC:
magicmirrorgbm
- Nome utente:
pi
- Password:
gbm
- Internet configurations: none
Costruzione
Di seguito riportati i passaggi per costruire il MagicMirror-GBM-OS
partendo da una distribuzione Raspberry Pi OS Full (32-bit)
grezza. Parte delle seguenti istruzioni sono compatibili per costruire la MagicMirror-GBM-Emulation-VM
. Esse sono indicate con: (+VM):
-
SOLO (+VM): Installare tools vmware:
sudo apt install open-vm-tools-desktop open-vm-tools
-
Soddisfare la fase guidata di setup iniziale di Raspberry:
-
Next
-
Imposta località
-
Imposta password
-
Next
-
Seleziona rete WIFI / Cablata
-
NON FARE L’AGGIORNAMENTO SOFTWARE (se lo fai, accertati di rispettare le versioni di
nodejs
enpm
riportate nelleSpecifiche
sopra) -
Puoi anche assegnare un nome personalizzato al dispositivo Raspberry (per essere individuato più facilmente nella rete)
-
-
Disattivare spegnimento automatico schermo Raspberry:
cd \ # Accesso al file "autostart" sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
Appendere (in coda) al contenuto del file:
@xset s off @xset -dpms
-
Installare
nodejs
(+VM):sudo apt install nodejs
-
Installare
npm
(+VM):sudo apt install npm
-
Installare
npm-recursive-install
(+VM):sudo npm i -g recursive-install
-
Installare
bcm2835
:wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.52.tar.gz tar zxvf bcm2835-1.52.tar.gz cd bcm2835-1.52 ./configure make sudo make check sudo make install cd \
-
Installare
raspotify
:sudo curl -sL https://dtcooper.github.io/raspotify/install.sh | sh
-
SOLO (+VM): Installare
git
:sudo apt install git
-
Clonare repo
AndreaGrandieri/MagicMirror-GBM
nella dir~
(+VM):git clone https://www.github.com/AndreaGrandieri/MagicMirror-GBM
Effettuare il checkout alla release (versione) desiderata:
cd MagicMirror-GBM/ git checkout v.X.X -b v.X.X
-
Installare
electron
(+VM):cd src/ npm install electron --save-dev cd \
-
Installazione LAMP (Linux, Apache, MySQL, PHP) (+VM):
sudo apt install apache2 sudo apt install mariadb-server sudo mysql_secure_installation
mysql_secure_installation:
Enter current password for root (enter for none): gbm Change the root password?: n Remove anonymous users: n Disallow root login remotely: n Remove test database and access to it: y Reload privilegies table now: y
sudo apt install php libapache2-mod-php php-mysql
Modifica della root di serving per Apache e rilascio consensi
cd /etc/apache2/sites-available # Accesso al file "000-default.conf" sudo nano 000-default.conf
Modificare l’opzione
DocumentRoot
nel file:DocumentRoot /home/pi/MagicMirror-GBM/src/ipdashboard
Rilascio consensi:
cd \ cd /etc/apache2 # Accesso al file "apache2.conf" sudo nano apache2.conf
Modificare l’opzione
<Directory /></Directory>
nel file (dovrebbe trovarsi alla riga 153):<Directory /> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory>
Installazione di sqlite:
cd \ sudo apt-get install php-sqlite3
Riavviare il servizio
apache2
:sudo service apache2 restart
-
Modifica dei
sudoers
, in modo tale da permettere l’interfaccia IP l’esecuzione di alcuni comandi che richiedono privilegi di admin (+VM):# Accesso al file: "sudoers" sudo visudo
Appendere (in coda) al contenuto del file:
www-data ALL = NOPASSWD: /sbin/reboot, /sbin/halt
-
Fornisco permessi di scrittura file protetti all’interfaccia IP (+VM):
sudo chown -R www-data:www-data /etc/default/raspotify sudo chmod -R g+w /etc/default/raspotify sudo chown -R www-data:www-data /etc/pulse/default.pa sudo chmod -R g+w /etc/pulse/default.pa sudo chown -R www-data:www-data /etc/wpa_supplicant/wpa_supplicant.conf sudo chmod -R g+w /etc/wpa_supplicant/wpa_supplicant.conf sudo chown -R www-data:www-data /home/pi/MagicMirror-GBM/src/ipdashboard/ sudo chown -R www-data:www-data /home/pi/MagicMirror-GBM/src/config/config.js sudo chown -R www-data:www-data /home/pi/MagicMirror-GBM/src/modules/MMM-MD/public/content.md sudo chmod -R g+w /home/pi/MagicMirror-GBM/src/modules/MMM-MD/public/content.md
-
Imposto dispositivo di default per output audio (OS + Raspotify) + configurazione denominazione cast service per Raspotify: https://github.com/AndreaGrandieri/MagicMirror-GBM/issues/76#issuecomment-827711074 https://github.com/AndreaGrandieri/MagicMirror-GBM/issues/228#issuecomment-828311332
# Accesso al file "raspotify" (riferimenti utili: https://github.com/AndreaGrandieri/MagicMirror-GBM/issues/76#issuecomment-827711074) sudo nano /etc/default/raspotify
Modificare l’opzione
DEVICE_NAME
nel file:DEVICE_NAME="MagicMirror-GBM-spotify-cast"
Modifica l’opzione
OPTIONS
nel file:OPTIONS="--device hw:1"
# Accesso al file "default.pa" (riferimenti utili: https://github.com/AndreaGrandieri/MagicMirror-GBM/issues/228#issuecomment-828311332) sudo nano /etc/pulse/default.pa
Modifica l’opzione
set-default-sink
nel file:set-default-sink alsa_output.platform-bcm2835_audio.analog-stereo
-
Riavviare il Raspberry (+VM):
sudo shutdown -r now
-
Eseguire installazione ricorsiva nella dir
~/MagicMirror-GBM/src
con checkout del branchmain
(+VM):cd MagicMirror-GBM/src/ npm-recursive-install
-
Impostare avvio automatico del servizio:
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart @npm run start --prefix /home/pi/MagicMirror-GBM/src/
-
Rimozione informazioni personali (WIFI (SSID + password))
Cancellare tutto il contenuto del seguente file:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf