Dette prosjektet er en del av billettsystemet til UKA på Blindern, se https://github.com/blindernuka/billett, og har til formål å fungere som en utskriftsserver for billettsystemet.
For å skrive ut billetter fra billettsystemet på kvitteringsskriver, vil det naturlige være å koble kvitteringsskriveren opp mot laptoppen som brukes for billettsystemet, herunder sette opp driver, printer m.v. For utskrift vil man da måtte åpne PDF-en som genereres, endre utskriftsinnstillinger og trykke print. Dette føler vi imidlertid at blir tungvindt.
Idéen med dette prosjektet er å ha en Raspberry Pi som er koblet til kvitteringsskriveren, og som tilbyr et API til billettsystemet for å skrive ut PDF-er. Når man da ønsker å skrive ut billetter, vil alt skje gjennom billettsystemet, hvor man velger hvilken Raspberry Pi som skal behandle utskriften.
- Billettsystemet må kunne opprette tilkobling direkte mot Raspberry Pi-en
- Dette systemet sender "ping" til billettsystemet for å annonsere seg selv
- Billettsystemet sender PDF-er til dette systemet som automatisk blir skrevet ut
Installer CUPS:
$ sudo apt-get install cups
Installer driver for skriveren:
- Se sewoocupsinstall_arm-mappen
Sett opp printeren i CUPS. Den må ha navn SEWOO_LKT_Series
.
Ved problemer, sjekk at printeren blir identifisert når den blir koblet til ved å se etter Product: POS PRINTER
i $ dmesg
. Prøv evt. en annen USB-port hvis den ikke dukker opp.
Installer NodeJS og nødvendige globale pakker:
- Finn ut fil for siste versjon for 'arm-pi' fra http://nodejs.org/dist/
$ mkdir /opt/node
$ cd /opt/node
$ wget http://nodejs.org/dist/v0.11.12/node-v0.11.12-linux-arm-pi.tar.gz (NB! sjekk for siste versjon først)
$ tar zxf node-v0.11.12-linux-arm-pi.tar.gz --strip 1
$ ln -s /opt/node/bin/node /usr/local/bin/node
$ ln -s /opt/node/bin/npm /usr/local/bin/npm
$ npm install -g forever
Vi bruker OpenVPN for å sikre at man kan koble seg til systemet dersom det er på en LAN.
- Installer OpenVPN:
$ sudo apt-get install openvpn
- Hent ned config filer fra en annen klient (se mappen
/etc/openvpn/
) - Legg til følgende et passende sted (etter
IFPLUGD_IFACE
blir definert) i `/etc/ifplugd/action.d/action_wpa´
# skip openvpn interface
if [ "${IFPLUGD_IFACE}" = "tun0" ]; then
exit 0
fi
- Start OpenVPN:
$ sudo service openvpn restart
$ cd app
$ npm install
$ echo 'bytt-meg-ut' >PRINTERNAME
$ npm start # kjører i utviklermodus mot billett.uka.athene.foreningenbs.no
$ NODE_ENV=production npm start # kjører i produksjonsmodus mot blindernuka.no
$ crontab -u pi -e
Legg til
@reboot /home/pi/billettskriver/runapp.sh