Skip to content

About

The PiE server and the behavior boxes were designed in collaboration with Jessie Benedict at JHMI. All code is maintained by Robert Cudmore.

History

This project is evolving from 2016 to present. It began as more than three different projects, one for video recording, one for the home-cage/behavior box, and another for the treadmill. The functionality of all these projects have been merged into the current PiE server.

Open Source

The PiE server only exists because of the massive amount of hard-work, creativity, and expertise that has been put in to creating and maintaining a multiplicity of open-source software projects.

Raspberry Pi

  • Raspberry Pi Foundation - Design, manufacture, and distribute the Raspberry Pi
  • Raspian - The operating system that runs on the Raspberry Pi
  • Raspberry GPIO - To control and interact with the real world
  • Pigpio - A more precise deamon based GPIO interface
  • PiCamera - Python package to control the Raspberry Pi camera

Server

  • Debian - Operating system
  • NGINX - Web server for load balancing, microservices, and API gateways
  • uwsgi - Web standard for NGINX to talk to Python

Python (back-end)

  • Flask - Web microframework
  • Socketio - Bidirectional communication between web browser and Python
  • SciPy - Scientific computing ecosystem
  • NumPy - Scientific computing for Python
  • Pandas - Data analysis library
  • Matplotlib - Plotting
  • Tifffile - General purpose Tiff file library
  • Redis - Database
  • Celery - Distributed task queue

Javascript (front-end)

  • Angular - Superheroic Javascript framework
  • JQuery - Fast, small, and feature-rich JavaScript library
  • D3 - Data driven documents
  • Leaflet - Interactive maps
  • Plotly - Modern analytics for the data era
  • Bootstrap - Worlds most popular HTML/CSS/JS Toolkit

Containers

  • Docker - Software containers are the future

Programming microcontrollers

  • PlatformIO - An open source ecosystem for IoT development

Documentation

Distribution

  • Git - Fast version control
  • Github - Software development platform for online storage/sharing/computation
  • PyPi - Python package index for online distribution
  • Travis - Test and Deploy with Confidence

Online help