d0b78e45a7
Refactoring |
||
---|---|---|
arduino/Houseplant | ||
fritzing | ||
nodeapp | ||
.gitignore | ||
.glitch-assets | ||
package.json | ||
README.md | ||
shrinkwrap.yaml |
Houseplant Hackathon
What Is This?
This project is the result of an afternoon hackathon we ran where I work, the objectives of which were two fold:
- Learn how to write a NodeJS app and deploy it to Google AppEngine
- Connect the plant I have on my desk to the internet
Since creating it I've migrated the project away from AppEngine and on to Glitch instead.
How Does It Work?
The hardware is built around a NodeMCU, which is an Arduino-compatible microcontroller with integrated WiFi. This is connected to a simple analog soil moisture sensor that's inserted into the soil itself. The moisture sensor came with a little circuit to convert the analog signal to a digital one, but it never worked so we threw it away.
The arduino code takes a reading every hour and sends it to the app on Glitch, where it gets stored in a SQLite database. Once a week a cleanup job is triggered by cron-job.org to remove readings older than 90 days from the database.
Both the creation of a new reading and the cleanup cronjob expect that a secret key be included in order to authenticate the request.