Close Menu
    Instagram
    dm.smartech
    Instagram TikTok Threads RSS
    • Home
    • HomeAssistant
    • Brand
    • Approfondimenti
    • Prodotti
    • Chi Sono
    dm.smartech
    Home » Ottimizzazione e Condivisione del sistema
    HomeAssistant

    Ottimizzazione e Condivisione del sistema

    Dario MontalbanoBy Dario Montalbano15 Ottobre 2024Nessun commento
    Facebook Twitter Pinterest LinkedIn Tumblr WhatsApp VKontakte Email
    Share
    Facebook Twitter LinkedIn Pinterest Email

    Bentrovati amici smart!

    Nel video precedente abbiamo esplorato le modalità di accesso al terminale del Raspberry Pi e completato una prima configurazione di base. Oggi proseguiremo con il processo di configurazione del nostro sistema operativo per assicurarci di costruire, preventivamente, una base solida e ben organizzata per l'installazione di Home Assistant, questo ci agevolerà per le nostre operatività presenti e future. Insomma, come già ripetuto più volte, l'obiettivo è avere tutto pronto, in modo da lavorare con facilità e senza intoppi, assicurandoci che ogni parte del sistema sia chiara, accessibile e, per quanto possibile, gestibile da chiunque.

    Nel corso di questa tappa ci concentreremo su quattro aspetti fondamentali:

    • L'aggiornamento del bootloader del Raspberry Pi
    • L'installazione di alcune librerie utili per usi futuri
    • La creazione di una struttura di cartelle ben organizzata e strutturata, in modo da avere tutto ordinato e in un unico posto
    • L'installazione di un software che ci consentirà di condividere e accedere alla struttura delle cartelle direttamente dalla rete locale, utilizzando l'interfaccia grafica di qualsiasi computer.

    Per iniziare, accediamo al terminale del Raspberry Pi tramite SSH, utilizzando qualsiasi dispositivo di vostra preferenza, come un computer desktop o un portatile. Questo ci permetterà di gestire il Raspberry Pi comodamente da remoto, senza bisogno di collegare schermo e tastiera direttamente al dispositivo, come discusso nel video precedente.

    Pertanto, apriamo PuTTY se stiamo usando Windows, oppure apriamo il terminale se stiamo usando macOS o Linux.

    Breve ripasso:
    Per chi utilizza PuTTY dovrà semplicemente compilare il campo "Host Name" inserendo homeassistant.local oppure l'indirizzo IP del Raspberry Pi. Infine, dovrà cliccare su Open per avviare la connessione.

    Per chi utilizza il terminale del macOS o Linux, dovrà semplicemente digitare il seguente comando seguito dal tasto invio:

    SHELL
    ssh pi@homeassistant.local

    oppure, se conosciamo l'indirizzo IP del Raspberry Pi, digitiamo:

    SHELL
    ssh pi@indirizzo_ip_del_raspberry

    Dopo esserci collegati, partiamo con il primo punto:

    Aggiornare il Bootloader del Raspberry Pi

    Il bootloader è un programma fondamentale, contenuto in un'area di memoria speciale chiamata EEPROM, che permette al Raspberry Pi di avviarsi. In pratica, è il primo software elaborato che legge il sistema operativo dalla microSD e lo carica nella memoria quando accendiamo il dispositivo. Senza il bootloader, il Raspberry Pi non sarebbe in grado di inizializzarsi e rendersi operativo. Aggiornare il bootloader è importante perché garantisce che il sistema sia stabile, sicuro e in grado di usare nuovi dispositivi. Inoltre, un bootloader aggiornato può correggere errori e migliorare le prestazioni generali del Raspberry Pi.

    Prima di aggiornarlo, possiamo verificare e segnarci l'attuale versione del bootloader eseguendo il seguente comando seguito dal tasto invio:

    SHELL
    sudo vcgencmd bootloader_version

    Adesso vediamo come fare per aggiornarlo.
    Anzitutto, prima del bootloader, partiamo con un aggiornamento completo del sistema operativo. Aggiornare il sistema operativo è molto semplice ed è utile conoscere la procedura in modo da ripeterla nel tempo per mantenere il sistema aggiornato, esattamente come faremmo con qualsiasi altro dispositivo. Eseguiamo i seguenti comandi uno alla volta seguiti dal tasto invio:

    SHELL
    sudo apt-get update
    sudo apt-get full-upgrade -y

    Vedremo scorrere a video una serie di LOG dei vari aggiornamenti che vengono eseguiti. Il processo potrebbe richiedere diversi minuti, perciò attendiamo che finisca.

    Leggi anche

    Cos'è APT e Cosa fa apt-get?

    15 Ottobre 2024
      Commenti
    Cos'è APT e Cosa fa apt-get?

    Dopo aver aggiornato il sistema operativo, possiamo passare all'aggiornamento del bootloader. A differenza degli aggiornamenti di sistema, l'aggiornamento del bootloader è una procedura da eseguire sporadicamente, cioè solo in caso di reale necessità.

    Editiamo il file di configurazione della EEPROM del RaspberryPi e assicuriamoci che sia impostato per scaricare l'ultima versione disponibile. Eseguiamo il seguente comando dal terminale seguito dal tasto invio:

    SHELL
    sudo nano /etc/default/rpi-eeprom-update

    Dopo aver aperto il file con l'editor nano, assicuriamoci che la variabile FIRMWARE_RELEASE_STATUS sia impostata su latest. Se lo è già, usciamo dal file premendo in sequenza e mantenendo premuto CTRL + X. In caso contrario, spostiamoci con le frecce direzionali della tastiera fino al valore che vogliamo modificare, cancelliamolo come faremmo normalmente su un editor di testo tradizionale e scriviamo latest. Infine, salviamo premendo in sequenza e mantenendo premuto CTRL + O, quindi premiamo il tasto Invio per confermare il salvataggio. Adesso chiudiamo premendo in sequenza e mantenendo premuto CTRL + X. In questo modo, il Raspberry Pi cercherà e scaricherà la versione più recente del bootloader.

    Dopo essere usciti dall'editor di testo, eseguiamo il seguente comando dal terminale per scaricare l'ultima versione del bootloader all'interno di un'area temporanea della EEPROM:

    SHELL
    sudo rpi-eeprom-update -d -a

    Al termine del processo, riavviamo il sistema per consentire al Raspberry Pi di installare l'ultima versione del bootloader scaricata. Quindi eseguiamo:

    SHELL
    sudo reboot

    Attenzione: Al riavvio del sistema, è importante che il processo di aggiornamento non venga interrotto, perché ciò potrebbe corrompere il bootloader stesso, rendendo il Raspberry Pi inutilizzabile.

    L'installazione potrebbe richiedere diversi minuti, quindi se il nostro Raspberry Pi non dovesse essere subito raggiungibile dopo il riavvio è del tutto normale. Pazientiamo finché non torna online.

    Per sapere se è nuovamente online, effettuiamo un ping semplicemente digitando:

    SHELL
    ping homeassistant.local

    oppure:

    SHELL
    ping indirizzo_ip_del_raspberry

    Se il Raspberry risponde, possiamo riconnetterci in SSH come abbiamo visto all'inizio.

    Dopo essere rientrati in SSH, possiamo verificare che la versione del nostro bootloader sia la più recente eseguendo nuovamente il comando:

    SHELL
    sudo vcgencmd bootloader_version

    Aggiornare il bootloader garantisce il massimo supporto hardware e software, evitando problemi dovuti a bug o incompatibilità con nuove periferiche. In questo modo, possiamo assicurarci che il sistema resti stabile e sia pronto per qualunque nuova configurazione futura.

    Installare Librerie Utili per il Futuro

    Per prepararci a future configurazioni, è utile installare fin da subito un set di librerie che ritengo importanti. In futuro, potremmo usare queste librerie per diverse funzionalità, come la gestione di videocamere, la comunicazione con dispositivi Bluetooth o per gestire immagini e video nella nostra SmartHome. Per installarle eseguiamo il seguente comando dal terminale seguito dal tasto invio:

    SHELL
    sudo apt-get install ffmpeg libopenjp2-7 libjpeg-dev bluetooth libbluetooth-dev

    Vedremo scorrere a video una serie di LOG di avanzamento, perciò attendiamo che finisca.

    Dopo averle installate, è importante riavviare il sistema per finalizzare la procedura. Quindi, come al solito, eseguiamo:

    SHELL
    sudo reboot

    Dopo il riavvio riconnettiamoci al Raspberry Pi in SSH.

    Creazione della Struttura di Cartelle

    Uno dei consigli principali che voglio darvi è di non fare mai le cose di fretta o senza criterio, come spesso accade in altri portali. È fondamentale, quando ci si dedica a un progetto, che questo sia ben strutturato e organizzato in cartelle dedicate, evitando di frammentarle. Ci tengo a sottolineare questo punto perché spesso, su altri portali, le guide e le istruzioni per Home Assistant presentano una disposizione frammentata dei file di configurazione. Nonostante si tratti dello stesso contesto, le configurazioni dei vari servizi finiscono per essere sparse in diverse parti del sistema, invece di essere centralizzate in un unico punto. Questo rende difficile mantenere il controllo sul progetto e ne complica la gestione a lungo termine. Il nostro obiettivo, invece, è quello di creare una struttura di cartelle chiara e organizzata per contenere tutto ciò che riguarda la nostra smart home, così da avere un sistema facile da gestire e sempre sotto controllo.

    Organizzare i file in questo modo ci aiuterà a:

    • Trovare facilmente le configurazioni quando vogliamo modificarle
    • Fare un backup delle configurazioni partendo da una sola cartella, evitando di perdere la testa nel ricordarci le posizioni di ogni singolo file.
    • Avere tutto in un unico posto
    • Rendere la gestione del nostro progetto più facile e veloce

    La struttura a cui ho pensato è la seguente e verrà contenuta all'interno della cartella principale del nostro utente pi. Breve nota: Come in ogni sistema operativo, l'utente con il quale accediamo al sistema ha una sua cartella di riferimento. Nel Raspberry Pi OS le cartelle degli utenti si trovano all'interno del seguente percorso/cartella di sistema:

    SHELL
    /home

    Infatti se dal terminale ci spostiamo all'interno del percorso appena visto, troveremo la cartella del nostro utente, cioè pi. Per spostarci all'interno di un percorso attraverso il terminale è sufficiente eseguire il comando cd seguito dal percorso che vogliamo aprire.

    Nota: Come avviene normalmente su ogni sistema operativo, un percorso di cartelle annidate è rappresentato dalla gerarchia delle cartelle stesse, separate da uno slash:

    ad esempio, se abbiamo la seguente gerarchia di cartelle annidate:

    • cartella_1
      • cartella_2
        • cartella_3
          • cartella_4

    la rappresentazione del percorso all'interno del sistema operativo sarebbe:

    SHELL
    /cartella_1/cartella_2/cartella_3/cartella_4

    Nel nostro caso il percorso che vogliamo verificare è home, quindi digitiamo:

    SHELL
    cd /home

    Successivamente, per conoscere il contenuto del percorso/cartella home, possiamo digitare il seguente comando:

    SHELL
    ls -l

    Nel nostro caso, a meno che non abbiate creato ulteriori utenti, apparirà soltanto la cartella /pi, che è la cartella destinata all'utente con il quale ci siamo autenticati al Raspberry Pi OS. Adesso spostiamoci dentro la cartella pi digitando:

    SHELL
    cd pi

    Questo comando è possibile perché ci trovavamo già dentro la cartella /home. Se invece ci fossimo trovati all'interno di un'altra posizione, sarebbe stato necessario specificare l'intero percorso per accedere alla cartella del nostro utente, quindi avremmo dovuto digitare:

    SHELL
    cd /home/pi

    Con il comando cd possiamo spostarci in qualunque cartella del nostro sistema specificando l'intero percorso di destinazione. Se invece vogliamo conoscere il percorso attuale in cui ci troviamo, possiamo digitare il comando:

    SHELL
    pwd

    Apparirà l'intero percorso in cui ci troviamo. Se abbiamo eseguito i comandi appena visti e siamo dentro la cartella dell'utente pi, il terminale ci mostrerà il percorso:

    SHELL
    /home/pi

    Bene, adesso che siamo all'interno della cartella che ci interessa, quella del nostro utente, analizziamo la struttura delle cartelle che ho pensato:

    • homeassistant_hub - Che al di sotto avrà le seguenti cartelle figlie in cui metteremo tutte le configurazioni
      • addons - In cui metteremo tutti gli addon di HomeAssistant
      • docker-config - In cui metteremo il file di configurazione di docker compose
      • homeassistant - In cui metteremo l'intera configurazione di HomeAssistant
      • scripts - In cui metteremo eventuali scripts che ci serviranno per automatizzare alcuni processi

    Iniziamo a creare la seguente struttura assicurandoci di rispettare il minuscolo. Per prima cosa, assicuriamoci ancora una volta di trovarci nel percorso giusto, cioè:

    SHELL
    /home/pi

    Digitiamo il comando:

    SHELL
    pwd

    Successivamente creiamo la prima cartella: homeassistant_hub. Per creare le cartelle dal terminale si usa il comando mkdir. Eseguiamolo sempre con privilegi amministrativi e digitiamo:

    SHELL
    sudo mkdir homeassistant_hub

    In questo modo avremo creato la cartella homeassistant_hub dentro la cartella dell'utente pi.

    Possiamo verificare la presenza della nuova cartella digitando il seguente comando seguito dal tasto invio:

    SHELL
    ls -l

    Adesso, dopo aver creato la cartella homeassistant_hub, entriamoci dentro digitando:

    SHELL
    cd homeassistant_hub

    Eseguendo nuovamente il comando pwd dovremmo trovarci in:

    SHELL
    /home/pi/homeassistant_hub

    Se così non fosse assicuriamoci di aver eseguito correttamente i passaggi precedenti. In caso contrario, possiamo continuare a creare le altre sottocartelle all'interno della cartella padre homeassistant_hub. Eseguiamo uno alla volta i seguenti comandi seguiti dal tasto invio:

    SHELL
    sudo mkdir addons
    sudo mkdir docker-config
    sudo mkdir homeassistant
    sudo mkdir scripts

    Possiamo verificare la presenza delle nuove cartelle digitando il seguente comando seguito dal tasto invio:

    SHELL
    ls -l

    Eseguito tutto, avremo creato la struttura di cartelle precedentemente discussa.

    Con questa struttura, tutto sarà organizzato in un'unica posizione, rendendo la gestione molto più semplice ed evitando confusione. Tutti i file e le configurazioni saranno facilmente accessibili quando ne avremo bisogno. Con questa struttura, inoltre, i backup saranno molto più semplici da fare e avremo la certezza di non perdere nulla.

    Installare Samba per la Condivisione delle Cartelle

    Samba - che non fa riferimento al ballo brasiliano, per quanto il nome lo ricordi - è un software open source che implementa il protocollo SMB su sistemi Unix/Linux, permettendo la comunicazione e condivisione di risorse in rete. In altre parole, Samba permette di condividere le cartelle del sistema operativo in rete, così da poter accedere ai file del Raspberry Pi dall'interfaccia grafica di altri dispositivi, come un computer desktop o un portatile Windows, macOS o Linux.

    Leggi anche

    Cos'è il Protocollo SMB?

    15 Ottobre 2024
      Commenti
    Cos'è il Protocollo SMB?

    Questo è molto comodo perché ci permette di modificare i file direttamente dal nostro editor preferito senza dover usare il terminale e i vari comandi. Possiamo anche trasferire facilmente qualsiasi file all'interno delle cartelle o crearne delle nuove.

    Per installare Samba è sufficiente eseguire il seguente comando:

    SHELL
    sudo apt-get install samba samba-common-bin -y

    Vedremo scorrere a video una serie di LOG di avanzamento, perciò attendiamo che finisca.

    Al termine dell'installazione, è necessario configurare Samba per condividere le cartelle che vogliamo. Già, perché la sola installazione di Samba non rende accessibili tutte le cartelle del sistema, ma solo quelle che vogliamo condividere noi. Editiamo il suo file di configurazione utilizzando sempre l'editor nano. Eseguiamo il seguente comando:

    SHELL
    sudo nano /etc/samba/smb.conf

    Nel nostro caso condivideremo soltanto la cartella del nostro utente pi, che al suo interno conterrà la struttura di cartelle appena creata. Con le frecce direzionali, spostiamoci alla fine del file e incolliamo il seguente blocco per condividere la cartella del nostro utente pi:

    SHELL
    [HomeAssistant]
      comment=HomeAssistant Share
      path=/home/pi/
      browseable=yes
      writable=yes
      read only=no
      valid users=
      security  = share
      guest ok = yes
      create mask = 0777
      directory mask = 0777
      public = yes
      force user = root
      force create mode = 0777
      force directory mode = 0777
      host allow = 

    Attenzione: è importante limitarsi a incollare solo il blocco alla fine del file.

    Infine, salviamo premendo in sequenza e mantenendo premuto CTRL + O, quindi premiamo il tasto Invio per confermare il salvataggio. Adesso chiudiamo premendo in sequenza e mantenendo premuto CTRL + X.

    Per concludere, riavviamo i servizi di Samba eseguendo i seguenti comandi uno alla volta e, come sempre, seguiti dal tasto invio:

    SHELL
    sudo systemctl restart smbd
    sudo systemctl restart nmbd

    Dopo aver riavviato Samba, potremo accedere facilmente alla struttura delle nostre cartelle appena create e al loro contenuto, da qualsiasi dispositivo collegato alla rete. In questo modo, sarà molto più facile trasferire file e modificare le configurazioni potendovi accedere da un'interfaccia grafica. Ad esempio, potremo usare l'editor che preferiamo, come Sublime Text o Notepad++, per modificare i file di configurazione in modo più veloce e pratico dall'interfaccia grafica.

    Bene, per oggi ci fermiamo qui. Nel prossimo video vedremo come installare Docker e come installare Home Assistant usando Docker Compose.

    Come sempre, se vi fa piacere seguitemi per altri tutorial, attivate la campanellina e lasciate un like al video.

    Visualizza questo post su Instagram

    Un post condiviso da Dario Montalbano (@dm.smartech)

    Share. Facebook Twitter LinkedIn WhatsApp Email
    Previous ArticleCos’è APT e Cosa fa apt-get?
    Next Article Cos’è YAML?

    Related Posts

    Home Assistant 2025.5: Due milioni di installazioni e tante novità

    13 Maggio 2025

    Home Assistant 2025.4: Dashboard Intelligenti, Conversazioni Più Naturali e Nuove Integrazioni

    2 Aprile 2025

    Automazioni e Scenari – Parte 2

    28 Marzo 2025

    Automazioni e Scenari – Parte 1

    3 Marzo 2025
    Informazioni su questo sito

    Questo può essere un buon posto per presentare te stesso ed il tuo sito o per includere alcuni crediti.

    Created by Dario Montalbano © 2025

    Type above and press Enter to search. Press Esc to cancel.