You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
JayWll fcdf59da22
Merge pull request #8 from JayWll/glitch
Updating redirect code to allow embedding on the glitch project page
3 years ago
arduino/Houseplant Removing GCP app publishing from the arduino app 3 years ago
fritzing Rotating circuit diagram 90 degrees to improve readability 3 years ago
nodeapp Updating redirect code to allow embedding on the glitch project page 3 years ago
.gitignore Adding .env parsing for development environment 3 years ago
.glitch-assets 🚠📙 Checkpoint 4 years ago Adding link to live app to 3 years ago
package.json Added posting to twitter when the plant needs water 3 years ago
shrinkwrap.yaml Updating to redirect to correct domain 3 years ago

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 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.