Here is an inventive project with a great write up. Part watering system and part pest deterrent, this sprinkler uses a Feather HUZZAH operate over wifi. Thanks to Lenin for sharing this with us. Via Moving Electrons:
I’ve been looking for an excuse to do a little project with Adafruit’s Feather HUZZAH board and MicroPython. As an engineer who graduated some years ago, having a Wi-Fi enabled micro-controller which runs (Micro) Python 3 and costs less than $20 is really amazing.
My initial plan was to use this automatic lawn sprinkler to be a rodent deterrent to keep rabbits and squirrels out of my lawn, but I have also used it to keep flower beds and newly planted trees hydrated. It can also be used to prank your friends. In any case, those are just excuses, I really wanted to tinker with electronics and Python.
This project has several moving parts, but I’ll go through each step in detail and will link to key tutorials and instructions.
A fundamental part of this project is the MQTT protocol, which is a Client-Server Internet of Things connectivity protocol. It’s fast, easy to implement and allows communication between the Feather Huzzah (MQTT client) and the MQTT Server/Broker.
MQTT comes bundled within MycroPython, and since it’s widely used, it allows the Feather Huzzah to talk with several automation services like IO – Adafruit, Cayenne or Initial State. I’ll be using Home Assistant which is a popular home automation system built on Python that runs on Unix/Linux based computers and NAS devices (I’m running it on a Mac Mini) . Although Home Assistant comes with an MQTT server, it’s fairly bare bones, so I’ll be using Mosquitto to be the link (i.e. broker) between the MQTT client on the Feather Huzzah and Home Assistant.
I tried several configurations and settled on this one because of its versatility: the lawn sprinkler can be operated manually from the host computer or mobile devices running Home Assistant. It can also be activated through automation setup on Home Assistant or even through standalone python scripts interacting with Mosquitto. My final goal is to have it operate based on image recognition/computer vision, but that’s going to take me some time to implement.