Sommario:

Bacheca Raspberry Pi: 11 passaggi (con immagini)
Bacheca Raspberry Pi: 11 passaggi (con immagini)

Video: Bacheca Raspberry Pi: 11 passaggi (con immagini)

Video: Bacheca Raspberry Pi: 11 passaggi (con immagini)
Video: Videosorveglianza economica fai da te con IP Camera e Raspberry Pi [TPS] 2024, Luglio
Anonim
Bacheca Raspberry Pi
Bacheca Raspberry Pi
Bacheca Raspberry Pi
Bacheca Raspberry Pi
Bacheca Raspberry Pi
Bacheca Raspberry Pi

Questo è un progetto a cui ho lavorato per la mia chiesa. Volevamo una bacheca elettronica che sarebbe stata montata nell'area del nartece/atrio e avrebbe fatto scorrere le diapositive statiche ogni pochi secondi.

Questi erano i nostri obiettivi di progettazione:

  • Diapositive statiche, nessun video o audio
  • L'amministratore genera diapositive in PowerPoint (strumento familiare, nessun nuovo software da imparare)
  • L'amministratore può trascinare e rilasciare una nuova presentazione per sostituire quella vecchia
  • Nessuna soluzione basata su cloud, poiché la bacheca sarebbe sulla nostra rete wireless privata
  • Nessun canone mensile di licenza o software proprietario, diverso da quello che già avevamo (Windows, Office, Powerpoint)
  • Schermo da 49", in modalità verticale/verticale (sebbene sia possibile anche la modalità orizzontale/orizzontale e descritta di seguito)
  • Costo desiderato: <$ 1000

Siamo riusciti a farlo e siamo arrivati al di sotto del budget. Di recente ho aiutato un'altra chiesa vicina a realizzare lo stesso progetto e il costo totale (escluso il costo di un elettricista per portare l'elettricità nel punto giusto sul muro e il lavoro necessario per il montaggio) è stato inferiore a $ 500.

A causa del basso costo e sostanzialmente zero costi correnti (solo elettricità), questo si adatterebbe bene anche a scuole, biblioteche, musei, organizzazioni no-profit o altre organizzazioni con budget limitato.

Il feedback è il benvenuto.

Passaggio 1: elenco delle attrezzature

Elenco attrezzature
Elenco attrezzature
Elenco attrezzature
Elenco attrezzature
Elenco attrezzature
Elenco attrezzature

Ecco un elenco delle attrezzature che abbiamo utilizzato. I commenti vengono aggiunti. Cerco di collegarmi al sito del produttore, ove possibile, piuttosto che a un rivenditore.

  • televisore/monitor. La maggior parte di qualsiasi TV o monitor moderno andrà bene, purché disponga di CEC (vedi questo articolo su Wikipedia per ulteriori informazioni su CEC: https://en.wikipedia.org/wiki/Consumer_Electronics_Control). La maggior parte dei monitor è progettata per essere montata in modalità verticale/verticale o orizzontale/orizzontale. I televisori sono progettati per essere orizzontali, quindi montarli verticalmente è un po' più complicato. Inoltre, molti televisori sono asimmetrici dall'alto verso il basso (cioè il bordo inferiore è spesso più grande di quello superiore), quindi montarlo verticalmente potrebbe sembrare un po' strano. Tuttavia, i televisori sono complessivamente più economici, quindi abbiamo optato per un televisore. Naturalmente, se il tuo orientamento preferito è il paesaggio, non importa. Abbiamo scelto questo: TV LED LG 49".
  • Supporto TV: è stato complicato, perché abbiamo acquistato un televisore e volevamo montarlo verticalmente. Le cose da considerare sono lo stile di montaggio e se sarà visibile, soprattutto se la TV è montata verticalmente. Il supporto è posizionato sulla parete con lo stesso orientamento di quando si monta la TV in orizzontale. Se si sceglie di montare la TV in verticale, è necessario considerare se i fori di montaggio delle viti nel supporto TV possono ospitare i fori di montaggio ruotati nella TV. Alcuni televisori distanziano le viti di montaggio in uno schema quadrato, mentre altri sono in uno schema rettangolare. Pensaci bene e assicurati che il montaggio funzionerà nella posizione desiderata prima dell'acquisto.
  • Raspberry Pi, custodia, cavi, dissipatore di calore, ventola, ecc.: Ti consiglio di ottenere la versione più recente e migliore. All'epoca in cui abbiamo realizzato il progetto, era il Raspberry Pi 3 B+, ma ora è uscito il Raspberry Pi 4 B. Per quanto riguarda il caso, il cavo di alimentazione, i dissipatori di calore, la ventola, abbiamo deciso che poiché il Raspberry Pi funzionerà 24 ore su 24, 7 giorni su 7, volevamo un case con una ventola, anche se silenzioso. E avere un cavo di alimentazione con un interruttore di alimentazione in linea semplifica il ripristino del sistema senza dover staccare la spina. L'altra differenza principale tra Raspberry Pi 3 B+ e Raspberry Pi 4B è che il 4 B ha una presa micro-HDMI, il che significa che è necessario un adattatore (è incluso nel kit di seguito).

    • Se usi il Raspberry Pi 3 B+: Raspberry Pi 3 B+ Case Kit (non include Raspberry Pi)
    • Se usi il Raspberry Pi 4 B: Raspberry Pi 4 B Case Kit (non include Raspberry Pi)
  • Cavo HDMI: qualsiasi va bene, purché supporti CEC. Nota che in genere, il Raspberry Pi verrà montato sulla parete dietro la TV/monitor o eventualmente collegato alla TV/monitor stesso, quindi un cavo corto da 3' è probabilmente sufficiente. Cavo troppo lungo e si vedrà. Considera anche dove si trovano le porte HDMI sulla TV/monitor e se potresti considerare un'estremità del cavo a 90 gradi (ad esempio, se le porte HDMI sono su un lato).
  • Scheda MicroSD. Anche questo non ha molta importanza. Abbiamo scelto 32 GB anziché 16 GB standard, solo per avere spazio extra per software aggiuntivo, se lo volevamo, e per avere un posto dove archiviare più presentazioni. Abbiamo scelto questo: SanDisk Ultra PLUS Scheda MicroSD da 32 GB. Nota che è più semplice se acquisti una scheda MicroSD con NOOBS già installato, come questa: Scheda SD con NOOBS. Non l'ho fatto, ma puoi salvare un passaggio se lo fai. Vedi qui per maggiori informazioni: NOOBS

Una nota su CEC: CEC (Consumer Electronics Control) consente ad alcuni componenti di controllarsi a vicenda tramite il cavo HDMI. Ad esempio, un lettore DVD potrebbe accendere/spegnere la TV collegata tramite il cavo HDMI se entrambi supportano CEC. Questo è utile nel nostro caso, poiché il Raspberry Pi può accendere/spegnere la TV/monitor come desidera. Ad esempio, in una chiesa, vorremmo avere il monitor acceso solo durante le ore in cui la chiesa è aperta, e questo varia in base al giorno della settimana. CEC consente al Pi di accendere e spegnere la TV in una pianificazione temporale arbitrariamente complessa.

Passaggio 2: assemblare la custodia Pi

Assemblare la custodia Pi
Assemblare la custodia Pi
Assemblare la custodia Pi
Assemblare la custodia Pi
Assemblare la custodia Pi
Assemblare la custodia Pi

Il montaggio è abbastanza semplice. Attacca i dissipatori di calore sui chip di dimensioni corrispondenti sul Raspberry Pi, assembla il case strato per strato. Non dimenticare di rimuovere i sottili fogli protettivi di plastica da ogni strato.

Passaggio 3: installa Raspbian

Installa Raspbian
Installa Raspbian

C'è un'ottima guida sul sito Raspberry Pi. Segui queste istruzioni per configurarlo.

Configurare il tuo Raspberry Pi

Ho usato Raspbian Lite, in quanto non ha applicazioni extra che non ti serviranno per questo progetto.

Passaggio 4: aggiungere software standard e personalizzato

Una volta che NOOBS installa Raspbian, la prima volta che accedi, ti verranno richieste cose come lingua, fuso orario, ecc. Richiederà anche la rete WiFi e le informazioni sulla password, a meno che tu non sia su una connessione cablata. Infine, scaricherà e installerà tutti gli aggiornamenti di Raspbian. È utile se sei sulla stessa connessione Internet della configurazione finale, ma non è necessario. Cioè, puoi fare questo passaggio a casa prima di installarti nella posizione finale. Ricorda solo di configurare la nuova connessione Internet prima del riavvio finale nell'ultimo passaggio.

Apri una finestra di terminale (fai clic sull'icona rettangolare nera vicino all'angolo in alto a sinistra dello schermo).

Per prima cosa controlliamo due volte per vedere se ci sono ulteriori aggiornamenti Raspbian. Digita le seguenti righe, una alla volta

sudo apt update

sudo apt upgrade

(di' "Y" se ti chiede se vuoi installare gli aggiornamenti).

Successivamente installiamo Samba, che consente la condivisione delle cartelle con le macchine Windows sulla rete.

sudo apt install samba samba-common-bin smbclient cifs-utils

Successivamente installiamo fbi. fbi è l'utilità unix che visualizza la grafica su uno schermo che non esegue un gestore di finestre.

sudo apt install fbi

Successivamente installiamo inotify-tools. inotify-tools consente alla presentazione di guardare la cartella condivisa per eventuali modifiche.

sudo apt install inotify-tools

Successivamente installiamo cec-utils. cec-utils consente al Raspberry Pi di accendere e spegnere la TV tramite il cavo HDMI.

sudo apt install cec-utils

Successivamente dovrai scaricare le piccole utility che ho scritto per riprodurre la presentazione.

git clone

Questo recupererà il codice e lo metterà in una directory chiamata raspi_slideshow.

Ora tutto il software è disponibile sul Raspberry Pi. I passaggi successivi passano attraverso la configurazione.

Passaggio 5: imposta la cartella condivisa

Per impostazione predefinita, il codice della presentazione cerca una directory (cartella) /shared/Presentation.

Dobbiamo creare quella directory. Poiché è a livello di root, abbiamo bisogno dei permessi di root, quindi un sudo è in ordine. Potrebbe essere necessario digitare la password (l'impostazione predefinita è lampone) quando si esegue questo comando:

sudo mkdir -p /shared/Presentazione

Successivamente, dobbiamo renderlo leggibile e scrivibile da chiunque su questo Pi. Digita il seguente comando:

sudo chmod a+rwx /shared/Presentazione

Questo lo rende visibile solo su questo Pi. Successivamente, dobbiamo condividere questa cartella con il mondo (in realtà, solo altre macchine sulla stessa rete). Ecco perché consigliamo di utilizzare una rete Wi-Fi privata (protetta da password) o una rete locale cablata.

Quando abbiamo installato samba nel passaggio precedente, ha creato un file predefinito /etc/samba/smb.conf

Dobbiamo aggiungere un mucchio di righe alla fine di quel file. Le righe sono nel file raspi_slideshow/add_to_smb.conf

Il modo più semplice per farlo è il seguente:

sudo bash

cat raspi_slideshow/add_to_smb.conf >> /etc/samba/smb.conf exit

Questo sostanzialmente concatena il file add_to_smb.conf alla fine di /etc/samba/smb.conf

Puoi scegliere di farlo tramite un editor come nano se preferisci, ma è una discreta quantità di digitazione.

Fondamentalmente condivide la directory /shared come una directory leggibile e scrivibile da chiunque sulla rete locale. Non spiegherò come proteggerlo qui, ma se vuoi che sia protetto (per richiedere una password per la modifica), puoi leggere su Samba e modificare le impostazioni di conseguenza.

Passaggio 6: configurare le impostazioni di accensione/spegnimento del monitor

Usiamo cron per accendere e spegnere la TV/monitor ad orari programmati. Cron è un'utilità di Linux che esegue attività a orari pianificati. Se desideri che la tua TV/monitor funzioni 24 ore su 24, 7 giorni su 7 o se desideri accenderla e spegnerla manualmente, puoi saltare questo passaggio.

Copia il file crontab di esempio dalla directory raspi_slideshow nella directory home.

cp raspi_slideshow/crontab_example.pi crontab.pi

Il file crontab_example.pi è un esempio che mostra come funziona questo tipo di file. C'è molta documentazione in Wikipedia e altrove:

Ora lo modifichiamo. Aiuta avere il tuo programma già capito. Il programma di esempio è

  • Domenica: acceso alle 7:00, spento alle 21:00
  • Mercoledì: acceso alle 8, spento alle 21
  • Sabato: acceso alle 7, spento alle 21
  • Altri giorni: acceso alle 8:00, spento alle 17:00

Mi piace nano poiché è installato con Raspbian e facile da usare. Puoi usare vi o qualsiasi altro editor.

nano crontab.pi

Modifica il file per specificare orari di attivazione/disattivazione per ogni giorno. Usa i tasti freccia per spostarti. Backspace per eliminare, digitare per inserire. Quando hai finito, premi Control-O per salvare (dovrai premere "invio" per confermare il nome del file) e Control-X per uscire da nano.

Una volta che hai il tuo file cron nel modo desiderato, dì a Raspbian che vuoi eseguirlo:

crontab crontab.pi

Se vuoi cambiare la tua pianificazione, puoi modificare $HOME/crontab.pi ed eseguire nuovamente il comando crontab immediatamente sopra. Ciò sostituirà il tuo vecchio programma con quello nuovo.

Passaggio 7: configurare le impostazioni dello schermo

Configura le impostazioni dello schermo
Configura le impostazioni dello schermo

Abbiamo quasi finito! Dobbiamo configurare le impostazioni del display. fbi è l'utilità che usiamo per visualizzare le diapositive. Legge le sue impostazioni dal file.fbirc nella directory home.

Innanzitutto, assicurati di essere nella directory home.

cd $HOME

Quindi copia il file dalla directory raspi_slideshow a home

cp raspi_slideshow/.fbirc.

Non dovresti aver bisogno di modificare il file. Tuttavia, se si sceglie, le tre impostazioni che interessano sono:

casuale = falso

blend-msec = 500

timeout = 8

La linea casuale determina se fbi randomizza l'ordine delle diapositive. true significa che randomizza le diapositive, false significa che non lo fa. Poiché volevamo un certo controllo sull'ordine in cui si trovano le diapositive, l'abbiamo impostato su false.

La linea blend-msecs dice quanti millisecondi (1000= 1 secondo) dura ogni transizione. Un valore 0 significa che le diapositive cambiano istantaneamente da una all'altra. La nostra impostazione di 500 significa che le diapositive si sbiadiscono l'una nell'altra in un periodo di 0,5 secondi.

Timeout è il tempo (in secondi) che ogni diapositiva viene visualizzata prima di passare alla successiva. Puoi modificarlo se desideri che le diapositive siano più lunghe o più corte. Ricorda solo che questo vale per tutte le diapositive allo stesso modo. Non c'è modo di far apparire alcune diapositive più lunghe e altre più corte.

Ruota display

Se hai la tua TV/monitor montata verticalmente, come facciamo noi, dovrai ruotare il display di 90 gradi o 270 gradi. Se hai la TV/monitor montata orizzontalmente, puoi saltare il resto di questo passaggio.

Usa di nuovo nano. Questa volta devi eseguire come root, quindi dovrai sudo, che potrebbe richiedere di reinserire la password (l'impostazione predefinita è lampone)

sudo nano /boot/config.txt

Usa la freccia giù per andare fino in fondo a questo file. Aggiungi la seguente riga alla fine del file:

display_rotate=1

Questo ruoterà il display di 90 gradi. Se dopo il montaggio il display è capovolto, cambia 1 in 3.

Fondamentalmente display_rotate = 0 (nessuna rotazione), 1 (90 gradi), 2 (180 gradi), 3 (270 gradi)

Nell'immagine sopra, avevamo impostato display_rotate=1 e dovevamo tornare indietro e cambiarlo in display_rotate=3. Molto più facile che rimontare la TV!

Passaggio 8: modificare la password e impostare l'esecuzione automatica

Cambia password e imposta l'esecuzione automatica
Cambia password e imposta l'esecuzione automatica
Cambia password e imposta l'esecuzione automatica
Cambia password e imposta l'esecuzione automatica

A questo punto abbiamo quasi finito!

Fare clic sul menu lampone in alto a sinistra, selezionare Preferenze-> Configurazione Raspberry Pi

Questo fa apparire una finestra di dialogo. Fai clic su "Cambia password…" e cambiala con qualcosa che ricorderai!

Puoi scegliere di cambiare il nome del sistema (campo Hostname).

Assicurati di fare clic su Avvia "A CLI"

Imposta l'accesso automatico ("Accedi come utente 'pi'")

Ora devi impostare la presentazione per l'esecuzione all'avvio. Il modo più semplice è aggiungere una riga al file.bashrc. Avviando il nostro editor nano:

nano.bashrc

Freccia giù fino alla fine del file e aggiungi la seguente riga:

python3 raspi_slideshow/play_slideshow.py

Queste impostazioni significano che:

  • Ogni volta che viene riavviato, il Raspberry Pi accederà automaticamente come utente pi
  • Non avvierà un gestore di finestre, ma verrà semplicemente eseguito sullo schermo ("Boot to CLI")
  • Avvia la shell bash, che legge il file.bashrc e l'ultima riga di quel file dice di eseguire la presentazione.

Dopodiché, il riavvio NON avvierà il gestore di finestre e avvierà automaticamente la presentazione. Puoi interrompere la presentazione premendo Control-C durante la presentazione. Questo ti riporterà al prompt bash ($).

Se vuoi avviare il gestore di finestre da questo punto (per il debug o una più facile manipolazione delle impostazioni), puoi farlo digitando "startx" alla riga di comando.

Passaggio 9: utilizzare (configurazione della macchina Windows)

Nell'uso effettivo, il nostro Raspberry Pi si connette alla nostra rete wireless privata all'avvio. Condivide la sua directory /shared (e tutto ciò che sta sotto) con la rete. Per vedere questa cartella da un computer Windows, assicurati di essere sulla stessa rete.

Presumo che ti connetterai a questo da un computer Windows in un ufficio. Per Windows 7 o Windows 10, apri un File Explorer per visualizzare i file/cartelle sul tuo computer. Fai clic con il pulsante destro del mouse a sinistra dove dice "Computer" o "Risorse del computer", quindi seleziona "Connetti unità di rete…"

Verrà visualizzata una finestra di dialogo. Scegli quale lettera, ad es. "Z:" su cui vuoi mappare il tuo disco. Quindi nel campo Cartella, digita:

{nome-del-tuo-computer Pi}\condiviso

dove {name-of-your-Pi-computer} è il nome che hai dato al tuo Raspberry pi nel passaggio precedente (vedi l'immagine precedente con la finestra di dialogo).

Assicurati di fare clic su "Riconnetti all'accesso". È possibile che se il Raspberry Pi è spento all'avvio del computer Windows, questo passaggio potrebbe dover essere ripetuto (o riavviato il computer Windows) per vedere la cartella condivisa.

Se scegli di proteggere con password la tua cartella, puoi aggiungere le credenziali selezionando "Connetti utilizzando credenziali diverse" e inserendo il nome utente/password per il Raspberry Pi.

Ora, quando vuoi che le diapositive entrino nella presentazione, copia le singole immagini delle diapositive(*) nella cartella Presentazione.

Lo script monitorerà e visualizzerà SOLO il contenuto della cartella Presentazione e nulla al livello superiore (condiviso). Pertanto, a volte utilizziamo il trucco di inserire le diapositive di uso comune nel livello superiore e quindi trascinarle secondo necessità dentro o fuori dalla cartella Presentazione.

Ricorda, quando qualcosa nella cartella Presentazione cambia (i file vengono aggiunti, eliminati o modificati) lo script della presentazione attende 2 minuti (120 secondi, configurabile in play_slideshow.py, cerca wait_time) prima di ripristinare e visualizzare le nuove diapositive. Questo dà alla persona il tempo di apportare tutte le modifiche necessarie senza reimpostare dopo l'aggiunta di ogni nuovo file.

Le immagini delle singole diapositive sono file jpeg, gif o png che rappresentano una singola diapositiva. Il modo più semplice per generarli è utilizzare Microsoft PowerPoint o un programma simile. Puoi generare tutte le diapositive che desideri in Microsoft PowerPoint e salvarle come presentazione PowerPoint. Quindi fai clic su File->Esporta->Cambia tipo di file e salva come PNG o JPEG. Questo produrrà le diapositive come file individuali, ad es. slide1.png, slide2.png, ecc. Puoi quindi trascinare e rilasciare singoli file in Z:\Presentation (o qualunque lettera di unità tu abbia usato). Nota che la presentazione è composta in ordine alfabetico (non numerico), quindi slide11.png viene dopo slide1.png e prima di slide2.png. Ovviamente puoi rinominare le diapositive prima di copiarle nella cartella di rete. Assicurati solo che mantengano la loro estensione (ad es..png). Lo script della presentazione attualmente cerca solo i file con le seguenti estensioni:.png,.png,.gif,.gif,.jpg,-j.webp

Passaggio 10: risoluzione dei problemi

La maggior parte dei problemi può essere risolta con la vecchia soluzione "prova a spegnerlo e riaccenderlo".

Se il tuo Raspberry Pi non si connette, non si aggiorna o sembra essere generalmente bloccato, prova a spegnerlo e spegnerlo.

Se il tuo computer Windows perde l'unità di rete mappata, prova a spegnere e riaccendere l'unità o ad aggiungere di nuovo manualmente l'unità.

Se hai altre domande/problemi, inserisci nei commenti e aggiornerò questo passaggio con problemi comuni e le loro soluzioni.

Fase 11: Conclusione e lavoro futuro

FATTO

A questo punto, puoi riavviare il tuo Raspberry Pi, tramite i menu o con il pulsante di accensione sul cavo di alimentazione. La cosa bella di questa configurazione è che ogni volta che il Pi si avvia (interruzione di corrente, arresto anomalo, qualunque cosa), si avvia in modalità presentazione, quindi puoi spegnere e riaccendere a piacimento e dovrebbe riprendersi correttamente. Una volta installato e funzionante, puoi praticamente "impostarlo e dimenticarlo", oltre agli aggiornamenti delle diapositive. Nel nostro caso, l'amministratore della nostra chiesa aggiorna le diapositive settimanalmente e questo sistema funziona perfettamente da circa un anno.

Si prega di dare un feedback! Sono ricettivo alla correzione di bug o imprecisioni. Capisco che ci sono molti modi diversi per fare le cose, quindi non sono entusiasta di rispondere a domande come "perché hai usato Python invece di {linguaggio di programmazione X}?" O suggerimenti che sono funzionalmente uguali (come "sudo apt" tutti i pacchetti in una volta anziché uno alla volta). Tuttavia, i miglioramenti funzionali sono sempre i benvenuti! Cerco di renderlo il più funzionale e utile possibile, pur essendo facile da installare e di facile manutenzione. Mi piace particolarmente il feedback di coloro che hanno beneficiato di questo Instructable. Sono felice di aiutare se posso.

Lavoro futuro

Sto iniziando a lavorare su una versione che consentirà di mescolare i file video (con audio) con le diapositive statiche. Penso di poter usare vlc per quello dalla riga di comando. Aggiornerò questo se riesco a farlo funzionare. Sentiti libero di dare suggerimenti!

Consigliato: