EOL Engineering Internship Final Report · PDF fileEOL Engineering Internship Final Report Dan...

Post on 19-Mar-2018

222 views 3 download

transcript

EOL Engineering Internship Final Report

Dan Lagreca NCAR/EOL

Summer 2009

Tasks

Firewire Cameras

OpenStreetmaps

Display Webpage

Controls Webpage

RPM Packaging

Features

Expands to accommodate multiple cameras

Reads and applies parameters from config file

Compression method/quality

Night time auto disable

Embeds meta-data into images (XMP format)

Camera information

Flight number

Implementation

C program, “capture”

Runs in background (daemon)

Reads raw data from camera, compresses, then stores image on server

Updates database

Web Viewer

Reads database

Displays latest image(s)

Software Data Flow

Web Server

Camera Server

Capture Program

Firewire Stack

httpd (php)

User (browser)

httpd (php)

PostgreSQL Images

Viewer Page Firewire Cameras

Controls Page

Cameras

IEEE1394 Bus (Firewire)

Bus powered

Optional external trigger

1-2 Megapixel Sensors

Viewer - Screenshot

Features

Display street map in web browser

Easy to use

Nothing to install on personal laptops

Shows current position of plane – live updating

Shows path history of plane

Shows satellite image overlays

Map database is local (no need to use expensive satcom link)

Implementation

Server

User (browser)

httpd

PostGIS

Tiles

OpenLayers

Renderd

Mod_tile

User (Openlayers) requests tiles

Apache (mod_tile) checks for rendered tile.

Tile can be queue to be rendered.

PostGIS database holds all maping information.

OSM - Screenshot

Features

Browse to single address (http://acserver/)

Easy access to frequently used websites

Map: shows current/past location of plane.

Cameras: shows current/past view outside of plane.

Visible/IR: shows current/past satellite images.

AC Status: shows status of server processes

Downloads: Download common programs from local server (avoid using expensive satcom link)

Wiki: access local copy of the SEW wiki

Implementation

Button bar created with css/html

html <iframe> holds page content

Buttons call JavaScript which load in new pages

Features

Nagios:

Great for getting data to the user

No good way to send commands back to server

Control page:

Send commands back to server

Send XMLRPC queries to status-listener

Ping individual hosts (DSM’s)

Implementation

Nagios back end for status

Control page uses JavaScript to send commands to server

PHP scripts (server-side):

Execute commands: i.e. start Nimbus

Query XMLRPC: i.e. refresh DSM timetag

Ping a host: i.e. ping a DSM to check it’s connection

Detailed info for DSM-Server

Pinging all of the DSM’s

Features

Package vs. Compile From Source

Greatly simplifies distribution and installation of software

Ship pre-compiled binaries

Let YUM handle dependencies

RPM package can include all necessary config files, executables, and file structure

Thank You

Any Questions?