GithubHelp home page GithubHelp logo

sts0mrg0 / coopcommand Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hms-11/coopcommand

0.0 1.0 0.0 13.78 MB

CoopCommand aims to increase automation in small scale egg-laying chicken flocks for the hobby farmer. Final product aims to have ease of installation and use for non-technical users.

License: GNU General Public License v3.0

C++ 100.00%

coopcommand's Introduction

CoopCommand

Chickens are simple animals with lots of benefits. The downside? Humans are not the only creatures that find chickens tasty and chickens themselves require some basic maintenance and care to keep happy and healthy.

CoopCommand aims to reduce the daily labour of looking after chickens, improve their well-being as well as allow hobby-farmers the ability to go out for the night without worrying if their chickens are in danger from wandering predators.

Contributors always welcome, I could use people smarter than myself to keep improving this project.

You can also support this project through "Buy me a Coffee":

Buy Me A Coffee

In action: Here is a video of CoopCommand installed in my coop. https://www.youtube.com/watch?v=HNLnl-pNmuM

CoopCommand Picture

GOALS:

  • Ease of installation and configuration for non-technical individuals.

  • Multiple Power Options (wall wart mains power or 12-36V off-grid solar/wind/battery systems).

  • Configuration settings saved in case of power-outage.

  • Wi-Fi connectivity for remote monitoring and overriding of coop door.

  • Camera for viewing inside of coop.

FEATURES:

COOP COMMAND MAIN BOARD:

  • Pluggable Terminal Block connectors for all user-installed inputs/outputs.

  • JST XH 5-pin for connection to CoopCam Wi-FI Camera Ad-On.

  • DHT22 for interior coop temperature.

  • DS18B20 for water temperature.

  • GL5539 Photoresistor w/10K resistor voltage divider for daylight sensor.

  • MAX3373 level shifting IC for Atmega-ESP32 serial communication.

  • 7805 "footprint" - Actually uses either one of the drop in footprint compatible buck convertors or my own "MEGA7805" buck converter that can output up to 3A cont.

  • TI DRV8871 Motor Driver IC w/3.6A current cabilitity & voltages up to maximimum working voltage of CoopCommand.

  • 20x4 LCD.

  • I2C backpack integrated.

  • 3 user input buttons.

  • EEPROM for saving user settings.

  • LayLight Relay for supplementing daylight hours to keep chickens laying even with less than 14 hours of Daylight.

  • Ventilation Fan Relay for cooling the coop in the summer.

  • Water Heat Relay for heating the water in the winter.

  • ATMEGA328P in DIP configuration, easily programmed through Arduino IDE.

ESP32 COOPCAM:

  • ESP32-CAM AI-THINKER based.

  • Custom PCB for ESP-32-CAM to socket into, breaks out remaining GPIO's, breaks out serial header for programming and boot button as well as on-board bulk capacity (200UF).

  • JST XH 5-pin Connector, identical pinout to mainboard side to allow cable to be plugged in either way.

  • Wi-Fi connection through Blynk.

  • Serial connection to main board.

BLYNK:

  • Override door open or closed.

  • Take a picture with the CoopCam and email it.

  • Monitor door status (Open, Closed, Opening/Closing).

Getting Started:

All files are included in this git-repository to get CoopCommand up and running. To get started, use the Gerber files and BOM to get the PCB's coming. The pic n place files can be used if your board house supports assembly. These boards were designed to use JLCPCB's assembly service with as many "basic" components as possible.

Once you have the boards in hand and assembled, see the programming notes file for instructions on how to load the code. ATTENTION: This guide assumes the ATMEGA328P has a bootloader already installed, if working with new, "bare" chips you will need to burn a bootloader before installing the sketch.

For the ESP32-CAM "CoopCam" aspect, this guide from Random Nerd Tutorials outlines the steps for setting up a gmail account with the proper settings. https://randomnerdtutorials.com/esp32-cam-send-photos-email/ These settings, along with your wifi info and BLYNK authentication token will need to be put into the sketch for the camera.

CURRENT KNOWN ISSUES:

  • PCB for ESP32-CAM is "Backwards". All components must be soldered to backside of PCB as opposed to topside with the exception of the 5-pin JST which can be put on the proper side. Enclosure has been designed with this mistake in mind.

  • Some Camera ribbon cables seem to be different lengths, some tweaking of CamLid file may be needed to ensure lens fits through housing.

  • CoopCommand user input buttons some times need to be pressed twice to change screens/adjust values. Unsure what the issue is at this time, minor usability issue.

  • The BLYNK app is pretty basic, and not what I would like it to be. Improved integration (image showing in the app/10 second video stream) would be preffered, will look into AWS or other server hosting solutions.

PLANNED UPGRADES:

  • Improve BLYNK app with either onboard image display, or ~10 second video display in app with button press as opposed to emailing a picture. Would result in a much improved UX.

  • Figure out what is up with the multi-button press sometimes required.

  • Improved EEPROM setting saves with more user settings being saved to EEPROM (currently door close light level, water heat on and ventilation fan on temps are saved).

  • "self configuration" of system on startup. I would like the door to run an initial cycle on first power-on so it can self test motor connections and adjust if connected "backwards"

  • Easy deployment of CoopCam. Would like users to log into a self-hosted website on the ESP32-Cam, input their Wifi info and Blynk Authorization certificate. then have the system reboot on their network, attached to their Blynk app.

coopcommand's People

Contributors

hms-11 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.