Sommario:

Dynaframe: una cornice per foto/video ricca di funzionalità!: 6 passaggi
Dynaframe: una cornice per foto/video ricca di funzionalità!: 6 passaggi

Video: Dynaframe: una cornice per foto/video ricca di funzionalità!: 6 passaggi

Video: Dynaframe: una cornice per foto/video ricca di funzionalità!: 6 passaggi
Video: PiFrame - Ultimate Raspberry Pi Digital Picture Frame on a 7-inch LCD Tutorial 2024, Settembre
Anonim
Image
Image
Dynaframe: una cornice per foto/video ricca di funzionalità!
Dynaframe: una cornice per foto/video ricca di funzionalità!

Nota: ho deciso di inserirlo nel contenuto del remix! Per favore, considerami se trovi questo progetto divertente!

Ehilà! Dynaframe è una cornice per foto digitale che mira ad essere differente. Ho esaminato le dozzine di implementazioni là fuori, ma sembravano tutte presentazioni glorificate e molte di esse erano difficili da aggiornare (ad esempio, richiedendo la rimozione della scheda MicroSD). Così ho imparato un po' di Python e ci ho messo il mio tocco personale. Ecco le caratteristiche di Dynaframe (la maggior parte sono dimostrate nel video del trailer qui sopra

  • Caricamenti remoti - Innanzitutto, non volevo toccare una scheda SD per aggiornarla. Dynaframe supporta l'aggiornamento dei media tramite una condivisione di file e, se utilizzi Allsync, puoi aggiornarlo tramite il cloud. Posso (e devo) aspettare un cambio d'olio e cercare opere d'arte con cui aggiornare la mia cornice digitale a casa!
  • Supporto video - Supporta sia immagini che video. Ciò significa che supporta anche:

    • Plotagraphs: vengono creati quando si aggiungono elementi video alle immagini fisse (ad esempio, le app Plotaverse/Werble possono farlo)
    • Cinemagraphs - Questi sono quando blocchi parti di un video per farlo sembrare quasi una-g.webp" />
  • Supporto domotica (MQTT con controllo tramite Node-Red)

    Dynaframe può ricevere messaggi MQTT per dirgli quale playlist riprodurre. Ciò consente di controllarlo tramite molti sistemi di automazione domestica e consente scenari sorprendenti come mostrare i poster dei film all'avvio di Netflix o mostrare la grafica del gioco quando accedi a Xbox Live. Questo può anche essere usato per fare cose di presenza in modo che quando una persona entra nella stanza, viene visualizzata la sua opera d'arte preferita

  • Supporto playlist - Dynaframe supporta la riproduzione di file multimediali in cartelle, trattando ogni cartella come una "playlist". Quindi, se organizzi i tuoi file multimediali in modo da avere illustrazioni di fumetti in una cartella, illustrazioni sportive in un'altra e poster di film in un'altra ancora… puoi selezionare quale cartella di media vuoi riprodurre e scorrerà attraverso di essa. Ciò consente alla stanza in cui si trovano i Dynaframe di avere "stati d'animo". A volte ho impostato il mio per riprodurre le opere d'arte del gioco, a volte le opere d'arte del film. A volte fantascienza, a volte fantasy. Quando sono in "modalità creatore" lo metto su una cartella di disegni e schemi dei brevetti. Ho cercato di renderlo flessibile, ma facile da usare.
  • Controllo remoto - Ogni Dynaframe supporta un server web, quindi puoi navigare fino al frame e otterrai una pagina web ospitata che mostra le playlist. È quindi possibile modificare facilmente le playlist. Poiché si tratta di un server web, puoi farlo da qualsiasi sistema operativo dotato di browser o dispositivo. Ciò significa che al giorno d'oggi puoi controllarlo con telefoni, tablet, PC e persino alcuni televisori.
  • Efficienza energetica: l'ho risolto tramite Zwave e l'automazione domestica, ma essenzialmente Dynaframe è progettato per non scrivere sulla scheda SD in alcun modo significativo (registra solo qua e là). Quindi puoi spegnerlo improvvisamente e riavviarlo e andrà tutto bene. Ho eseguito più fotogrammi per mesi senza alcun problema e si spengono con le luci quando esco dalla stanza. Nonostante ciò, se dovessi mantenere i frame accesi per un anno intero, sarebbero circa $ 13,00 ciascuno assumendo $ 0,08 per KW/h. (Con Zwave e 3 ore al giorno si riduce a circa $ 1,50 all'anno!
  • Open source/Software gratuito: ho trovato alcune soluzioni che richiedevano pagamenti mensili/contratti di servizio. Sono solo un hobbista e stavo cercando qualcosa in cui una volta che avevo l'hardware, potevo semplicemente caricare il software e andare. Ho messo il software su GitHub per consentire ad altri di utilizzare, aggiornare e aggiungere funzionalità se lo desiderano.

Spero che con quella lista, capirai perché ho lavorato per reinventare ancora una volta la ruota. Ho intenzione di partecipare al concorso Remix, ma non è tanto un remix di una cosa, quanto un remix di una dozzina o giù di lì:)

Passaggio 1: Passaggio 1: di cosa hai bisogno per farlo!?

Ok, per prima cosa… cosa ci serve?

  1. Raspberry pi 3 - il cervello dell'operazione
  2. Un cavo HDMI corto
  3. Monitor LG MK430H-B IPS 27" (puoi usare qualsiasi monitor tu voglia, ma questo è quello che ho usato io)
  4. Scheda MicroSD
  5. Kit per appendere la cornice in filo metallico
  6. Super colla

Facoltativo, ma utile per funzionalità estese o look più puliti:

  1. Spine Z Wave (per l'accensione/spegnimento tramite l'automazione domestica) -
  2. Una configurazione di automazione domestica che supporta MQTT (come HomeSeer, Home Assistant o Smart Things
  3. Condotti per nascondere i cavi (di solito solo una guida di plastica per far passare i cavi … questo aiuta a nascondere i cavi che escono dai telai)
  4. Vernice - Questo è per abbinare il condotto di occultamento con le tue pareti. Trovo che se ti prendi il tempo per farlo, aiuta con l'illusione che i fotogrammi stiano semplicemente fluttuando. L'altro modo per farlo, ovviamente, sarebbe quello di far passare il filo dentro/attraverso il muro, ma questo non rientra nell'ambito di questa istruzione

Passaggio 2: Passaggio 2: mettere insieme il telaio

Passaggio 2: mettere insieme il telaio
Passaggio 2: mettere insieme il telaio
Passaggio 2: mettere insieme il telaio
Passaggio 2: mettere insieme il telaio

Onestamente non c'è molta magia qui. Si prega di vedere le immagini per sapere cosa stavo usando… Ho incollato molto bene l'hardware appeso su entrambi i lati del retro del monitor, ho fatto passare il cavo e poi l'ho montato con un chiodo in un perno nel muro. I monitor non sono molto pesanti, ma se necessario, utilizzare una vite con un ancoraggio. Puoi usare qualsiasi monitor desideri, basta montarlo di conseguenza… per esempio se stai usando una TV da 37 , ti consigliamo di fare un kit di montaggio a parete per quello (in realtà uso una TV con montaggio a parete come uno dei miei cornici!)

L'unica altra cosa di cui preoccuparsi è il Raspberry pi… L'ho semplicemente attaccato con del nastro adesivo sul retro del monitor. Non c'è bisogno di molta finezza lì. Non aggiungo ventole o alcun raffreddamento attivo … i frame non guidano troppo il Pi.

Il vantaggio di appendere su un singolo chiodo è che puoi facilmente assicurarti che le cose siano a livello senza dover praticare ulteriori fori nel muro. Inoltre, tieni presente che esiste una versione di questo in cui puoi smontare la cornice e crearne una tua in legno per far sembrare questa cornice più simile a una cornice per foto …. uno dei miei obiettivi quando ho creato questo era farlo in un tale in modo da non distruggere il monitor, nel caso avessi deciso che non mi piaceva l'effetto (ho finito per amarlo!). Per questo motivo ho scelto monitor con cornici sottili e semplici. Le monto anche in verticale per farle assomigliare il più possibile alle cornici delle foto!

Passaggio 3: Passaggio 3: utilizzo dell'immagine Raspberry Pi già pronta

Image
Image

Ci sono due opzioni per costruirlo. Inizierò con quello semplice, che consiste nell'immaginare un lampone pi con un'immagine che ho preparato che fa la maggior parte degli altri passaggi per te. Tuttavia, se desideri un maggiore controllo dell'immagine, esaminerò i passaggi necessari per configurarla manualmente. Ciò ti consentirebbe di aggiungerlo a un'immagine che potrebbe avere altre funzionalità che desideri come software di automazione domestica, server MQTT, ecc.

Tieni presente che il video ti guida attraverso i passaggi per la parte "pronta". Esaminerò gli altri passaggi in questo istruibile in modo che sia comunque completamente documentato.

Per utilizzare la versione già pronta, utilizzare Etcher per scrivere la seguente immagine su una scheda MicroSD:

1drv.ms/u/s!AqxjM4_uBDJguOsrwD3z4ovMJwFF9g (Aggiornato 6/7/2019)

Quell'immagine è un'immagine raspberry pi completa a cui manca una cosa, una libreria Python. Per configurare tutto ciò che desideri:

  1. Avvia quell'immagine su un raspberry pi 3 o successivo (3B+ dovrebbe funzionare bene)
  2. Avvia una riga di comando ed esegui raspi-config
  3. Imposta la password su qualcosa di sicuro
  4. Configura il tuo wifi
  5. Imposta il nome host su qualcosa di unico ma descrittivo per ogni frame che stai configurando
  6. Quando hai finito, salva e riavvia. Esegui 'ifconfig' per ottenere l'indirizzo IP del frame (dovrebbe essere visualizzato come WLAN0)
  7. Eseguire il comando: "sudo pip3 install paho-mqtt". Questo installerà una libreria critica lasciata fuori dall'immagine
  8. Riavviare

Avanti: Copia i file sul raspberry pi navigando verso l'indirizzo IP come: \{ipaddress}\Frame

In quella cartella, crea una sottocartella per ogni "playlist" che desideri e inserisci almeno un file (jpg, mov o mp4). Quindi puoi accedere a https://{indirizzoip}:8000 per vedere l'interfaccia utente web e dovresti vedere le cartelle elencate. Se è così, allora hai impostato le cose correttamente e sei pronto per il rock and roll! Facile..giusto? Per quanto semplice potrei farlo per ora:)

Note sull'immagine:

1) Samba è installato e configurato, ma configurato per guest. Ti consigliamo di bloccarlo se vuoi che sia protetto.

2) La password/login di default è pi/raspberry. Qual è la password predefinita del sistema operativo Raspbian. Sicuramente vorrai cambiarlo!

3) SSH E VNC sono abilitati, quindi puoi remoto nel pi per gestirlo se necessario.

4) La cartella 'logs' nella condivisione Frame contiene un cronlog… se qualcosa esplode, è lì che si trova il log.

5) Samba sta condividendo la cartella 'Frame'. Qui è dove dovrebbero andare i tuoi file multimediali… nelle sottocartelle!

6) C'è un server web che non ha autenticazione. Ciò semplifica la navigazione verso l'indirizzo IP (porta 8000) del frame per controllarlo, tuttavia non lo esporrei esternamente nel modo in cui è configurato ora.

7) L'impostazione predefinita su questa immagine è la modalità verticale (Verticale). Se desideri cambiarlo in modalità orizzontale, ti consigliamo di guardare: https://www.ceos3c.com/open-source/rotate-screen-r… per modificare l'impostazione corretta.

A questo punto sei pronto e funzionante nel 'modo facile'. Ci sono due bonus che potresti voler aggiungere:

1) Una presa intelligente per la domotica è utile se hai già un interruttore Zwave nella stanza in cui li installi. Quindi puoi impostare le automazioni per fare cose per mantenere la cornice in sincronia con le luci della stanza. Ad esempio, quando accendo le luci nel mio spazio di creazione, le mie cornici si accendono con loro. Quando li spengo, i frame si spengono. Per fare ciò, è sufficiente alimentare il monitor stesso tramite la spina. Puoi scegliere di alimentare anche il pi … il vantaggio se lo fai sono tempi di avvio rapidi … ma perderai l'assorbimento di potenza del pi. Per essere davvero "verde" tengo i miei pi e i miei monitor sulla spina e spengo entrambi, ma è davvero una tua scelta.

2) Allwayssync (https://allwaysync.com/). Uso questo software per sincronizzare il mio archivio onedrive/cloud con le condivisioni samba Dynaframe. Questo software può eseguire la sincronizzazione bidirezionale, la gestione dei conflitti e altro ancora. Lo trovo utile e ha funzionato davvero bene per me.

Il resto di questo istruibile parlerà del modo "manuale" per configurarlo e approfondirà la configurazione Zwave / Allwayssync secondo necessità.

-

Passaggio 4: Passaggio 4: passaggi di configurazione manuale

Se stai facendo i passaggi più lunghi, presumo che tu sappia qualcosa su Linux e su come configurare un raspberry pi. In tal caso, ecco l'elenco delle cose che vorrai fare. La cosa fantastica di questo elenco è che ho usato Instructables qui per capire queste cose, quindi dovrò collegarmi direttamente agli Instructables che lo hanno reso possibile:)

1) Clonare il repository su: https://github.com/Geektoolkit/Dynaframe in una cartella denominata "Frame". Farò riferimento a questa cartella Frame affinché il resto dell'istruibile sia coerente, in modo che se vuoi chiamarlo qualcos'altro, saprai di quale cartella sto parlando. Qui è dove deve risiedere il file show.py.

2) Imposta show.py come eseguibile

3) Installa Python 3, oltre a feh, Samba e omxplayer. Questi sono necessari per l'esecuzione degli script

4) Ti consigliamo di utilizzare pip3 per installare paho-mqtt (sudo pip3 install paho-mqtt) e le librerie HTTP per python.

5) Imposta uno script bash per avviare show.py all'avvio. Ho usato questo istruibile:

www.instructables.com/id/Raspberry-Pi-Laun…

6) Se vuoi che sia in modalità verticale, imposta il valore corretto per la rotazione dello schermo. Assicurati che nessun driver OpenGL sia attivato (o la rotazione verrà ignorata… questo mi è costato alcune ore della mia vita per eseguire il debug:))

www.ceos3c.com/open-source/rotate-screen-r…

7) Imposta Samba per condividere la cartella Frame. Non ricordo cosa facevo prima, ma questi passaggi sono scritti bene;

everyday-tech.com/samba-share-on-your-rasp…

8) Configura VNC e SSH in modo da poter gestire da remoto il pi (lo consiglio vivamente a meno che tu non voglia andare in giro con le tastiere per gestirli in seguito)

A questo punto lo script python dovrebbe avviarsi all'avvio, dovresti essere in grado di gestire in remoto il pi, far funzionare il file python e vedere il caricamento di immagini e video.

9) Un componente opzionale… probabilmente vorrai impostare l'IP statico. Imposta definitivamente il nome host su qualcosa di unico, se non altro, in modo da poterlo utilizzare per eseguire il ping del dispositivo/navigare alla pagina Web per il controllo

Se ci sono tonnellate di domande, posso riempirne altre. Ho creato l'immagine in modo che la maggior parte delle persone non debba ripetere tutti questi passaggi!

Ora esaminiamo un po' il codice in modo da sapere dove modificarlo se si sceglie…

Passaggio 5: Passaggio 6: procedura dettagliata del codice

Il codice è a:

github.com/Geektoolkit/Dynaframe

Non esporrò tutto, ma voglio sottolineare alcune parti importanti:

In 'show.py' ci sono parti che configurano il server MQTT. Ti consigliamo di configurarli se utilizzerai la domotica per controllare i tuoi schermi. Questa parte è in alto, quindi è facile da modificare e ha il seguente aspetto:

# personalizza prima dell'uso! brokeraddress = "test.mosquitto.org" # puoi usarlo come broker di prova o impostare msoquitto su un rpi come broker interno

mqttclient = "dynaframe1" # deve essere univoco per ogni frame…

brokerport = 1883

nomeabbonamento = "jfarro/house/makerspace/display" # questa dovrebbe essere una stringa univoca e che descrive dove si trova il frame

Il "Webpagebody" menzionato nel codice è una lunga stringa che viene restituita quando un browser accede al frame. In quella stringa vedrai il CSS che deve essere modificato se vuoi configurare la pagina web che viene servita per essere..più carina:) A volte non sono bravo nel design. Si può sicuramente migliorare.

Questa variabile:

refreshInterval = 30 # numero di secondi tra le immagini in una presentazione

è il modo in cui imposti la durata della visualizzazione delle immagini. È una delle cose che potresti voler configurare se non vuoi che le pagine vengano girate ogni 30 secondi (anche se lo trovo rinfrescante … ho sempre nuovi disegni in mostra!)

Ok, queste sono le sezioni principali del codice che vorrai modificare per renderlo "tuo". È del tutto facoltativo, ma volevo sottolinearlo.

Passaggio 6: Passaggio 7: cosa c'è dopo? e alcuni suggerimenti…

Passaggio 7: cosa c'è dopo? e alcuni suggerimenti…
Passaggio 7: cosa c'è dopo? e alcuni suggerimenti…
Passaggio 7: cosa c'è dopo? e alcuni suggerimenti…
Passaggio 7: cosa c'è dopo? e alcuni suggerimenti…

Speriamo che tutto sia andato bene e, se stai costruendo questo, hai una cornice digitale funzionante con Raspberry Pi che supporta video e un sacco di altri gadget e espedienti! Sto ancora lavorando per aggiungere funzionalità a questo..poi vorrei aggiungere la possibilità di utilizzare URL Web per immagini, feed RSS o siti Web come traffico/meteo. Potrei vedere che questi sono display artistici che possono diventare funzionali in un attimo… anche diventare schermate di gioco / emulazione momentanee (tramite un controller Bluetooth). Aggiornerò questo istruibile man mano che aggiungo cose.

Alcuni suggerimenti veloci:

1) Questo è progettato per funzionare a 1080p. Il 4K sarebbe fantastico, ma poi aumenta il costo di tutto e stavo lavorando con un prezzo indicativo di $ 150 (che ho leggermente mancato)

2) Il Raspberry Pi 3 A+ non era disponibile quando l'ho creato. È un modulo molto più adatto e taglia il prezzo di 10 dollari!

3) Poiché è progettato per 1080p, tutte le opere d'arte funzionano meglio se le ridimensioni a 16:9 (o 9:16 se verticale) e 1080p. È lì che otterrai le immagini più nitide

4) Per creare ottimi contenuti divertenti che si muovono (dove questo brilla davvero) puoi usare Werble (iPhone) o Plotaverse (o la suite di Enlight). Fondamentalmente se cerchi "plotoagraph" e "cinemagraph" puoi creare dei contenuti sorprendenti per questi che li fanno davvero brillare.

5) La ricerca di opere d'arte che siano 9:16 / 1080p potrebbe portarti ad alcuni siti che progettano sfondi per cellulari… questa è una grande fonte di arte. Anche DeviantArt è stato fantastico.

6) Se cerchi 1080x1920 su youtube, troverai subito alcuni contenuti video che funzionano bene su questi fotogrammi!

Penso che sia tutto per ora. Continuerò ad aggiungere man mano che procedo. Spero che tu possa vedere dai video che ho fatto e quello che ho condiviso qui … questi sono IMO un gradino sopra qualsiasi cornice fotografica là fuori! Grazie e alla prossima volta…

Considera di votare per me per il concorso 'remix' se ti piace!

Consigliato: