This post details the software for the ESP8266 controller. See the previous post for a rundown on the hardware. Here's the high-level stack:
- Arduino IDE
- Web app, but mobile friendly
- Bulma for the UI/CSS
- Svelte for the functionality
- Bitbucket for Git repository
- Time synched via NTP and supports DST
- Remotely upgradable via Arduino OTA
- Full independent auto or manual operation for door and lights
- Events triggered from location based sunrise and sunset times
- Easy to read status page
I won't go into the code here, that's best looked at via the bitbucket link above. Instead, I just cover what it looks like and how it works via screenshots.
- What offsets before and after sunrise can be selected? 5, 10, 15, 20, 30, 45, 60 minutes
- Why doesn't the "Locate Me" button work to find my location? Chrome removed the functionality for HTTP sites.
- Why light in the morning instead of the evening? So the light suddenly doesn't turn off on your chickens. Read more here.
There is one last post with more information on how this did over a Michigan winter.