= Installera mjukvaran = === Systemkrav === Den mjukvaran ({{{metcam}}}) som i realtid analyserar bilder från en videokamera (genom en USB-videograbber) är utvecklad på ett Linux-system, och kan i nuläget inte användas på ett Windows-system. Även om systemet bör vara igång dygnet runt, så är systemkraven inte så väldigt höga, och då är det kanske enklast att vika en äldre dator till projektet. Följande systemkrav rekommenderas: * Minne: 1 GB eller större. * CPU: Minst motsvarande en Intel Celeron 2.4 GHz (vilket är rätt så gammal). * Hårddisk: 100 GB eller större. === Installera Linux === Innan man kan installera mjukvaran för meteorkameran behöver man installera Linux. Instruktioner utgår från att du har viss grundläggande kunskap i Linux. Egentligen borde det fungera med de flesta Linux-distributioner, men dessa instruktioner togs fram för Ubuntu (senaste testade versionen är 16.04.1 LTS). Ubuntu kan laddas ner från [[http://www.ubuntu.com]]. Hur man går tillväga med att installera Ubuntu kan inte beskrivas här - det finns bra instruktioner på Ubuntu:s egna sidor. Efter grundinstallationen behöver det fixas lite mer. '''Samtliga kommandon i rutorna i detta avsnitt ('Installera Linux') utförs som 'root'.''' Som användarkonto för programmet rekommenderas {{{meteor}}} {{{ adduser meteor }}} Denna användare behöver sedan ha rättigheter till att läsa video och audio-resurser {{{ adduser meteor video adduser meteor audio }}} Utöver de paket som följer med Ubuntu behöver det installeras följande: * subversion * openssh-server * libv4l-dev * libjpeg8-dev * libpng12-dev * ntp * gimp * at * mencoder (eller ffmpeg, se nedan) * imagemagick * python-numpy * python-matplotlib * python-scipy * python-pip * php7.0 * apache2 * libapache2-mod-php7.0 * rsync {{{ apt-get install subversion openssh-server libv4l-dev libjpeg8-dev libpng12-dev ntp gimp at mencoder imagemagick python-numpy python-matplotlib python-scipy python-pip php7.0 apache2 libapache2-mod-php7.0 rsync }}} I vissa (nyare) Ubuntu-distributioner saknas mencoder, och i det fallet kan istället ffmpeg installeras. Byt ut ''mencoder'' mot ''ffmpeg'' i raden ovan, eller kör följande separat: {{{ apt-get install ffmpeg }}} För att kunna se bilder från videokameran genom en webläsare, behöver man aktivera PHP genom att lägga kommentartecken ({{{#}}} i de senaste 5 rader av {{{/etc/apache2/mods-enabled/php7.0.conf}}}, till exempel med: {{{ nano /etc/apache2/mods-enabled/php7.0.conf }}} (bläddra längst ner, lägga till '#' i de sista 5 rader och avsluta med Ctrl-X)... Sedan behöver man också ge webservern tillgång till 'metcam:s' hemsidor, genom att utföra: {{{ cd /etc/apache2/mods-enabled ln -s ../mods-available/userdir.load . ln -s ../mods-available/userdir.conf . }}} Därefter skall webservern startas om med: {{{ apachectl restart }}} Till slut behöver man installera ett extra python-paket: {{{ pip install pyephem }}} === Installera 'metcam' för användaren 'meteor' === Logga nu in som användare 'meteor', och hämta hem själva mjukvarupaketet : {{{ cd /home/meteor svn checkout http://www.astro.uu.se/svn/meteor/metcam }}} Kopiera exempelen på konfigurationsfilerna på plats {{{ cd /home/meteor/metcam cp config/altaz_bor.par_example config/altaz_bor.par cp config/metcamrc_example config/metcamrc }}} Därefter kan man skapa själva programmet på följande sätt {{{ cd /home/meteor/metcam/src make }}} Nu är allt på plats för att kunna köra programmet. Anslut kameran (eller framegrabbern) genom USB, och testa nu på följande sätt: {{{ cd /home/meteor/metcam bin/metcam config/metcamrc -v }}} Efter ett tag börjar programmet skriva snapshots till disk. Om allt går bra ser du en bild i {{{/home/meteor/metcam/data/snap.jpg}}}. I denna bild har kontrasten ökats ganska mycket, så det är inte nödvändigtvis en vacker bild. === Konfiguration === Stationen har tre konfigurationsfiler under {{{/home/meteor/metcam/config}}}. Mer info om dess i länkarna nedan: * [[Config/Metcamrc|metcamrc]] - den allmänna konfigurationsfilen som innehåller information om stationen, var bilderna lagras, samt hur bildanalysen skall ske. * [[Config/AltAz|altaz_bor.par]] - en parameterfil som bekriver linsdistortionsfunktionen. Den används för att översätta pixelkoordinater till himmelskoordinater (höjd och azimutvinkel). === Automatisering / Cronjobs === Programmet producerar en stor mängd data, och dessa behöver administreras, förflyttas och arkiveras. I mjukvarupaketet ingår ett antal skripts (mindre program) som sköter detta. Dessa skripts behöver anropas med jämna mellanrum, och detta görs lättast med hjälp av såkallade ''cronjobs''. Mer infomation på [[Config/CronJobs|en separat sida om cronjobs]]. === Övrigt === För att kunna se kamerabild och resultat genom en hemsida skall man skapa en symbolisk länk : {{{ ln -s /home/meteor/metcam/www/public_html /home/meteor/public_html }}} För att kunna kommunicera med projektets centrala server behöver det skapas ett SSH-nyckelpar : {{{ ssh-keygen }}} Detta kommando lagrar ett nyckelpar ({{{id_dsa}}} och {{{id_dsa.pub}}}) i katalogen {{{/home/meteor/.ssh}}}. Skicka sedan den publika nyckeln {{{id_dsa.pub}}} till projektsamordnaren i Uppsala. Därefter kommer det bl a att vara möjligt att ladda upp observationerna till Uppsala. === Hjälp === Det finns en funktion för projektsamordnaren att hjälpa till med en station i projektet, men bara om stationen försätts i 'service mode'. Detta kräver att man har skickat den publika SSH-nyckeln (se ovan) till projektsamordnaren. Dessutom skall projektsamordnarens publika nyckel (uppsala.pub - fås från projektsamordnaren direkt) läggas till i stationens nyckelring på följande sätt. {{{ cat uppsala.pub >> /home/meteor/.ssh/authorized_keys chmod og-w /home/meteor/.ssh/authorized_keys }}} Detta gör det möjligt för projektsamordnaren att logga in på stationsdatorn som användare 'meteor'. Om stationen befinner sig bakom en brandvägg (vanligt i hemmamiljö), då kan stationen försättas i 'service mode' genom att köra följande kommando på stationsdatorn. Detta öppnar en väg (s k tunnel) för inloggning: {{{ /home/meteor/metcam/bin/create_ssh_tunnel }}}