A senior design capstone project for undergraduate electrical and computer engineering (ECE) studies at The University of Pittsburgh by...
- Bill Derksen: software and computer engineering
- Evan Gzesh: electrical engineering + pi programming
- Anthony Popovski: electrical engineering + pi programming
- Daniel Morton: electrical engineering + pi programming
This repo contains software and programs used for our project.
Python programs on Pi use InfluxDB client to establish connection with database and post (HTTP) processed sensor data over LAN (ethernet OR wireless). Data can also be sent over internet if desired, but will require some additional networking efforts. Currently, this project is configured to run on a dedicated server/machine which includes the database, backend, and frontend (rendered on a localhost domain).
- Database: InfluxDB
- Backend: NodeJS + Express
- Frontend: React
Below is an image of the current frontend. The table and plots each display the most recent data stored in the database and will update in realtime when new data is posted to the database. The table displays the single most recent reading for each sensor while the bar graph and cartesian plots show a user specified number of most recent points for the desired sensor measurement.
- Install NodeJS on machine, make sure that npm (node package manager) is also installed
- Run
npm installin the frontend directory sofware_stack/. to install necessary frontend packages - Run
npm installin the backend directory sofware_stack/backend/. to install necessary backend packages
Launch frontend: run npm start in the respective directory
- default domain is http://localhost:3001/
Launch the backend: run node bin/www in the respective directory
- default domain is http://localhost:3000/
- database query/routing/connecion can be configured in software_stack/backend/routes/influxtest.js