Turn your black thumb into a green thumb by building an internet-enabled plant monitoring system by combining Google Cloud IoT Core with CircuitPython.
This smart-planter monitors your plant's vitals on the PyPortal's screen, logs this data to a Google Cloud registry for long-term storage and even correctly waters your plants remotely by controlling a peristaltic water pump.
Using Google Cloud IoT with your CircuitPython IoT projects allows you to quickly prototype (and even mass-prototype) advanced internet-of-things devices and connect them to the Google Cloud Platform.
Google Cloud IoT
Google Cloud IoT provides a complete solution for collecting, processing, analyzing, and visualizing data from IoT devices in real time:
- Device management, with per-device authentication and management.
- Data aggregation with Cloud IoT Pub/Sub
- Scalable - Google Cloud IoT is serverless and scales instantly.
Connecting CircuitPython to Google Cloud IoT unlocks over 100 products and services available from Google Cloud Services. Some of these services are especially useful with IoT projects, such as:
- Analyze your data with Dataflow, BigQuery, or BigTable
- Machine Learning with Cloud AutoML
CircuitPython is perfect for building Internet-of-Things projects. This project uses the ESP32SPI CircuitPython library, which can use the ESP32 as a WiFi-coprocessor.
We've built a CircuitPython Google Cloud IoT Core helper module to make interacting with Google's Cloud IoT MQTT Broker incredibly simple. Provisioning CircuitPython for Google Cloud IoT Core is as simple as adding your device's settings to a file. Our library even handles JSON Web Token (JWT) generation.
You can rapidly update your code without having to compile and store WiFi, device configuration, and secret keys on the device. This means that there's no editing code and re-uploading whenever you move the PyPortal to another network - just update a file and you're set.
If you're new to CircuitPython, take a moment to walk through the following guides to get you started and up-to-speed:
You'll need some extra parts and supplies to finish this project. If you do not have them already, pick some up from Adafruit.