Skip to content

Smart Ski Slope system to display real time weather conditions on a user-friendly dashboard

License

Notifications You must be signed in to change notification settings

LGSInnovations/bits-weather-dashboard

 
 

Repository files navigation

Members

Sam Anoff
Jack Dinkel
Kelsey Dowd
Derek Gorthy
Callie Jones

Smart Ski Slope

System of fog nodes to display real time temperature, humidity, and barometer sensor data on a user-friendly dashboard. This system allows for collection and processing of data over a limited-internet area on a ski slope or other user destination.
Users can view the data of each sensor individually, history of each sensor, or an overview of all of the data.
Currently implemented:
Rangefinder
Thermometer
Pressure sensor

Getting Started

Read the README at https://github.com/LGSInnovations/bits
Download dependencies and development version of npm

Dependencies

In addition to dependencies of BITS, user also must have
MongoDB bits module: https://github.com/LGSInnovations/bits-mongodb
bits-weather-dashboard
bits-settings: https://github.com/LGSInnovations/bits-settings
pyUSB: https://github.com/pyusb/pyusb

Installing

Install BITS with instructions from README at https://github.com/LGSInnovations/bits
Install bits-weather-dashboard as a BITS module from https://github.com/callie-jones/bits-weather-dashboard

Running Tests

Tests will be run automatically when running bits-weather-dashboard with bits.

Sensors

A total of three sensors were used for this project, a thermometer, scale, and microbit. A barometer was also experimented with. All sensor drivers can be located at sensor_drivers/.

Thermometer

The thermometer used was a TEMPer2 Thermometer. The drivers are located in sensor_drivers/thermometer, which is a clone of petervojtek's usb-thermometer git repository. Installation instructions can be found in its README.

Scale

The scale used was a 100 lb Dymo Digital Shipping Scale. The drivers are located in sensor_drivers/scale/scale.py. This driver was written from scratch in python3.4 using the pyUSB library.

Microbit

Three microbits were used to simulate a rangefinder or depth sensor. The microbits were designated Top, Bottom, and Send. The Top microbit sat at the theoretical maximum snow height, and the Bottom sat at the zero height location. The Send microbit sat between the other two on a slidable arm that could be moved up and down, toward either of the other sensors. The Send microbit sent out a bluetooth pulse at regular intervals, which would be recieved by the Top and Bottom. The Top and Bottom sensors would then write the strength of the signal to serial. Both the source code and compiled microbit code can be found in sensor_drivers/microbit/.

The serial strength values are interpreted using the python2.7 script found at sensor_drivers/microbit/microbit.py. This script combines the strength values from both the Top and Bottom microbits to estimate the approximate height of the Send microbit using an experimentally found algorithm.

Barometer

The project also experimented with the Cygnal Integrated Products HT163 Barometer. Unfortunately, no linux drivers could be found, and attempts to write one from scratch failed.

Deployment

Deploy in the BITS directory with:
sudo npm run build
sudo npm run dev
Navigate to the weather-dashboard tab on the side toolbar of https://localhost:9001

Built With

BITS framework
ChartJS

About

Smart Ski Slope system to display real time weather conditions on a user-friendly dashboard

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 44.5%
  • JavaScript 30.3%
  • C 17.6%
  • Python 6.0%
  • Makefile 1.3%
  • Shell 0.3%