CS 5150: Software Engineering
Spring 2020

Get Your GreenBack Tompkins

Client

Karim Beers, Get Your GreenBack Tompkins
Email: <kwb6@cornell.edu>

Student contact

Evan Welsh <ew469@cornell.edu>

Background

Get Your GreenBack Tompkins is a community campaign that works collaboratively to help people and organizations take key steps in the areas of food, transportation, waste and building energy that simultaneously reduce our community’s carbon emissions, save money and create a socially just local economy. To further their mission, they want to create an interactive “thermal imaging photobooth” for their Powerhouse exhibit (https://www.tinypowerhouse.org/) which will allow visitors to better understand thermal output. A few particularly great images from this exhibit will be chosen to feature in the GYGB newsletter.

Project Summary

The goal of this project is to design and build a thermal imaging “photobooth” application for the iPad. The application must connect to FLIR ONE (https://www.flir.com/) thermal cameras and potentially FLIR Cx wireless cameras. The application will allow users to capture thermal images, send their images to themselves via email, retake any images as necessary, and finally will also upload the captured photos to a backend storage solution. The iOS application will primarily be run on iPads set up in kiosk mode during the exhibit.

In addition to the iOS application, this project requires a simple web-based administration app to view, download, and delete all the photos taken and potentially to visualize the application’s usage statistics.

Goals

Develop an iOS application (for iPad) which...

  1. Connects to FLIR ONE thermal cameras and optionally FLIR Cx cameras.
  2. “Streams” frames from the camera in a view finder (a frame is a single image which shows what the camera currently sees. FLIR cameras only update clients at a maximum rate of 9 frames per second due to legal regulations aimed at preventing military use of civilian equipment)
  3. Allows users to “take a picture” (select their preferred frame)
  4. Allows users to retake their photo or take multiple if they desire.
  5. Uploads selected frames to the backend storage solution
  6. Enables users to “send” their chosen frames via email
  7. Potentially enables users to “send” images via other sources (SMS)

Develop a backend which...

  1. Stores images taken using interactive demo.
  2. Serves emails with thermal images to users.
  3. Collects application usage statistics.

Develop a web client which...

  1. Allows managers to see images taken using interactive demo.
  2. Allows managers to download and delete images stored in the backend storage solution.
  3. Allows managers to view application usage statistics.