Lab 1 – Belize Solar Data Display

This project will be completed in teams of two. Team Assignments

Consider the following site: Link

This is based on the project here: https://github.com/jimskon/SolarDemo

Setup:

You will need to clone the project. Then look at README.md. It will have you create the web directory and change the permissions. Tghen run make, and go to the page.

Make your own Git project

Once you have the code, delete the git information, andf make your own github project with this code to work on.
rm -rf .git
Then go to github and create a new solar project. Associate it with your solar project (do a create project without clicking “create readme”, then paste to shown code into the command prompt.

How it works

This project uses a microservice to retrieve live solar data from a server that collects data from each solar power system in Belize (Sites I installed with Kenyon Students).

Here is some loosely organized information on most of the schools: Link

This system works by querying a microservice, and getting data back. The system then uses a graphing library to graph some of the data: https://github.com/chartjs/Chart.js

School Information Query:
For example this query retrieves all the information on each school: http://belize.expertlearningsystem.org/Knowledge/?SessionID=1234567890:9999&Query=SolarNames()

Note that the URL is in several parts:

  • The web address: http://belize.expertlearningsystem.org
  • The Login: /Knowledge/?SessionID=1234567890:9999
  • The query: &Query=SolarNames()

Watts by the minute for a given school query

The next query gathers all the data for the a single site for a single day. (Note that the lookup key is the last 6 digits of the site key)
http://belize.expertlearningsystem.org/Knowledge/?SessionID=1234567890:9999&Query=SolarHistory(6DC854,qWattsmin1,2023-02-07*)

this returns a message with an array of arrays, one for each minute of the day, with the watts at that time.

If you go to the web page, this is on a given school’s page (dropdown) as a list of raw data that my code has parsed.

Hourly watts for all schools for a given day.

http://belize.expertlearningsystem.org/Knowledge/?SessionID=1234567890:9999&Query=SolarWattsAllDayAllSites(2023-02-07*)

There are many other queries documented here: link

Your goal for this project is the create and add at least 2 additional useful graphs. Some possibilities:

  1. A line graph of for a schools output for the current day
  2. A line graph of for a schools output for and selected date (you can use a bootstrap date selector)
  3. A composit line graph showing ALL the schools, with a different color line for each school, for the current day.
  4. A hour-by-hour bar graph for today, or a given day.
  5. A hour by hour graph on the main page showing the sum of all the watts from all the schools.
  6. A stacked bar graph like above, only each element in each stack is a different school
  7. Something you thing of.
Scroll to Top