Innholdsfortegnelse:

En Digital Sign Server på en Raspberry Pi: 8 trinn
En Digital Sign Server på en Raspberry Pi: 8 trinn

Video: En Digital Sign Server på en Raspberry Pi: 8 trinn

Video: En Digital Sign Server på en Raspberry Pi: 8 trinn
Video: Create your own Canon Printer server with Raspberry Pi 2024, Juli
Anonim
En Digital Sign Server på en Raspberry Pi
En Digital Sign Server på en Raspberry Pi

En absolutt nybegynnerguide til Korsika på et bringebær -PI

Digitale skilt er overalt. Du ser dem på flyplasser, kjøpesentre, varehus og til og med gatehjørner. Du trenger ikke mye dyr tilpasset maskinvare for å bygge ditt eget digitale skiltsystem. Denne instruksjonsfilen viser hvordan du bygger en digital signageserver som kan kjøre dusinvis av skjermer. Hver skjerm kan være så enkel som en skjerm og en Raspberry PI.

Takket være Node Ninjas på Mozilla kan du til og med kjøre serveren på en Raspberry Pi ved å bruke Corsica.

Korsika er en utvidbar digital skilteløsning som kan implementeres på de fleste POSIX -systemer. Den består av en server og skjermklienter. Klientmaskiner krever ikke spesiell programvare og kjører bare en moderne nettleser, selv om alle på Corsica -teamet anbefaler Firefox på det sterkeste. Serveren bruker svært få ressurser og vil gjerne kjøre på en Raspberry Pi eller annen veldig liten maskin. En Corsica -server som kjører på en Raspberry Pi 3+ kan enkelt støtte mer enn 100 klientdisplayer. Disse instruksjonene er skrevet spesielt for en Raspberry Pi som kjører Raspian -operativsystemet (et Debian -derivat). Disse instruksjonene antar også at du bruker Firefox -nettleseren. De fleste andre moderne nettlesere bør også fungere.

Trinn 1: Raspian -kommandolinjen

Disse instruksjonene viser deg hvordan du konfigurerer Korsika gjennom kommandolinjen. Hvis du bruker Raspian med det grafiske brukergrensesnittet (GUI), kommer du til kommandolinjen via terminalprogrammet. Hvis du kjører Raspian-lite, kan du koble til et tastatur og en skjerm og bruke kommandolinjen direkte, eller du kan koble til over nettverket ved hjelp av SSH. For mer informasjon om hvordan du aktiverer og bruker SSH, se Raspian SSH -dokumentasjonen. Du må kjenne DNS -navnet eller IP -adressen til Raspberry Pi. Standardnavnet på de fleste LAN -er vil være raspberrypi.local. Hvis det ikke fungerer, er det instruksjoner i Raspian -dokumentasjonen som hjelper deg med å finne riktig navn og IP -adresse.

Trinn 2: Programvareinstallasjon

Korsika bruker node og npm. Node lar deg kjøre Javascript på serversiden, og npm er nodepakkebehandleren.

For å installere disse på en Raspberry Pi må du først sjekke versjonen av prosessoren i systemet ditt:

uname -m

Hvis resultatet starter med armv6, kan du se dette blogginnlegget. For Raspberry Pi 3 -systemer og andre med armv7 og senere prosessorer:

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -

sudo apt install nodejs

Hvis du ikke er kjent med Node, kan du lære mer på nodesource.com.

Deretter installerer du Corsica Command Line Tools:

sudo npm install -g corsica -cli

For å se de tilgjengelige kommandoene, skriv inn

korsika -hjelp

Når dette skrives er de tilgjengelige kommandoene:

oppsett-- for å sette opp en Korsika-serverstart [alternativer]-for å starte omstart av Korsika-serveren [alternativer]-for å starte en Korsika-serverstopp på nytt-for å stoppe en kjørende Corsica-server-plugin [navn]-for å installere et pluginfjerne- plugin [navn]-for å fjerne en installert pluginlist-plugins-for å vise den installerte plugins-oppdateringen-for å oppdatere både Corsica og dets plugins

Nå kan du bruke verktøyene til å sette opp Corsica-programvaren:

oppsett av korsika

Korsika -oppsettet vil spørre hvor du vil installere korsika og vise deg standardplasseringen:

Hvor installeres Korsika: (/home/pi/corsica-server)

Du kan ganske enkelt trykke på retur.

Du får se noen advarsler om npm. Disse er trygge å ignorere.

Når oppsettet sier "Ferdig!", Har du installert Korsika.

Du kan starte Korsika i terminaløkten med:

korsika start

Og stopp det med kontroll-C.

Men hvis du starter det på den måten, vil det bare kjøre så lenge terminaløkten går. Når du lukker terminaløkten, stopper korsika.

Hvis du starter Korsika i bakgrunnen, vil den kjøre selv etter at du har koblet fra terminaløkten. Du kan gjøre det med

korsika start --bakgrunn

For å stoppe en Korsika -forekomst som kjører i bakgrunnen, skriver du inn:

korsika stopp

Trinn 3: Konfigurasjon

Oppsettet ditt vil trolig trenge litt tilpasning. Det er to typer tilpasninger på Korsika: konfigurasjon og innstillinger. Konfigurasjon er stort sett statisk og brukes av kjernen. Innstillinger er dynamiske og brukes hovedsakelig av plugins. Mer om innstillinger senere.

Konfigurasjon kommer fra miljøet, og er for veldig statiske ting, for eksempel porten du kan lytte til, eller pluginene som skal lastes inn. Det er fire kilder for konfigurering:

1. lib/config.json - Det er her standardinnstillingene er lagret, og et godt sted å se noe av det som kan konfigureres. Du bør ikke endre verdier her.

2. config.js - Innstillinger som finnes i denne filen lastes inn som om de var fra miljøet. Syntaksen er én konfigurasjon per linje, f.eks. `PORT = 8080`. Hvis verdiene her er gyldige JSON, blir de analysert som sådan. Innstillinger her vil overstyre standardene i `lib/config.json`. Config.js -filen spesifiserer først portnummeret som Korsika lytter til, og pluginene som brukes av systemet.

3..env - Hvis den skjulte filen som heter.env er i korsika -katalogen, lastes innstillingene som om de var fra miljøet. Syntaksen er den samme som i config.js. Denne filen finnes ikke i standardkonfigurasjonen.

4. Miljøvariabler - Du kan sette konfigurasjonsinformasjon i systemmiljøvariabler hvis du foretrekker det. Hvis du ikke er kjent med miljøvariabler, er det trygt å ignorere dette alternativet.

Trinn 4: Koble til skjermbilder

Når du starter Corsica, kjører den en webserver på port 8080 på maskinen din, med mindre du har endret portnummeret i.env -filen. Du må kjenne enten vertsnavnet eller IP -adressen til din Pi. Standardnavnet for en ny Raspberry Pi -installasjon er raspberrypi. Hvis du ikke har endret det, kan du bare åpne en nettleser på skjermklientmaskinen og bla til:

raspberrypi.local: 8080

Du bør se den gule og svarte Korsika -logoen. En boble vil dukke opp med korsika -navnet til klienten din. Du kan (og bør) endre navnet på klienten din til noe som indikerer plasseringen av denne skjermen. Den enkleste måten å gjøre dette på er å bruke Potch's corsica-repl. (Potch er hovedutvikler av Korsika, og han har lovet å sette erstatning inn i kjernen av Korsika en gang snart).

Åpne en nettleserfane og bla til:

potch.github.io/corsica-repl?server=https://raspberrypi.local:8080/

(Det forutsetter at raspberrypi.local er navnet på din Corsica Server).

Vi bruker "TestClient" som navnet på klientdisplayet for resten av denne opplæringen. Gå til rullegardinmenyen i nedre høyre hjørne av skjermen og finn klientnavnet som dukket opp. Deretter i kommandolinjen nederst til venstre på skjermtypen:

admin type = gi nytt navn = TestClient

La fanen corsica-repl være åpen og bytt til nettleserfanen som viser Korsika-logoen og oppdater siden. Du vil se det nye navnet i popup-boblen. Hvis den forsvinner for raskt, holder du musen i nedre høyre hjørne og "Fullskjerm" -knappen vises med det nye navnet til venstre.

Trinn 5: Legge til innhold

Legger til innhold
Legger til innhold

Etter å ha vist Corsica -logoen vil klienten vise noen tegneseriedyr på en blå bakgrunn.

Standardkoden i state.json -filen inneholder en liste over nettadresser. Du kan presentere hvilken som helst nettside på denne måten, selv om oppsettet på noen sider gjør dem mindre egnet for bruk på Korsika.

En Korsika -klient viser innhold fra en eller flere tagger som den abonnerer på. Nye klienter abonnerer allerede på en tagg som heter "standard".

Tegneserie dyr er søte, men la oss legge til noe nyttig innhold i skjermrotasjonen på testklienten vår.

Gå tilbake til korsika-repl-fanen og i kommandolinjen nederst til venstre:

admin type = subscribe tag = weather

Bytt tilbake til skjermklientfanen og oppdater siden.

En værmelding for San Jose, California, vil bli lagt til listen over nettadresser som vises.

Vår eksempel state.json -fil inneholder tre koder som heter "standard", "vær" og "bilder". "Bilder" -taggen inneholder koblinger til flere tegneseriedyr -grafikkfiler (.png). La oss legge dem til ved å bytte tilbake til fanen korsika-erstatning og skrive:

admin type = subscribe tag = images

Gå igjen til fanen for visningsklient og oppdater siden. Du vil se noen nye dyr lagt til rotasjonen. Men legg merke til at de nye dyrene vises på venstre kant av siden med hvit bakgrunn. Det er fordi tegneseriene med den blå bakgrunnen er oppført i state.json som nettadresser som peker til en skikkelig webside skrevet i html. De nye tegneseriene med den hvite bakgrunnen er oppført i state.json som nettadresser som bare peker på-p.webp

Vi kan forbedre måten grafikken vises på av Korsika, men for å gjøre det må vi "utvide" Korsika selv.

Trinn 6: Forlengelse av Korsika

Forlengelse av Korsika
Forlengelse av Korsika

Mer enn et dusin npm Corsica -plugins er tilgjengelig på npm -nettstedet. Følg denne koblingen og skriv inn "korsika" i søkefeltet øverst på siden for å se en liste over dem. Vi bruker en av disse npm -pluginene for å la deg vise våre nye dyr. Det er også nyttig å vise et hvilket som helst bilde du finner på nettet, uten å vise distraherende grafikk rundt bildet.

Gå til Korsika kommandolinje, stopp Korsika og installer korsika-bilde-plugin:

corsica add-plugin corsica-image

Start deretter korsika på nytt:

korsika start

Åpne kategorien korsika -skjermklient i nettleseren din og oppdater siden. Du bør se de nye dyrene sentrert på skjermen med en mørk blå bakgrunn.

Trinn 7: Tilpasse innhold

La oss se på forskjellen mellom hva nettadressene i standard -taggen gjør og de i bilder -taggen. Ta en titt på state.json ved å gå til kommandolinjen på Korsika og skrive:

cat ~/corsica-server/state.json

I delen "standard" i filen finner du en linje som ser ut som:

"https://ramilewski.github.io/corsica-support/show.html?image=kitty.png", Denne nettadressen er en lenke til en webside med en tegneserie av en kattunge. Den websiden viser et bilde, men den gir også en bakgrunn som er en gradient som starter øverst på siden som en blå farge, og blekner til hvitt nederst på siden. Denne bakgrunnen er opprettet av CSS og HTML på websiden. Det er ikke en del av selve grafikken.

"Bilder" -delene på siden har en linje som ser slik ut:

"https://ramilewski.github.io/corsica-support/bunny.png bg =#2244BB", Dette er en nettadresse som spesifiserer en lenke til-p.webp

"#2244BB" er heksadesimal notasjon for en mørk blå farge. For et verktøy som hjelper deg med å angi hvilken som helst farge i hex -notasjon, se MDN -fargevelgeren.

Ved å vise denne linjen har Corsica brukt plugin for korsika-bilde for å gjengi skjermen. Dette betyr at hvis du finner et bilde du vil vise på Korsika -klientens skjermer, kan du opprette en linje i state.json som viser akkurat det bildet, men ikke noe annet distraherende innhold på siden rundt. For å finne en URL-adresse til et bilde i Firefox, høyreklikker du på bildet og velger "Kopier bildeplassering" i hurtigmenyen som vises.

"Vær" -delen av state.json har bare én nettadresse. Dette henter en værmelding fra https://forecast.io. Men med mindre du bor i San Jose, er den prognosen ikke veldig nyttig. For å få en prognose for posisjonen din, må du vite at det er breddegrad og lengdegrad i desimalgrader. Hvis du ikke gjør det, er det et nettbasert verktøy som lar deg finne det.

Akkurat nå ser nettadressen på linjen i state.json som spesifiserer værmeldingen ut:

"https://forecast.io/embed/#lat=37.3352&lon=-121.8871&name=San%20Jose%20CA&color=#4466bb zoom = 300"

For å få prognosen for posisjonen din, endre lat og lon oppføringene på den linjen og endre navnet til posisjonen din. Bruk %20 i stedet for mellomrom i stedsnavnet. Fargeparameteren angir fargen på stolpene mellom høye og lave temperaturer. Zoomparameteren brukes til å justere størrelsen på prognosen slik at den passer på skjermen.

Når du oppretter din egen state.json -fil, må du huske at hvis du har en "standard" -tagge, vil alt innhold som er angitt i denne koden, vises i en hvilken som helst nettleser som kobles til serveren uten ytterligere konfigurasjon.

Visningstid

På toppen av state.json er det noen innstillinger som styrer hvor lenge hvert bilde vises på skjermen.

"settings:: timer": {

"resetTime": 30000, "jitter": 5000, Alle tidene måles i millisekunder (tusendeler av et sekund). Reset -tiden er den maksimale tiden hvert bilde er på skjermen før neste skjermbilde vises. Jitter multipliseres med et tilfeldig tall mellom -1 og 1, og resultatet legges til resetTime. Dette gir litt variasjon i visningstider. Du kan sette jitter til 0 hvis du ønsker det. Innstillingene som vises vil resultere i at hver side vises i mellom 25 og 35 sekunder.

Du kan også angi forskjellige tider for hver skjermklient:

"settings:: timer": {

"resetTime": 30000, "jitter": 5000, "resetOnConnect": true, "screens": {"TestClient": {"resetTime": 10000, "jitter": 1000}}}, Her har vi satt visningstiden for vår TestClient til mellom 9 og 11 sekunder.

Trinn 8: Konklusjon

Vi har vist hvordan du installerer og konfigurerer en Corsica -server på en Raspberry Pi. Med det du har lært her, kan du bygge et allsidig, rimelig digitalt skiltesystem. Du kan bruke Raspberry Pis ikke bare som serveren i systemet ditt, men også for å drive klientdisplayer.

Det er mange flere plugins på npm -nettstedet som du kan bruke til å legge til andre funksjoner i Korsika -installasjonen, inkludert visning:

  • Bilder fra Flickr
  • Tweets
  • Samtaler i en IRC -kanal
  • Videofiler
  • YouTube -videoer
  • Lysbilder i Google -presentasjoner
  • XKCD -tegneserier
  • Innhold fra en RSS -feed

Studiepoeng

Korsika er opprettelsen av tredjegrads blackbelt Node Ninjas fra Mozilla ledet av potch, lonnen og mythmon.

Disse instruksjonene for Corsica on Raspberry Pis ble brolagt sammen av Richard.

Du kan vanligvis finne alle som lurer rundt #corsica -kanalen på irc.mozilla.org.

Anbefalt: