Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cburmeister/clever-harvest
Gather environmental metrics from an array of sensors connected to a Raspberry Pi deployed via balenaCloud.
https://github.com/cburmeister/clever-harvest
balena iot python raspberry-pi resin-io
Last synced: 26 days ago
JSON representation
Gather environmental metrics from an array of sensors connected to a Raspberry Pi deployed via balenaCloud.
- Host: GitHub
- URL: https://github.com/cburmeister/clever-harvest
- Owner: cburmeister
- Created: 2018-10-25T07:02:21.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-08-01T13:15:23.000Z (over 3 years ago)
- Last Synced: 2024-10-28T00:14:46.582Z (3 months ago)
- Topics: balena, iot, python, raspberry-pi, resin-io
- Language: Python
- Homepage:
- Size: 30.3 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
clever-harvest
==============[![Build Status](https://travis-ci.org/cburmeister/clever-harvest.svg?branch=master)](https://travis-ci.org/cburmeister/clever-harvest)
Gather environmental metrics from an array of sensors connected to a Raspberry
Pi deployed via [balenaCloud](https://balena.io/).---
## Metrics
An image is captured at regular intervals annotated with the following metrics:
- A UTC timestamp
- The relative humidity
- The temperature
- Whether or not the soil contains moistureThe image is captured entirely in memory before it is shipped to s3. The
metrics data is appended to a google sheet.## Hardware
- Any [Raspberry Pi](http://a.co/d/hdHM1Nb) model
- A [Micro SD card](http://a.co/d/7VNbSxb)
- A [DHT22 sensor](http://a.co/d/2Otsggy)
- A [Soil moisture sensor](http://a.co/d/02xTN9r)
- A [Raspberry Pi compatible camera module](http://a.co/d/9tghOgA)## Configuration
The following environment variables are *required*:
| Name | Purpose |
|------------------------------------------------|------------------------------------------|
| `CLEVER_HARVEST_DHT22_PIN` | A GPIO pin |
| `CLEVER_HARVEST_GOOGLE_API_CLIENT_SECRET_JSON` | Your Google API credentials as JSON |
| `CLEVER_HARVEST_IMAGE_ROTATION` | Degrees to rotate the captured images |
| `CLEVER_HARVEST_MOISTURE_PIN` | A GPIO pin |
| `CLEVER_HARVEST_S3_ACCESS_KEY_ID` | An S3 access key ID |
| `CLEVER_HARVEST_S3_BUCKET_NAME` | An S3 bucket name |
| `CLEVER_HARVEST_S3_SECRET_ACCESS_KEY` | An s3 secret access key |
| `CLEVER_HARVEST_TITLE` | The title of the google sheet |
| `CLEVER_HARVEST_WEB_PASSWORD` | Password to access the dashboard |## Deployment
Devices running this software managed with [balenaCloud](https://balena.io/).
You'll need to configure an SSH key and add the balena git remote to your repository.
Then you can deploy to all devices in the fleet with a simple `git push`:
```bash
git push balena master
```### Continuous Integration
Master builds of this repository are automatically deployed with [TravisCI](https://travis-ci.org/).
See the `.travis.yml` configuration for more details on how this is automated.