Keep forgetting to water your plants? Want to monitor the ambient temperature of the room your plant is located in from across the world?
In this guide, you will build an Internet-enabled plant monitoring display by combining Azure IoT Central from Microsoft and CircuitPython!
Using Azure with your CircuitPython IoT projects allows you to rapidly prototype (and even mass-prototype) advanced internet-of-things devices and connect them to Microsoft Azure services.
Once your CircuitPython device's data is sent to Azure IoT Central, you can visualize your data on a dashboard. From there you can connect other Azure services such as:
- Azure Blob Storage: Blob storage for all your sensor data to analyze later
- Event Hubs: Real-time data pipelines capable of streaming millions of events per second between Azure services
- Azure Stream Analytics: Real-time analytics pipeline allowing you to query data in real time
- Azure Machine Learning: Build machine learning models that can be used from Stream Analytics to provide real-time predictions over your data
You can get hands on with and learn more about the Azure IoT services on Microsoft Learn.
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 to send web requests.
We've created a CircuitPython Azure IoT helper module to provide an API to interact with Azure IoT Central.
You can rapidly update your code without having to compile and store WiFi and API 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.
Stemma Soil Sensor
This soil sensor uses capacitive measurement. Capacitive measurements use only one probe, don't have any exposed metal, and don't introduce any DC currents into your plants. We use the built in capacitive touch measurement system built into the ATSAMD10 chip, which will give you a reading ranging from about 200 (very dry) to 2000 (very wet).
As a bonus, we also give you the ambient temperature from the internal temperature sensor on the microcontroller, it's not high precision, maybe good to + or - 2 degrees Celsius.
Say hello to PyPortal! The easiest way to build your IoT projects with a touchscreen display!
Make sure to walk through the PyPortal introduction guide and walkthrough the pages. It'll get you setup with CircuitPython and a handful of demo code to play with!
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 supplies to finish this project. If you do not have them already, pick some up from Adafruit.