Indholdsfortegnelse:

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

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

Video: En Digital Sign Server på en Raspberry Pi: 8 trin
Video: Using FLDIGI and FT-8 on a Raspberry Pi Computer 2024, Juli
Anonim
En Digital Sign Server på en Raspberry Pi
En Digital Sign Server på en Raspberry Pi

En absolut begyndervejledning til Korsika på et hindbær -PI

Digitale skilte er overalt. Du ser dem i lufthavne, indkøbscentre, stormagasiner og endda gadehjørner. Du behøver ikke en masse dyr brugerdefineret hardware til at bygge dit eget digitale skiltsystem. Denne instruks viser, hvordan man bygger en digital skilteserver, der kan køre snesevis af skærme. Hver skærm kan være lige så enkel som en skærm og et Raspberry PI.

Takket være Node Ninjas på Mozilla kan du endda køre serveren på en Raspberry Pi ved hjælp af Corsica.

Corsica er en udvidelig digital skilteløsning, der kan implementeres på de fleste POSIX -systemer. Det består af en server og displayklienter. Klientmaskiner kræver ikke særlig software og kører ganske enkelt enhver moderne webbrowser, selvom alle på Corsica -teamet stærkt anbefaler Firefox. Serveren bruger meget få ressourcer og vil med glæde køre på en Raspberry Pi eller en anden meget lille maskine. En Corsica -server, der kører på en Raspberry Pi 3+, kan let understøtte mere end 100 klientdisplays. Disse instruktioner er skrevet specifikt til en Raspberry Pi, der kører Raspian -operativsystemet (et Debian -derivat). Disse instruktioner forudsætter også, at du bruger Firefox -browseren. De fleste andre moderne browsere burde også fungere.

Trin 1: Raspian -kommandolinjen

Disse instruktioner viser dig, hvordan du konfigurerer Korsika via kommandolinjen. Hvis du bruger Raspian med den grafiske brugergrænseflade (GUI), kommer du til kommandolinjen via terminalprogrammet. Hvis du kører Raspian-lite, kan du tilslutte et tastatur og en skærm og bruge kommandolinjen direkte, eller du kan oprette forbindelse via netværket ved hjælp af SSH. For mere information om, hvordan du aktiverer og bruger SSH, se Raspian SSH -dokumentationen. Du skal kende DNS -navnet eller IP -adressen på din Raspberry Pi. Standardnavnet på de fleste LAN'er vil være raspberrypi.local. Hvis det ikke virker, er der instruktioner i Raspian -dokumentationen, der hjælper dig med at finde det korrekte navn og IP -adresse.

Trin 2: Softwareinstallation

Korsika bruger node og npm. Node lader dig køre Javascript på serversiden, og npm er nodepakkehåndteringen.

For at installere disse på en Raspberry Pi skal du først kontrollere versionen af processoren i dit system:

uname -m

Hvis resultatet starter med armv6, se dette blogindlæg. Til Raspberry Pi 3 -systemer og andre med armv7 og senere processorer:

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

sudo apt installer nodejs

Hvis du ikke kender Node, kan du lære mere på nodesource.com.

Installer derefter Corsica Command Line Tools:

sudo npm install -g corsica -cli

For at se de tilgængelige kommandoer skal du skrive

korsika -hjælp

I skrivende stund er de tilgængelige kommandoer:

opsætning-- til opsætning af en Korsika-serverstart [muligheder]-for at starte genstart af Korsika-server [valgmuligheder]-for at genstarte en kørende korsika-serverstop-for at stoppe et kørende korsika-server-plugin [navn]-for at installere et pluginfjerne- plugin [navn]-for at fjerne en installeret pluginlist-plugins-for at liste de installerede plugins-opdateringer-for at opdatere både Corsica og dets plugins

Nu kan du bruge værktøjerne til at opsætte Corsica-softwaren:

opsætning af korsika

Korsika opsætning vil spørge, hvor du vil installere korsika og vise dig standardplaceringen:

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

Du kan simpelthen trykke på retur.

Du får vist nogle npm -advarsler. Disse er sikre at ignorere.

Når opsætningen siger "Udført!", Har du installeret Korsika.

Du kan starte Korsika i din terminalsession med:

korsika start

Og stop det med kontrol-C.

Men hvis du starter det på den måde, vil det kun køre, så længe din terminalsession kører. Når du lukker din terminalsession, stopper korsika.

Hvis du starter Korsika i baggrunden, kører det, selv efter at du har afbrudt din terminalsession. Det kan du gøre med

corsica start --baggrund

For at stoppe en Korsika -forekomst, der kører i baggrunden, skal du skrive:

stop korsika

Trin 3: Konfiguration

Din opsætning vil sandsynligvis have brug for tilpasning. Der er to former for tilpasning på Korsika: konfiguration og indstillinger. Konfiguration er for det meste statisk og bruges af kernen. Indstillinger er dynamiske og bruges mest af plugins. Mere om indstillinger senere.

Konfiguration kommer fra miljøet og er til meget statiske ting, f.eks. Porten at lytte til eller plugins, der skal indlæses. Der er fire kilder til konfiguration:

1. lib/config.json - Det er her, standardindstillingerne gemmes, og et godt sted at se noget af det, der kan konfigureres. Du bør ikke ændre værdier her.

2. config.js - Indstillinger fundet i denne fil indlæses som om de var fra miljøet. Syntaksen er en konfiguration pr. Linje, f.eks. `PORT = 8080`. Hvis værdierne her er gyldige JSON, bliver de analyseret som sådan. Indstillinger her tilsidesætter standardindstillingerne i `lib/config.json`. Filen config.js angiver oprindeligt det portnummer, som Corsica lytter til, og de plugins, der bruges af systemet.

3..env - Hvis den skjulte fil, der hedder.env, er i Corsica -biblioteket, indlæses dens indstillinger som om de var fra miljøet. Syntaksen er den samme som i config.js. Denne fil findes ikke i standardkonfigurationen.

4. Miljøvariabler - Du kan sætte konfigurationsoplysninger i systemmiljøvariabler, hvis du foretrækker det. Hvis du ikke er bekendt med miljøvariabler, er det sikkert at ignorere denne mulighed.

Trin 4: Tilslutning af skærme

Når du starter Corsica, kører den en webserver på port 8080 på din maskine, medmindre du har ændret portnummeret i.env -filen. Du skal enten kende værtsnavnet eller IP -adressen på din Pi. Standardnavnet for en ny Raspberry Pi -installation er raspberrypi. Hvis du ikke har ændret det, kan du bare åbne en browser på din skærmklientmaskine og gå til:

raspberrypi.local: 8080

Du skal se det gule og sorte Korsika -logo. En boble dukker op med korsika -navnet på din klient. Du kan (og bør) ændre navnet på din klient til noget, der angiver placeringen af denne særlige skærm. Den nemmeste måde at gøre dette på er at bruge Potchs corsica-repl. (Potch er hovedudvikler af Korsika, og han har lovet at lægge erstatning ind i kernen på Korsika engang snart).

Åbn en browserfane, og søg efter:

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

(Det forudsætter at raspberrypi.local er navnet på din Corsica Server).

Vi bruger "TestClient" som navnet på klientdisplayet i resten af denne vejledning. Gå til rullemenuen i nederste højre hjørne af skærmen, og find det klientnavn, der dukkede op. Derefter i kommandolinjen nederst til venstre på skærmtypen:

admin type = omdøb navn = TestClient

Lad fanen corsica-repl være åben, og skift til browserfanen, der viser Corsica-logoet, og opdater siden. Du vil se det nye navn i pop-up-boblen. Hvis den forsvinder for hurtigt, skal du holde musen i nederste højre hjørne, og knappen "Fuld skærm" vises med det nye navn til venstre.

Trin 5: Tilføjelse af indhold

Tilføjelse af indhold
Tilføjelse af indhold

Efter at have vist Corsica -logoet viser klienten nogle tegneseriedyr på en blå baggrund.

Standardtagget i filen state.json indeholder en liste over websideadresser. Du kan præsentere enhver webside på denne måde, selvom layoutet på nogle sider gør dem mindre velegnede til brug med Korsika.

En Corsica -klient viser indhold fra et eller flere tags, som den abonnerer på. Nye klienter abonnerer allerede på et tag, der hedder "standard".

Tegneseriedyr er søde, men lad os tilføje noget nyttigt indhold til skærmrotationen på vores testklient.

Vend tilbage til fanen corsica-repl og i kommandolinjen nederst til venstre:

admin type = subscribe tag = weather

Skift tilbage til fanen displayklient, og opdater siden.

En vejrudsigt for San Jose, Californien, tilføjes til listen over viste webadresser.

Vores sample state.json -fil indeholder tre tags med navnet "standard", "vejr" og "billeder". "Billeder" -mærket indeholder links til flere tegneserie -dyregrafik (.png) -filer. Lad os tilføje dem ved at skifte tilbage til fanen corsica-repl og skrive:

admin type = subscribe tag = billeder

Gå igen til fanen Display -klient og opdater siden. Du vil se nogle nye dyr tilføjet til rotationen. Men læg mærke til, at de nye dyr vises på venstre side af siden med en hvid baggrund. Det er fordi tegnefilmene med den blå baggrund er angivet i state.json som urls, der peger på en ordentlig webside skrevet i html. De nye tegnefilm med den hvide baggrund er angivet i state.json som urls, der bare peger på-p.webp

Vi kan forbedre den måde, hvorpå denne grafik vises af Korsika, men for at gøre det bliver vi nødt til at "udvide" Korsika selv.

Trin 6: Udvidelse af Korsika

Forlængelse af Korsika
Forlængelse af Korsika

Mere end et dusin npm Corsica -plugins er tilgængelige på npm -webstedet. Følg dette link, og indtast "corsica" i søgefeltet øverst på siden for at se en liste over dem. Vi bruger et af disse npm -plugins til at lade dig vise vores nye dyr. Det er også nyttigt at vise ethvert billede, du finder på internettet, uden at vise distraherende grafik omkring billedet.

Gå til kommandolinjen på Korsika, stop Korsika, og installer plugin til korsika-billede:

corsica add-plugin corsica-image

Genstart derefter Korsika:

korsika start

Åbn fanen corsica display -klient i din browser, og opdater siden. Du bør se de nye dyr vises centreret på skærmen med en mørkeblå baggrund.

Trin 7: Tilpasning af indhold

Lad os se på forskellen mellem, hvad url'erne i standardtagget gør, og dem i billedtagget. Tag et kig på state.json ved at gå til kommandolinjen på Korsika og skrive:

cat ~/corsica-server/state.json

I sektionen "standard" i den fil finder du en linje, der ligner:

"https://ramilewski.github.io/corsica-support/show.html?image=kitty.png", Denne url er et link til en webside med en tegneserie af en killing. Denne webside viser et billede, men det giver også en baggrund, der er en gradient, der starter øverst på siden som en blå farve og falmer til hvid i bunden af siden. Denne baggrund er skabt af CSS og HTML på websiden. Det er ikke en del af selve grafikken.

"Billeder" -afsnittene på siden har en linje, der ligner:

"https://ramilewski.github.io/corsica-support/bunny.png bg =#2244BB", Dette er en url, der angiver et link til-p.webp

"#2244BB" er hexadecimal notation for en mørkeblå farve. For et værktøj til at hjælpe dig med at angive enhver farve i hex -notation, se MDN -farvevælgeren.

Ved visningen af denne linje har Corsica brugt pluginet corsica-image til at gengive displayet. Det betyder, at hvis du finder et billede, du vil vise på dine Corsica -klientdisplays, kan du oprette en linje i state.json, der viser netop det billede, men ikke andet distraherende indhold på den omkringliggende side. For at finde webadressen til et billede i Firefox skal du højreklikke på billedet og vælge "Kopier billedplacering" i den kontekstmenu, der vises.

"Vejret" -delen af state.json har kun én url. Dette henter en vejrudsigt fra https://forecast.io. Men medmindre du bor i San Jose, er den prognose ikke særlig nyttig. For at få en prognose for din placering skal du vide, at det er breddegrad og længdegrad i decimalgrader. Hvis du ikke gør det, er der et webbaseret værktøj, der lader dig finde det.

Lige nu ser url'en i linjen i state.json, der angiver vejrudsigten ud:

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

For at få vejrudsigten for din placering, skal du ændre lat og lon -posterne på den linje og ændre navnet til din placering. Brug %20 i stedet for mellemrum i stednavnet. Farveparameteren angiver stængernes farve mellem de høje og lave temperaturer. Zoomparameteren bruges til at justere størrelsen på prognosen, så den passer til skærmen.

Når du opretter din egen state.json -fil, skal du huske, at hvis du har et "standard" -tag, vises alt indhold, der er angivet i dette mærke, i enhver browser, der opretter forbindelse til serveren uden yderligere konfiguration.

Display Timing

På toppen af state.json er der nogle indstillinger, der styrer, hvor længe hvert billede vises på skærmen.

"indstillinger:: timer": {

"resetTime": 30000, "jitter": 5000, Alle tider måles i millisekunder (tusindedele af et sekund). Nulstillingstiden er den maksimale tid, hvert billede er på skærmen, før det næste skærmbillede vises. Jitter ganges med et tilfældigt tal mellem -1 og 1, og resultatet tilføjes til resetTime. Dette giver en vis variation i visningstider. Du kan indstille jitter til 0, hvis du ønsker det. De viste indstillinger resulterer i, at hver side vises i mellem 25 og 35 sekunder.

Du kan også indstille forskellige tidspunkter for hver skærmklient:

"indstillinger:: timer": {

"resetTime": 30000, "jitter": 5000, "resetOnConnect": true, "screens": {"TestClient": {"resetTime": 10000, "jitter": 1000}}}, Her har vi indstillet visningstiden for vores TestClient til mellem 9 og 11 sekunder.

Trin 8: Konklusion

Vi har vist, hvordan du installerer og konfigurerer en Corsica -server på en Raspberry Pi. Med det, du har lært her, kan du opbygge et alsidigt, meget billigt digitalt skiltesystem. Du kan bruge Raspberry Pis ikke kun som serveren i dit system, men også til at drive klientdisplays.

Der er mange flere plugins på npm -webstedet, som du kan bruge til at tilføje andre funktioner til din Corsica -installation, herunder visning:

  • Billeder fra Flickr
  • Tweets
  • Samtaler i en IRC -kanal
  • Videofiler
  • YouTube -videoer
  • Dias i Google -præsentationer
  • XKCD tegnefilm
  • Indhold fra et RSS -feed

Credits

Korsika er oprettelsen af tredjegrads blackbelt Node Ninjas fra Mozilla ledet af potch, lonnen og mythmon.

Disse instruktioner for Korsika om Raspberry Pis blev brolagt sammen af Richard.

Du kan normalt finde alle, der lurer rundt på #corsica -kanalen på irc.mozilla.org.

Anbefalede: