Infoskjerm

Fra Bitraf
Hopp til navigering Hopp til søk

En infoskjerm i denne sammenhengen er en skjerm som kan vise en URL (nettadresse).

Utstyr

Det du trenger for å sette opp en infoskjerm er

  • en datamaskin. Raspberry Pi[1] er egnet, det samme er vanlige x86[2]-PC[3]'er. Datamaskinen må ha lagring (RPi: SD-kort) og nettverk (kablet eller trådløst).
  • en (data)skjerm. Skjermen må ha inngang som passer til datamaskinen som er valgt
  • nødvendige kabler
  • strømforsyning
  • et operativsystem til datamaskinen. Denne løsningen er testet med Debian[4] (for x86-PC'er) og Raspberry Pi OS[5] (Raspbian) for Raspberry Pi.

Hvordan sette opp en infoskjerm

Oppsettet består av to deler: fysisk oppkobling / montering og installasjon av operativsystem / konfigurering. Merk: det lønner seg å gjøre installasjon og konfigurering først, da kan du verifisere at infoskjermen viser det du vil, og at den ikke har uønsket oppførsel (eksempel: skrur av skjermen etter noen minutter).

Installasjon og konfigurering

Installasjon av operativsystem

For vanlige (x86) PCer gjør man dette oftest via en usb minnepinne. For Raspberry Pi skriver man et "image" til et SD-kort.

endre navn på maskinen

For vanlige (x86) PCer bestemmes navnet under installasjonen (men det kan endres etterpå, på samme måte som for Raspberry Pi. For en Raspberry Pi endres navnet etter at SD-kortet er skrevet, ved å montere ("mount") rot-partisjonen (kalles ofte "rootfs") på PC'en, og så endre i filene etc/hostname og etc/hosts. etc/hostname inneholder navnet på maskinen, vanligvis "raspberrypi", mens etc/hosts inneholder flere linjer; det er kun "raspberrypi" som skal endres. Velg et nytt navn (navnet må følge regler for hostnavn, dvs. bokstaver a-z, siffer 0-9 og bindestrek '-'. Navnet kan ikke starte med bindestrek, og det er dårlig praksis å starte med et tall). Maks lengde 63 tegn.) og sørg for at det erstatter "raspberrypi" både i etc/hostname og etc/hosts. Tips: hvis maskinen din kjører Linux / FreeBSD eller tilsvarende så kan du redigere filene ved å åpne et terminalvindu (shell) i rootfs-katalogen og så kjøre sudo vi etc/hostname. Erstatt vi med den editoren du bruker (pico, nano, ...).

Merk: vanlig oppsett for navn i Debian / Raspberry Pi OS er ved hjelp av avahi[6] (navnet slutter på .local), den håndterer navnekollisjoner ved å legge til '-n' (for eksempel '-1', '-2' osv) på slutten av navnet. Derfor er det lurt å unngå navn som slutter på "-n".

tilgang via ssh

sette opp tilgang via ssh[7].

konfigurasjon for infoskjerm

Lage konfigurasjon for infoskjermen. Vi bruker ansible for konfigurasjon av datamaskiner som tilbyr IT-tjenester for Bitraf.

Oppsettet vi bruker er i infrastruktur-repositoriet (infrastructure[8]), du trenger en lokal kopi av dette på maskinen din. For at ansible skal vite om en maskin (infoskjermen i dette tilfellet), så trenger den å finnes i filen inventory. Eksempel for maskinen som heter testskjerm

testskjerm ansible_host=testskjerm.local

I tillegg må maskinen også finnes i en seksjon i samme fil som heter [infoscreens]:

[infoscreens]
infoscreen-a
testskjerm

dette er konfigurasjon som er spesifikk for rollen infoscreen.

I tillegg må hver maskin ha konfigurasjon som er spesifikk for den aktuelle maskinen, denne lagres i katalogen host_vars/<navn på maskinen>. Så for testskjerm heter katalogen host_vars/testskjerm. Katalogen inneholder flere filer:

  • url.yml - inneholder urlen som skal vises på infoskjermen. eksempel for testskjerm:
infoscreen__url: http://bitraf.no/wiki/

merk at variablen infoscreen__url har to understrek ('_', "underscore") etter hverandre. Det enkleste er å bare kopiere fila og endre urlen.

  • users.yml - inneholder brukere som kan administrere en maskin. Hvis du skal sette opp en ny infoskjerm kan du bare kopiere denne fila.

Merk: disse filene er i YAML[9] format, et veldig strikt format, krever pinlig nøyaktighet. Blant annet så er innrykk ("whitespace") signifikant.

installere konfigurasjon via ansible

Du må ha ansible[10] installert på maskinen din. Du må ha en bruker med passord og sudo-rettigheter på maskinen til infoskjermen. Du må kunne logge inn via ssh på infoskjerm-maskinen som den brukeren. Du må stå i rett katalog (infrastructure) nå du kjører ansible-playbook kommandoen.

Kommandoen er (eksempel for maskinen testskjerm)

$ ansible-playbook infoscreen.yml -l testskjerm -K --user pi -k

parametrene er

  • infoscreen.yml - navn på "playbook" du kjører
  • -l testskjerm - forteller at du kun ønsker å kjøre mot denne maskinen (testskjerm)
  • -K (stor K) - spør om sudo-passord
  • --user pi - hvilken bruker du kobler til som ('pi' er det vanlige på en ny installasjon av Raspberrry Pi OS)
  • -k (liten k) - spør om passord for tilkobling

ansible vil nå kjøre playbook'en og gjøre endringer på maskinen (testskjerm i dette tilfellet) du har angitt. Hvis noe er feil (feil i konfigurasjon, ikke kontakt med maskinen, osv.) så vil du få en feilmelding istedet.

Fysisk oppkobling

Forberedelser: sjekk at det er fysisk plass til skjermen og datamaskinen der du skal plassere infoskjermen, og at det er nødvendig uttak til strøm, og nettverk (hvis du bruker kablet nett).

Utstyret må monteres forsvarlig, både i henhold til lover og forskrifter og slik at det ikke er i veien for noen. Kabler som henger slik at mennesker kan snuble eller hekte i de er en dårlig ide. Tenk også på at det må være nok luft rundt utstyret til at det får kjøling.


Eksempler på infoskjermer

Bitraf har allerede noen infoskjermer.

Referanser