Go to file
JayWll fcdf59da22
Merge pull request #8 from JayWll/glitch
Updating redirect code to allow embedding on the glitch project page
2020-05-10 14:15:31 -06:00
arduino/Houseplant Removing GCP app publishing from the arduino app 2020-01-04 12:16:26 -07:00
fritzing Rotating circuit diagram 90 degrees to improve readability 2020-01-04 11:59:04 -07:00
nodeapp Updating redirect code to allow embedding on the glitch project page 2020-05-10 20:14:08 +00:00
.gitignore Adding .env parsing for development environment 2020-04-11 12:25:20 -06:00
.glitch-assets 🚠📙 Checkpoint 2019-10-23 17:47:22 +00:00
README.md Adding link to live app to README.md 2020-01-04 12:13:44 -07:00
package.json Added posting to twitter when the plant needs water 2020-04-17 17:08:47 -06:00
shrinkwrap.yaml Updating to redirect to correct domain 2020-05-06 02:20:43 +00:00


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.

Circuit Diagram

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.