Taula de continguts:

Tauler d’anuncis Raspberry Pi: 11 passos (amb imatges)
Tauler d’anuncis Raspberry Pi: 11 passos (amb imatges)

Vídeo: Tauler d’anuncis Raspberry Pi: 11 passos (amb imatges)

Vídeo: Tauler d’anuncis Raspberry Pi: 11 passos (amb imatges)
Vídeo: Tauler d'anuncis canal9 1993 (valenciano\valencià español España) 2024, Desembre
Anonim
Tauler d’anuncis Raspberry Pi
Tauler d’anuncis Raspberry Pi
Tauler d’anuncis Raspberry Pi
Tauler d’anuncis Raspberry Pi
Tauler d’anuncis Raspberry Pi
Tauler d’anuncis Raspberry Pi

Aquest és un projecte en què vaig treballar per a la meva església. Volíem un tauler d’anuncis electrònic que es muntés a la zona del nàrtex / vestíbul i que circulés per diapositives estàtiques cada pocs segons.

Aquests van ser els nostres objectius de disseny:

  • Diapositives estàtiques, sense vídeo ni àudio
  • L'administrador genera diapositives a Powerpoint (eina familiar, no hi ha programari nou per aprendre)
  • L'administrador pot arrossegar i deixar anar la presentació nova per substituir-la
  • Cap solució basada en el núvol, ja que el tauler d’anuncis estaria a la nostra xarxa sense fils privada
  • Sense despeses mensuals de llicència ni programari propietari, a part del que ja teníem (Windows, Office, Powerpoint)
  • Pantalla de 49 ", en mode vertical / vertical (tot i que el mode horitzontal / horitzontal també és possible i es descriu a continuació)
  • Cost desitjat: <1.000 dòlars

Vam aconseguir fer-ho i vam arribar al pressupost. Recentment he ajudat una altra església propera a fer el mateix projecte i el cost total (sense incloure el cost d’un electricista per portar l’energia al lloc adequat de la paret i la mà d’obra implicada en el muntatge) va ser inferior a 500 dòlars.

A causa dels baixos costos i dels costos bàsicament nuls (només electricitat), això també encaixaria bé amb escoles, biblioteques, museus, organitzacions sense ànim de lucre o altres organitzacions amb un pressupost limitat.

Els comentaris són benvinguts.

Pas 1: llista d'equips

Llista d'equips
Llista d'equips
Llista d'equips
Llista d'equips
Llista d'equips
Llista d'equips

Aquí teniu una llista d’equips que hem utilitzat. S’afegeixen comentaris. Intento enllaçar amb el lloc del fabricant sempre que sigui possible, en lloc d'un distribuïdor.

  • TV / monitor. La majoria de qualsevol televisor o monitor modern ho farà, sempre que tingui CEC (vegeu aquest article a Wikipedia per obtenir més informació sobre CEC: https://en.wikipedia.org/wiki/Consumer_Electronics_Control). La majoria dels monitors estan fets per muntar-se en mode vertical / vertical o horitzontal / horitzontal. Els televisors estan dissenyats per ser horitzontals, de manera que muntar-los verticalment és una mica més complicat. A més, molts televisors són asimètrics de dalt a baix (és a dir, la vora inferior sovint és més gran que la superior), de manera que muntar-lo verticalment pot semblar una mica estrany. Tot i així, els televisors són més econòmics en general, així que vam anar amb un televisor. Per descomptat, si la vostra orientació preferida és el paisatge, no importa. Vam anar amb aquest: TV LED de 49 "LG de 49".
  • Muntatge de TV: va ser complicat, perquè vam comprar un televisor i volíem muntar-lo verticalment. Les coses a tenir en compte són l’estil de muntatge i si serà visible, sobretot si el televisor està muntat verticalment. El suport es col·loca a la paret en la mateixa orientació que si muntés el televisor horitzontalment. Si decidiu muntar el televisor verticalment, haureu de considerar si els forats de muntatge del cargol del suport del televisor poden adaptar-se als forats de muntatge girats del televisor. Alguns televisors espacien els cargols de muntatge en un patró quadrat, mentre que alguns són de forma rectangular. Penseu-ho bé i assegureu-vos que el muntatge funcionarà a la ubicació desitjada abans de comprar.
  • Raspberry Pi, estoig, cables, dissipador de calor, ventilador, etc.: us recomano obtenir la versió més recent i la millor. En el moment que vam construir el projecte, era el Raspberry Pi 3 B +, però ara el Raspberry Pi 4 B ja no està disponible. Pel que fa al cas, al cable d'alimentació, als dissipadors de calor, al ventilador, vam decidir que, ja que el Raspberry Pi funcionaria les 24 hores del dia, volíem tenir una funda amb un ventilador, encara que tranquil. I el fet de disposar d’un cable d’alimentació amb un interruptor d’alimentació en línia facilita la restauració del sistema sense haver d’estirar l’endoll. L’altra diferència principal entre el Raspberry Pi 3 B + i el Raspberry Pi 4B és que el 4 B té un endoll micro-HDMI, cosa que significa que necessiteu un adaptador (s’inclou al kit següent).

    • Si aneu amb el Raspberry Pi 3 B +: kit de funda Raspberry Pi 3 B + (no inclou Raspberry Pi)
    • Si aneu amb el Raspberry Pi 4 B: Raspberry Pi 4 B Case Kit (no inclou Raspberry Pi)
  • Cable HDMI: qualsevol està bé, sempre que admeti CEC. Tingueu en compte que normalment, el Raspberry Pi es muntarà a la paret darrere del televisor / monitor o, possiblement, es connectarà al mateix televisor / monitor, de manera que probablement hi hagi un cable curt de 3 '. Massa llarg d’un cable i es mostrarà. Penseu també a on es troben els ports HDMI del televisor / monitor i si podeu considerar un extrem de cable de 90 graus (per exemple, si els ports HDMI estan d’un costat).
  • Targeta MicroSD. Això tampoc importa molt. Vam triar 32 GB en lloc de 16 GB estàndard, només per tenir espai addicional per a programari addicional, si volíem, i per tenir un lloc on guardar diverses presentacions. Hem escollit aquesta: la targeta MicroSD SanDisk Ultra PLUS de 32 GB. Tingueu en compte que és més fàcil comprar una targeta MicroSD amb NOOBS ja instal·lada, com aquesta: la targeta SD amb NOOBS. No ho vaig fer, però podeu fer un pas si ho feu. Consulteu aquí per obtenir més informació: NOOBS

Una nota sobre CEC: CEC (Consumer Electronics Control) permet que alguns components es controlin mútuament a través del cable HDMI. Per exemple, un reproductor de DVD podria encendre / apagar el televisor connectat mitjançant el cable HDMI si tots dos admeten CEC. Això és útil en el nostre cas, ja que el Raspberry Pi pot encendre / apagar el televisor / monitor com vulgui. Per exemple, en un entorn d’església, ens agradaria tenir el monitor encès només durant les hores en què l’església està oberta i varia segons el dia de la setmana. CEC permet al Pi encendre i apagar el televisor en un horari arbitràriament complex.

Pas 2: munteu la funda Pi

Muntar la funda Pi
Muntar la funda Pi
Muntar la funda Pi
Muntar la funda Pi
Muntar la funda Pi
Muntar la funda Pi

El muntatge és bastant senzill. Enganxeu els dissipadors de calor a les fitxes de la mida corresponent al Raspberry Pi, munteu la caixa capa per capa. No oblideu treure les fines làmines de protecció de plàstic de cada capa.

Pas 3: instal·leu Raspbian

Instal·leu Raspbian
Instal·leu Raspbian

Hi ha una excel·lent guia al lloc de Raspberry Pi. Seguiu aquestes instruccions per configurar-lo.

Configuració del Raspberry Pi

He utilitzat Raspbian Lite, ja que no té aplicacions addicionals que no necessitareu per a aquest projecte.

Pas 4: afegiu programari estàndard i personalitzat

Un cop NOOBS instal·li Raspbian, la primera vegada que inicieu la sessió, se us demanarà informació sobre idiomes, zona horària, etc. També us demanarà informació sobre la xarxa WiFi i la contrasenya, tret que tingueu connexió per cable. Finalment, descarregarà i instal·larà totes les actualitzacions de Raspbian. Us ajuda si sou a la mateixa connexió a Internet que a la configuració final, però no ha de ser-ho. És a dir, podeu fer aquest pas a casa abans d’instal·lar-vos a la ubicació final. Recordeu que heu de configurar la nova connexió a Internet abans del darrer reinici en l’últim pas.

Obriu una finestra de terminal (feu clic a la icona rectangular de color negre situada a prop de la cantonada superior esquerra de la pantalla).

Primer comprovem si hi ha més actualitzacions de Raspbian. Escriviu les línies següents, una per una

actualització sudo apt

actualització sudo apt

(digueu "Y" si us pregunta si voleu instal·lar actualitzacions).

A continuació, instal·lem Samba, que permet compartir carpetes amb els equips Windows a la xarxa.

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

A continuació, instal·larem fbi. fbi és la utilitat Unix que mostra gràfics en una pantalla que no executa un gestor de finestres.

sudo apt install fbi

A continuació, instal·lem inotify-tools. inotify-tools permet a la presentació de diapositives veure la carpeta compartida de qualsevol canvi.

sudo apt install inotify-tools

A continuació, instal·lem cec-utils. cec-utils permet al Raspberry Pi encendre i apagar el televisor mitjançant el cable HDMI.

sudo apt install cec-utils

A continuació, haureu de descarregar les petites utilitats que he escrit per reproduir la presentació de diapositives.

git clone

Això recuperarà el codi i el posarà al directori anomenat raspi_slideshow.

Ara tot el programari està disponible al Raspberry Pi. Els passos següents passen per la configuració.

Pas 5: configureu la carpeta compartida

Per defecte, el codi de presentació de diapositives cerca un directori (carpeta) / compartit / presentació.

Hem de crear aquest directori. Com que es troba al nivell root, necessitem permisos root, de manera que un sudo està en ordre. És possible que hagueu d’escriure la contrasenya (per defecte és raspberry) quan feu aquesta ordre:

sudo mkdir -p / shared / Presentation

A continuació, hem de fer-ho llegible i escriptible per qualsevol persona d’aquest Pi. Escriviu l'ordre següent:

sudo chmod a + rwx / shared / Presentation

Això el fa visible només en aquest Pi. A continuació, hem de compartir aquesta carpeta amb el món (en realitat, només altres màquines de la mateixa xarxa). És per això que recomanem que es faci en una xarxa Wi-Fi privada (protegida amb contrasenya) o en una xarxa local amb cable.

Quan vam instal·lar samba al pas anterior, va crear un fitxer per defecte /etc/samba/smb.conf

Hem d’afegir un munt de línies al final d’aquest fitxer. Les línies es troben al fitxer raspi_slideshow / add_to_smb.conf

La forma més senzilla de fer-ho és la següent:

sudo bash

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

Això bàsicament concatena el fitxer add_to_smb.conf al final de /etc/samba/smb.conf

Si ho preferiu, podeu fer-ho mitjançant un editor com nano, però escriviu una bona quantitat.

Bàsicament comparteix el directori / shared com un directori que qualsevol persona de la xarxa local pot llegir i escriure. No examinaré com protegir-lo aquí, però si voleu que estigui protegit (per editar una contrasenya), podeu llegir a Samba i canviar la configuració en conseqüència.

Pas 6: configureu els paràmetres d'activació / desactivació del monitor

Utilitzem cron per engegar i apagar el televisor / monitor a les hores programades. Cron és una utilitat Linux que executa tasques a hores programades. Si voleu que el vostre televisor / monitor funcioni les 24 hores del dia, els 7 dies de la setmana o que vulgueu engegar-lo i apagar-lo manualment, podeu ometre aquest pas.

Copieu el fitxer crontab d'exemple del directori raspi_slideshow al directori inicial.

cp raspi_slideshow / crontab_example.pi crontab.pi

El fitxer crontab_example.pi és un exemple que mostra com funciona aquest tipus de fitxer. Hi ha molta documentació a la Viquipèdia i a altres llocs:

Ara l’editem. Ajuda a que el vostre horari ja sigui esbrinat. L’exemple d’horari és

  • Diumenge: a les 7 del matí, fora a les 9 del vespre
  • Dimecres: a les 8 del matí i fora a les nou de la nit
  • Dissabte: a les 7 del matí, fora a les 9 del vespre
  • Altres dies: a les 8 del matí i a les 17 hores

M'agrada el nano, ja que està instal·lat amb Raspbian i és fàcil d'utilitzar. Podeu utilitzar vi o qualsevol altre editor.

nano crontab.pi

Editeu el fitxer per especificar les hores d’activació / desactivació de cada dia. Utilitzeu les tecles de fletxa per moure’s. Retrocés per suprimir, escriviu per inserir. Quan hàgiu acabat, feu clic a Control-O per desar (haureu de prémer "entrar" per confirmar el nom del fitxer) i a Control-X per sortir de nano.

Un cop tingueu el fitxer cron tal com el voleu, digueu a Raspbian que voleu executar-lo:

crontab crontab.pi

Si mai voleu canviar la vostra programació, podeu editar $ HOME / crontab.pi i tornar a executar l'ordre crontab immediatament a sobre. Això substituirà la vostra antiga programació per la nova.

Pas 7: configureu els paràmetres de visualització

Configureu els paràmetres de visualització
Configureu els paràmetres de visualització

Quasi hem acabat! Hem de configurar els paràmetres de visualització. fbi és la utilitat que fem servir per mostrar les diapositives. Llegeix la configuració del fitxer.fbirc al directori inicial.

En primer lloc, assegureu-vos que estiguem al directori inicial.

cd $ INICI

A continuació, copieu el fitxer del directori raspi_slideshow a casa

cp raspi_slideshow /.fbirc.

No cal que editeu el fitxer. Tot i això, si trieu, els tres paràmetres que us interessen són:

aleatori = fals

blend-msecs = 500

temps d'espera = 8

La línia aleatòria determina si fbi randomitza l'ordre de la diapositiva. true significa que aleatòriament les diapositives, false significa que no. Com que volíem un cert control sobre l’ordre en què es troben les diapositives, l’hem definit com a fals.

La línia blend-msecs indica quants mil·lisegons (1000 = 1 segon) dura cada transició. Un valor de 0 significa que les diapositives canvien instantàniament d'una a una següent. La nostra configuració de 500 significa que les diapositives s’esvaeixen entre si durant un període de 0,5 segons.

El temps d'espera és el temps (en segons) que es mostra cada diapositiva abans de passar a la següent. Podeu ajustar-ho si voleu que les diapositives siguin més llargues o més curtes. Recordeu que això s'aplica a totes les diapositives per igual. No hi ha manera de fer que algunes diapositives apareguin més llargues i d'altres més curtes.

Gira la pantalla

Si teniu el televisor / monitor muntat verticalment, com fem nosaltres, haureu de girar la pantalla 90 o 270 graus. Si teniu el televisor / monitor muntat horitzontalment, podeu ometre la resta d’aquest pas.

Torneu a utilitzar nano. Aquesta vegada haureu d’executar com a root, de manera que haureu de fer sudo, cosa que pot requerir que torneu a introduir la vostra contrasenya (per defecte és raspberry)

sudo nano /boot/config.txt

Utilitzeu la fletxa cap avall per anar fins a la part inferior d'aquest fitxer. Afegiu la línia següent al final del fitxer:

display_rotate = 1

Això farà girar la pantalla 90 graus. Si després de muntar-lo, la pantalla està cap per avall, canvieu l’1 per un 3.

Bàsicament display_rotate = 0 (sense rotació), 1 (90 graus), 2 (180 graus), 3 (270 graus)

A la imatge superior, havíem definit display_rotate = 1 i havíem de tornar enrere i canviar-lo per display_rotate = 3. Molt més fàcil que tornar a muntar el televisor.

Pas 8: canvieu la contrasenya i configureu l'execució automàtica

Canvieu la contrasenya i configureu l'execució automàtica
Canvieu la contrasenya i configureu l'execució automàtica
Canvieu la contrasenya i configureu l'execució automàtica
Canvieu la contrasenya i configureu l'execució automàtica

En aquest punt, ja estem a punt d’acabar!

Feu clic al menú de gerds a la part superior esquerra, seleccioneu Preferències-> Configuració de gerds Pi

Això obre un quadre de diàleg. Feu clic a "Canvia la contrasenya …" i canvieu-la per una cosa que recordareu.

Podeu triar canviar el nom del sistema (camp Nom de l’amfitrió).

Assegureu-vos de fer clic a Arrenca "A CLI"

Estableix l'inici de sessió automàtic ("Inicia la sessió com a usuari 'pi'")

Ara heu de configurar la presentació de diapositives perquè s’executi en arrencar. La forma més senzilla és afegir una línia al fitxer.bashrc. Arrencant el nostre editor nano:

nano.bashrc

Fletxa avall fins al final del fitxer i afegiu la línia següent:

python3 raspi_slideshow / play_slideshow.py

Aquesta configuració significa que:

  • Sempre que es reinicia, el Raspberry Pi iniciarà la sessió automàticament com a usuari pi
  • No s'iniciarà un gestor de finestres, sinó que només s'executarà a la pantalla ("Arrenca a CLI")
  • S'iniciarà l'intèrpret d'ordres bash, que llegeix el fitxer.bashrc, i l'última línia d'aquest fitxer diu que s'executa la presentació de diapositives.

Després d'això, els reinicis NO activaran el gestor de finestres i executaran automàticament la presentació de diapositives. Podeu aturar la presentació de diapositives prement Control-C durant la presentació de diapositives. Això us farà tornar a la sol·licitud bash ($).

Si voleu iniciar el gestor de finestres des d'aquest punt (per depurar o manipular més fàcilment els paràmetres), podeu fer-ho escrivint "startx" a la línia d'ordres.

Pas 9: utilitzeu (Configuració de la màquina Windows)

En l’ús real, el nostre Raspberry Pi es connecta a la nostra xarxa sense fils privada en iniciar-se. Comparteix el directori / compartit (i tot el que hi ha a sota) a la xarxa. Per veure aquesta carpeta des d'un equip Windows, assegureu-vos que sou a la mateixa xarxa.

Suposo que us connectareu a això des d’un ordinador Windows d’una oficina. Tant per a Windows 7 com per a Windows 10, obriu un Explorador de fitxers per veure els fitxers / carpetes de l'ordinador. Feu clic amb el botó dret a l'esquerra on es diu "Ordinador" o "El meu ordinador" i seleccioneu "Mapa de la unitat de xarxa …"

Això mostrarà un quadre de diàleg. Trieu quina lletra, p. Ex. "Z:" a la qual voleu assignar la vostra unitat. A continuació, al camp Carpeta, escriviu:

{name-of-your-Pi-computer} shared

on {name-of-your-Pi-computer} és el nom que heu retornat al vostre Raspberry pi al pas anterior (vegeu la imatge anterior amb el quadre de diàleg).

Assegureu-vos de fer clic a "Torna a connectar a l'inici de sessió". És possible que si el Raspberry Pi s’apaga quan arrenca l’ordinador Windows, és possible que s’hagi de repetir aquest pas (o reiniciar l’ordinador Windows) per veure la carpeta compartida.

Si decidiu protegir la vostra carpeta amb contrasenya, podeu afegir credencials seleccionant "Connecta amb diferents credencials" i introduïu el nom d'usuari / contrasenya per al Raspberry Pi.

Ara, quan vulgueu que les diapositives entrin a la presentació de diapositives, copieu imatges de diapositives individuals (*) a la carpeta Presentació.

El script supervisarà i mostrarà NOMÉS el contingut de la carpeta Presentation i res al nivell superior a aquest (shared). Per tant, de vegades fem servir el truc de col·locar diapositives d’ús habitual al nivell superior i després arrossegar-les segons calgui dins o fora de la carpeta Presentació.

Recordeu, quan qualsevol cosa de la carpeta Presentation canvia (s’afegeixen, s’eliminen o modifiquen fitxers), l’escript de presentació de diapositives espera 2 minuts (120 segons, configurable a play_slideshow.py, cerqueu el temps d’espera) abans de restablir i mostrar les noves diapositives. Això dóna a la persona temps per fer tots els canvis necessaris sense restablir després d'afegir cada fitxer nou.

Les imatges de diapositives individuals són fitxers jpeg, gif o png que representen una sola diapositiva. La forma més senzilla de generar-los és mitjançant Microsoft PowerPoint o un programa similar. Podeu generar tantes diapositives com vulgueu a Microsoft PowerPoint i desar-les com a presentació de PowerPoint. A continuació, feu clic a Fitxer-> Exporta-> Canvia el tipus de fitxer i deseu-lo com a PNG o JPEG. Això generarà les diapositives com a fitxers individuals, p. Ex. slide1.png, slide2.png, etc. A continuació, podeu arrossegar i deixar anar fitxers individuals a Z: / Presentation (o qualsevol lletra de la unitat que hàgiu fet servir). Tingueu en compte que la presentació es combina en ordre alfabètic (no numèric), de manera que slide11.png apareix després de slide1.png i abans de slide2.png. Per descomptat, podeu canviar el nom de les diapositives abans de copiar-les a la carpeta de xarxa. Assegureu-vos que conservin la seva extensió (per exemple.png). Actualment, l'script de presentació de diapositives només busca fitxers amb les extensions següents:.png,.png,.gif,.gif,.jpg,-j.webp

Pas 10: resolució de problemes

La majoria de problemes es poden resoldre amb l’antiga solució “intenteu apagar-la i tornar-la a engegar”.

Si el vostre Raspberry Pi no es connecta, no s’actualitza o sembla que generalment està bloquejat, proveu de fer-lo servir.

Si la vostra màquina Windows perd la unitat de xarxa mapada, proveu de fer-la ciclista o torneu-la a afegir manualment.

Si teniu altres preguntes o problemes, envieu-los als comentaris i actualitzaré aquest pas amb problemes habituals i les seves solucions.

Pas 11: Conclusió i treball futur

FET

En aquest moment, podeu reiniciar el Raspberry Pi, ja sigui a través dels menús o amb el botó d’engegada del cable d’alimentació. El més interessant d’aquesta configuració és que, sempre que arrenca el Pi (fallada d’energia, fallada, qualsevol cosa), s’inicia en mode de presentació de diapositives, de manera que podeu fer un cicle d’alimentació a voluntat i s’hauria de recuperar bé. Un cop instal·lat i funcionant, podeu "configurar-lo i oblidar-lo", a part de les actualitzacions de les diapositives. En el nostre cas, l’administrador de l’església actualitza setmanalment les diapositives i aquest sistema ha funcionat impecablement durant aproximadament un any.

Doneu comentaris. Estic recepta a corregir errors o inexactituds. Entenc que hi ha moltes maneres diferents de fer les coses, de manera que no em fa il·lusió respondre a preguntes com "per què heu utilitzat Python en lloc de {llenguatge de programació X}?" O suggeriments que són funcionalment iguals (com "sudo apt" tots els paquets alhora en lloc d'un a la vegada). Tot i això, les millores funcionals sempre són benvingudes. Intento que això sigui el més funcional i útil possible, alhora que és fàcil d’instal·lar i de mantenir. En particular, gaudeixo dels comentaris d’aquells que s’han beneficiat d’aquest Instructable. Estic encantat d'ajudar-vos si puc.

Treball futur

Començo a treballar en una versió que permetrà barrejar fitxers de vídeo (amb so) amb les diapositives estàtiques. Crec que puc utilitzar vlc per a això des de la línia d'ordres. Actualitzaré això si puc aconseguir que funcioni. No dubteu a fer suggeriments.

Recomanat: