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
nodejsenpmriportate nelleSpecifichesopra) -
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/autostartAppendere (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-GBMnella dir~(+VM):git clone https://www.github.com/AndreaGrandieri/MagicMirror-GBMEffettuare 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_installationmysql_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: ysudo apt install php libapache2-mod-php php-mysqlModifica della root di serving per Apache e rilascio consensi
cd /etc/apache2/sites-available # Accesso al file "000-default.conf" sudo nano 000-default.confModificare l’opzione
DocumentRootnel file:DocumentRoot /home/pi/MagicMirror-GBM/src/ipdashboardRilascio consensi:
cd \ cd /etc/apache2 # Accesso al file "apache2.conf" sudo nano apache2.confModificare 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-sqlite3Riavviare 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 visudoAppendere (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/raspotifyModificare l’opzione
DEVICE_NAMEnel file:DEVICE_NAME="MagicMirror-GBM-spotify-cast"Modifica l’opzione
OPTIONSnel 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.paModifica l’opzione
set-default-sinknel 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/srccon 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






