Innehållsförteckning:

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

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

Video: En Digital Sign Server på en Raspberry Pi: 8 steg
Video: Get started with the Raspberry Pi High End Audio DAC 2024, November
Anonim
En digital skyltserver på en Raspberry Pi
En digital skyltserver på en Raspberry Pi

En absolut nybörjarguide till Korsika på ett hallon -PI

Digitala skyltar finns överallt. Du ser dem på flygplatser, köpcentra, varuhus och till och med gathörn. Du behöver inte mycket dyr anpassad hårdvara för att bygga ditt eget digitala skyltsystem. Denna instruktion visar hur man bygger en digital skyltningsserver som kan driva dussintals skärmar. Varje bildskärm kan vara så enkel som en bildskärm och en Raspberry PI.

Tack vare Node Ninjas på Mozilla kan du till och med köra servern på en Raspberry Pi med Corsica.

Korsika är en utbyggbar digital skyltningslösning som kan implementeras på de flesta POSIX -system. Den består av en server och displayklienter. Klientmaskiner kräver ingen speciell programvara och kör helt enkelt alla moderna webbläsare, även om alla i Corsica -teamet rekommenderar Firefox. Servern förbrukar väldigt få resurser och kör gärna på en Raspberry Pi eller annan mycket liten maskin. En Corsica -server som körs på en Raspberry Pi 3+ kan enkelt stödja mer än 100 klientskärmar. Dessa instruktioner är speciellt skrivna för en Raspberry Pi som kör Raspian -operativsystemet (ett Debian -derivat). Dessa instruktioner förutsätter också att du använder webbläsaren Firefox. De flesta andra moderna webbläsare borde också fungera.

Steg 1: Raspian -kommandoraden

Dessa instruktioner visar dig hur du konfigurerar Korsika via kommandoraden. Om du använder Raspian med det grafiska användargränssnittet (GUI) kommer du till kommandoraden via terminalprogrammet. Om du kör Raspian-lite kan du ansluta ett tangentbord och en bildskärm och använda kommandoraden direkt, eller så kan du ansluta via nätverket med SSH. Mer information om hur du aktiverar och använder SSH finns i Raspian SSH -dokumentationen. Du måste känna till DNS -namnet eller IP -adressen för din Raspberry Pi. Standardnamnet på de flesta LAN är raspberrypi.local. Om det inte fungerar finns det instruktioner i Raspian -dokumentationen som hjälper dig att hitta rätt namn och IP -adress.

Steg 2: Programvaruinstallation

Korsika använder nod och npm. Med Node kan du köra Javascript på serversidan och npm är nodpakethanteraren.

För att installera dessa på en Raspberry Pi kontrollerar du först versionen av processorn i ditt system:

uname -m

Om resultatet börjar med armv6, se det här blogginlägget. För Raspberry Pi 3 -system och andra med armv7 och senare processorer:

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

sudo apt installera nodejs

Om du inte känner till Node kan du lära dig mer på nodesource.com.

Installera därefter Corsica Command Line Tools:

sudo npm installera -g corsica -cli

Skriv de tillgängliga kommandona

korsika --hjälp

När detta skrivs är de tillgängliga kommandona:

setup-- för att konfigurera en Corsica-serverstart [optioner]-för att starta Corsica-serverns omstart [optioner]-för att starta om en Corsica-serverstopp som körs-för att stoppa en Corsica-server lägg till plugin [namn]-för att installera ett pluginborttagning- plugin [namn]-för att ta bort en installerad pluginlist-plugins-för att lista den installerade pluginsupdate-för att uppdatera både Korsika och dess plugins

Nu kan du använda verktygen för att konfigurera Corsica-programvaran:

Korsika installation

Korsika -installationen frågar var du vill installera korsika och visar dig standardplatsen:

Var ska man installera Korsika: (/home/pi/corsica-server)

Du kan helt enkelt trycka på retur.

Du kommer att se några npm varningsmeddelanden. Dessa är säkra att ignorera.

När installationen säger "Klart!", Har du installerat Korsika.

Du kan starta Korsika i din terminalsession med:

korsika start

Och stoppa det med kontroll-C.

Men om du startar det på det sättet kommer det bara att köras så länge din terminalsession körs. När du stänger din terminalsession stannar korsika.

Om du startar Korsika i bakgrunden körs det även efter att du kopplat bort din terminalsession. Det kan du göra med

korsika start -bakgrund

Om du vill stoppa en Korsika -instans som körs i bakgrunden skriver du:

Korsika stopp

Steg 3: Konfiguration

Din konfiguration kommer förmodligen att behöva anpassas. Det finns två typer av anpassningar på Korsika: konfiguration och inställningar. Konfigurationen är mestadels statisk och används av kärnan. Inställningarna är dynamiska och används mest av plugins. Mer om inställningar senare.

Konfigurationen kommer från miljön och är för mycket statiska saker som porten att lyssna på eller plugins att ladda. Det finns fyra källor för konfigurering:

1. lib/config.json - Det är här som standardinställningarna lagras och ett bra ställe att se några av vad som kan konfigureras. Du bör inte ändra värden här.

2. config.js - Inställningar som finns i den här filen laddas som om de vore från miljön. Syntaxen är en konfiguration per rad, t.ex. `PORT = 8080`. Om värdena här är giltiga JSON kommer de att analyseras som sådana. Inställningarna här åsidosätter standardinställningarna i `lib/config.json`. Filen config.js anger initialt det portnummer som Korsika lyssnar på och de plugins som används av systemet.

3..env - Om den dolda filen som heter.env finns i korsika -katalogen laddas dess inställningar som om de vore från miljön. Syntaxen är densamma som i config.js. Den här filen finns inte i standardkonfigurationen.

4. Miljövariabler - Du kan lägga till konfigurationsinformation i systemmiljövariabler om du föredrar det. Om du inte känner till miljövariabler är det säkert att ignorera det här alternativet.

Steg 4: Ansluta skärmar

När du har startat Korsika körs en webbserver på maskinens port 8080 om du inte har ändrat portnumret i.env -filen. Du måste antingen känna till värdnamnet eller IP: n för din Pi. Standardnamnet för en ny Raspberry Pi -installation är raspberrypi. Om du inte har ändrat det kan du bara öppna en webbläsare på din skärmklientmaskin och bläddra till:

raspberrypi.local: 8080

Du borde se den gula och svarta Korsika -logotypen. En bubbla kommer att dyka upp med namnet på din klient på Korsika. Du kan (och borde) ändra namnet på din klient till något som anger platsen för just den här skärmen. Det enklaste sättet att göra detta är att använda Potch's corsica-repl. (Potch är en huvudutvecklare av Korsika, och han har lovat att lägga in ersättare i kärnan på Korsika någon gång snart).

Öppna en webbläsarflik och bläddra till:

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

(Det förutsätter att raspberrypi.local är namnet på din Corsica Server).

Vi använder "TestClient" som namnet på klientdisplayen för resten av den här självstudien. Gå till rullgardinsmenyn i det nedre högra hörnet av skärmen och hitta klientnamnet som dök upp. I kommandoraden längst ned till vänster på skärmtypen:

admin typ = byta namn = TestClient

Låt fliken korsika-ersättning vara öppen och växla till webbläsarfliken som visar Korsika-logotypen och uppdatera sidan. Du ser det nya namnet i popup-bubblan. Om den försvinner för snabbt, håll musen i det nedre högra hörnet och knappen "Helskärm" visas med det nya namnet till vänster.

Steg 5: Lägga till innehåll

Lägga till innehåll
Lägga till innehåll

Efter att ha visat Corsica -logotypen kommer klienten att visa några tecknade djur på en blå bakgrund.

Standardtaggen i filen state.json innehåller en lista med webbsideadresser. Du kan presentera vilken webbsida som helst på detta sätt, även om layouten på vissa sidor gör dem mindre lämpliga för användning med Korsika.

En Korsika -klient visar innehåll från en eller flera taggar som den prenumererar på. Nya klienter prenumererar redan på en tagg som heter "standard".

Tecknade djur är söta, men låt oss lägga till lite användbart innehåll till skärmrotationen på vår testklient.

Återgå till fliken corsica-repl och på kommandoraden längst ned till vänster:

admin typ = prenumerera tag = väder

Byt tillbaka till fliken displayklient och uppdatera sidan.

En väderprognos för San Jose, Kalifornien, kommer att läggas till i listan med webbadresser som visas.

Vårt exempel state.json -fil innehåller tre taggar med namnet "standard", "väder" och "bilder". "Bilder" -taggen innehåller länkar till fler tecknade djurgrafikfiler (.png). Låt oss lägga till dem genom att växla tillbaka till fliken Korsika-ersättning och skriva:

admin typ = prenumerera tag = bilder

Återigen, återgå till fliken displayklient och uppdatera sidan. Du kommer att se några nya djur läggas till i rotationen. Men lägg märke till att de nya djuren dyker upp på sidans vänstra kant med vit bakgrund. Det beror på att teckningarna med den blå bakgrunden listas i state.json som webbadresser som pekar på en riktig webbsida skriven i html. De nya teckningarna med den vita bakgrunden är listade i state.json som webbadresser som bara pekar på-p.webp

Vi kan förbättra hur denna grafik visas av Korsika, men för att göra det måste vi "förlänga" själva Korsika.

Steg 6: Förlängning av Korsika

Förlänger Korsika
Förlänger Korsika

Mer än ett dussin npm Corsica -plugins är tillgängliga på npm -webbplatsen. Följ den länken och skriv "korsika" i sökrutan högst upp på sidan för att se en lista över dem. Vi använder en av dessa npm -plugins för att låta dig visa våra nya djur. Det är också användbart att visa alla bilder du hittar på webben, utan att visa störande grafik kring bilden.

Gå till Korsikas kommandorad, stoppa Korsika och installera plugin-programmet för korsika-bild:

corsica add-plugin corsica-image

Starta sedan om Korsika:

korsika start

Öppna fliken korsika displayklient i din webbläsare och uppdatera sidan. Du bör se de nya djuren visas centrerade på skärmen med en mörkblå bakgrund.

Steg 7: Anpassa innehåll

Låt oss ta en titt på skillnaden mellan vad webbadresserna i standardtaggen gör och de i bildtaggen. Ta en titt på state.json genom att gå till kommandoraden på Korsika och skriva:

cat ~/corsica-server/state.json

I avsnittet "standard" i den filen hittar du en rad som ser ut som:

"https://ramilewski.github.io/corsica-support/show.html?image=kitty.png",

Denna webbadress är en länk till en webbsida med en tecknad film av en kattunge. Den webbsidan visar en bild, men den ger också en bakgrund som är en lutning som börjar högst upp på sidan som en blå färg och bleknar till vit längst ner på sidan. Den bakgrunden skapas av webbsidans CSS och HTML. Det är inte en del av grafiken i sig.

"Bilder" -sektionerna på sidan har en rad som ser ut så här:

"https://ramilewski.github.io/corsica-support/bunny.png bg =#2244BB",

Detta är en webbadress som anger en länk till-p.webp

"#2244BB" är hexadecimal notation för en mörkblå färg. För ett verktyg som hjälper dig att ange vilken färg som helst i hexnotering, se MDN -färgväljaren.

Vid visningen av denna rad har Corsica använt plugin-programmet corsica-image för att återge displayen. Det betyder att om du hittar en bild som du vill visa på dina Korsika -klientskärmar kan du skapa en rad i state.json som visar just den bilden, men inte något annat distraherande innehåll på den omgivande sidan. För att hitta webbadressen till en bild i Firefox, högerklicka på bilden och välj "Kopiera bildplats" i snabbmenyn som visas.

"Väder" -delen av state.json har bara en webbadress. Detta hämtar en väderprognos från https://forecast.io. Men om du inte bor i San Jose är den prognosen inte särskilt användbar. För att få en prognos för din plats måste du veta att det är latitud och longitud i decimalgrader. Om du inte gör det finns det ett webbaserat verktyg som låter dig hitta det.

Just nu ser webbadressen i raden i state.json som anger väderprognosen ut så här:

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

För att få prognosen för din plats, ändra lat och lon -posterna på den raden och ändra namnet till din plats. Använd %20 istället för mellanslag i platsnamnet. Färgparametern anger stavarnas färg mellan höga och låga temperaturer. Zoomparametern används för att justera prognosens storlek så att den passar på skärmen.

När du skapar din egen state.json -fil, kom ihåg att om du har en "standard" -tagg kommer allt innehåll som anges i taggen att visas i alla webbläsare som ansluter till servern utan ytterligare konfiguration.

Display Timing

Överst på state.json finns några inställningar som styr hur länge varje bild visas på skärmen.

"inställningar:: timer": {

"resetTime": 30000, "jitter": 5000,

Alla tider mäts i millisekunder (tusendelar av en sekund). Återställningstiden är den maximala tiden varje bild är på skärmen innan nästa skärm visas. Jitter multipliceras med ett slumpmässigt tal mellan -1 och 1 och resultatet läggs till resetTime. Detta ger lite olika visningstider. Du kan ställa jitter till 0 om du vill. Inställningarna som visas kommer att resultera i att varje sida visas i mellan 25 och 35 sekunder.

Du kan också ställa in olika tider för varje displayklient:

"inställningar:: timer": {

"resetTime": 30000, "jitter": 5000, "resetOnConnect": true, "screens": {"TestClient": {"resetTime": 10000, "jitter": 1000}}},

Här har vi ställt in visningstiden för vår TestClient till mellan 9 och 11 sekunder.

Steg 8: Slutsats

Vi har visat hur du installerar och konfigurerar en Corsica -server på en Raspberry Pi. Med det du har lärt dig här kan du bygga ett mångsidigt, mycket billigt digitalt skyltsystem. Du kan använda Raspberry Pis inte bara som servern i ditt system, utan också för att driva klientskärmar.

Det finns många fler plugins på npm -webbplatsen som du kan använda för att lägga till andra funktioner i din Korsika -installation, inklusive visning:

  • Bilder från Flickr
  • Tweets
  • Konversationer i en IRC -kanal
  • Videofiler
  • Youtube videor
  • Presentationer i Google -presentationer
  • XKCD -serier
  • Innehåll från ett RSS -flöde

Poäng

Korsika är skapandet av tredje graders blackbelt Node Ninjas från Mozilla under ledning av potch, lonnen och mythmon.

Dessa instruktioner för Korsika om hallonpis var kullerstensbelagda av Richard.

Du kan vanligtvis hitta alla som lurar runt #corsica -kanalen på irc.mozilla.org.

Rekommenderad: