/shine

Solar panel IoT metric store in DataStax Astra DBaaS

Primary LanguageShellApache License 2.0Apache-2.0

shine

Solar panel IoT metric store in DataStax Astra DBaaS. As solar power has become an efficient and cost effective renewable energy source, massive farms of solar panels have begun to power more of our lives. To manage and monitor this vast array of equipement, a scalable and reliable data platform needs to collect and analyze metrics and data to alert for problems, anticipate failure, improve efficiency, and improve safety

The Shine project attempts to give a template for how to store, rollup, analyze, review, and alert based on incoming data from hundreds and thousands of solar panels across numerous solar farms.

This template helps realize these ambitions with an example of collecting this data into a scalable database as a service and then providing examples of how to add additional value derived from this data.

DataStax Astra is a scalable database as a service built on the foundation of Apache Cassandra and run by the experts at DataStax. Astra not only has traditional Cassandra interfaces, but also GraphQL, REST, and even a way to store collections of metric data as schemaless json documents.

data

Metric data for this project is generated by nosqlbench in the form of json documents that are persisted to a schemaless document store. That store is based on Astra, Apache Cassandra as a Service through its Stargate document collection interface.

Example generated metric data:

{
   "farm_id":"28df63b7-cc57-43cb-9752-fae69d1653da",
   "device":{
      "panel_id":"28df63b7-cc57-43cb-9752-fae69d1653da"
   },
   "measurements":{
      "voltage":19.06078182256187,
      "current":3.530390911280935,
      "power":9.530390911280936,
      "temperature":19.06078182256187
   },
   "time":"Tue Oct 13 10:59:59 AEDT 2020"
}

rollups and alerts

Using serverless compute such as Amazon's Lambda in combination with CloudWatch (or similar functions in GCP and Azure), we can do regular rollups of the raw data. In addition, serverless functions can watch for thresholds like temperature spikes and trigger responses or alerts.

analysis

We can more more efficiently collect solar energy by adjusting panel tilt and orientation. We can also do analysis on raw data over time to determine factors leading to panel failure to do predictive maintenance. Additionally, using appropriate sensors and cameras with AI techniques, we can better care for bird populations that live near farms. See the work being done by the Avian Solar Work Group for more information.