
Управлението на малък кокошарник ден след ден може да се превърне в доста досадно задължение: отваряне и затваряне на врати, проверка за вода и храна, наблюдение за хищници… Когато искате също така да можете да се измъкнете за няколко дни, без да разчитате на съсед или гледач, започва да има много смисъл да обмислите решение на... Пълна автоматизация на кокошарника с технология и програмиране.
Така се ражда SmartCoop, проект на ентусиаст с богат опит в електрониката и разработката на вградени системи, който се е развил в продължение на повече от десетилетие във високотехнологична система. Създателят му живее в малка ферма в Нов Южен Уелс, близо до Канбера, Австралия, и отглежда стадо от около 30 кокошки. Целта му е била да сведе до минимум рутинните задачи, да подобри сигурността срещу хитри лисици и, между другото, да се отдаде на страстта си към проектирането на хардуер и писането на код. използвайки Raspberry Pi, ESP32-S3 и софтуера Java и C++.
Какво е SmartCoop и каква е неговата философия?
SmartCoop е по същество цялостен контролер за кокошарници, изграден около... Raspberry Pi и ESP32-S3 модул, монтирани на SMD печатна платка Разработен по поръчка. Не е търговски продукт, нито пък възнамерява да бъде: създателят му го поддържа като личен проект с отворен код, без намерение да го превърне в бизнес, защото вече има взискателна работа в австралийската отбранителна индустрия.
Решението вече е в четвъртото си поколение (GEN4.x), проектирано след много години тестове, неуспехи и итеративни подобрения. През това време системата е адресирала много специфични проблеми, от зимната консумация на енергия до хитростта на лисиците, както и ограниченията на сензорите и неудобството от запояване на компоненти, преминаващи през отвори. Всичко това доведе до настоящия дизайн на печатна платка с... SMD компоненти, USB-C захранване и множество интерфейси за сензори и изпълнителни механизми.
Подходът на SmartCoop е далеч от типичните автоматични отварачки за врати, които можете да закупите онлайн. Тук фокусът е върху... Почти пълна автоматизация на кокошарника: врати, вода, храна, запис на данни, дистанционно наблюдение и дори RFID четене на пилетатаСистемата е проектирана за полуселска среда с умерен брой птици и с реални проблеми с хищници и метеорологични условия.
Освен това, авторът споделя както кода, така и хардуерните схеми под лиценз с отворен код. Всеки, който се интересува, може да изтегли файловете от хранилището на Bitbucket, да създаде свои собствени платки и дори да се опита да възпроизведе сглобката. Понякога създателят може дори да предостави някои от предварително попълнените си печатни платки. таксуване само на производствените разходи и съдействие, доколкото е възможно, с технически въпроси.
Хардуерна архитектура: Raspberry Pi, ESP32-S3 и SMD печатна платка
Сърцето на системата е комбинация от Изчислителен модул Raspberry Pi (пето поколение) и ESP32-S3 интегриран върху персонализирана платка. Raspberry Pi обработва логиката на високо ниво, уеб интерфейса, базата данни и интеграцията с външни услуги. ESP32-S3, от друга страна, поема задачи в реално време, управление на прекъсвания, директно управление на двигатели и сензори и функции за ниска консумация на енергия.
Ранните версии на платката използваха компоненти за монтаж през отвор и много прост микроконтролер (PICAXE-14M2), който едва успяваше да се справи с нощното включване и изключване на Raspberry Pi. С преминаването към четвърто поколение и SMD асемблиране беше направена важна стъпка: замяната на този микроконтролер с модул Unexpected Maker ESP32-S3, с... По-висока мощност, ниска консумация, добра общност за разработка и изобилие от отворени библиотеки в C++.
Преминаването към SMD имаше няколко положителни ефекта. От една страна, платките са по-компактни и икономични; от друга, наличността и цената на компонентите за повърхностен монтаж са по-добри от техните еквиваленти за монтаж през отвор. Освен това, чрез възлагане на сглобяването на производител като PCBWay, авторът успя да получи няколко напълно запълнени печатни платки на подобна цена, на която преди това плащаше само за празни платки, постигайки... По-професионален монтаж, с по-ниска консумация на енергия и удобно захранване от USB-C.
Един любопитен детайл, научен по трудния начин, се отнася до външното окабеляване: местните какадута са кълвали и са унищожили кабелния сноп, така че сега целият полен монтаж е защитен в гофрирана тръба или подобен канал. Тези проблеми от реалния свят са оформили дизайна на проекта и обясняват защо настоящата версия включва здрави конектори, физическа защита и много практични решения за монтаж.
В най-новите си версии печатната платка (PCB) включва и допълнителни серийни интерфейси за комуникация с UHF RFID четци, конектори за сензори за тегло, входове за индуктивни сензори за врати, релета за двигатели, физически бутони и други връзки, необходими за управление на кокошарника с пълна гъвкавост.
Основни характеристики на четвъртото поколение на SmartCoop
SmartCoop GEN4 съчетава широка гама от функции, предназначени да освободят потребителя от ежедневните задачи и да подобрят безопасността на птиците. Системата включва напълно автоматична главна врата, чието отваряне и затваряне се контролира чрез комбиниране на светлинен сензор с данни за изгрев и залез слънце Изчислява се въз основа на GPS местоположението. Това му позволява да се адаптира както към времето на годината, така и към специфичните условия на осветление.
В допълнение към главната врата, която осигурява достъп до вътрешността на кокошарника, има втора врата (врата за двор), която контролира достъпа до тераса или външна площ. В този случай решението за отваряне или не се основава на Официалната прогноза за времето от Австралийското бюро по метеорология (BOM)Ако прогнозата надвиши определен праг на вероятност за дъжд, конфигурируем в базата данни, системата държи вратата затворена през деня, така че кокошките да не нахлуят на верандата на къщата в търсене на подслон... и да направят бъркотия.
Контролерът е допълнен от цялостен уеб интерфейс, който позволява ръчно управление на вратите, регулиране на конфигурационни параметри, преглед на историята на сензорите и визуализация на данните в графики. Самата платка включва няколко физически бутона за отваряне или затваряне на врати, пълнене на резервоара за вода и други функции. Включете Raspberry Pi, ако искате да работите с него без достъп до уеб интерфейса..
Друг важен компонент е управлението на водата: системата следи нивото на резервоара и контролира автоматичното му пълнене. В комбинация с дизайна на резервоара и филтъра, разработен от автора, това осигурява постоянно снабдяване с чиста вода за пилетата, като минимизира необходимостта от изпразване и почистване на кални или пълни с водорасли поилки. Успоредно с това, електрониката включва програмирана логика за включване/изключване на Raspberry Pi, за да намали... нощна консумация и избягване на необходимостта от преоразмеряване на батерията и слънчевия панел.
Системата е допълнена с релационна база данни с отворен код (H2), която записва данни от сензори, конфигурационни стойности, исторически събития, информация за времето и други параметри. Освен това системата има GPS интерфейс, който осигурява точно време за синхронизиране на часовника в реално време и координатите за географска ширина и дължина, полезно за автоматично изчисляване на времето на изгрев и залез, дори когато... Достъпът до интернет е прекъснат и не е възможен достъп до външни услуги.
За разширено наблюдение, SmartCoop публикува информация в реално време чрез MQTT брокер, което позволява на други външни приложения, панели или табла за управление да показват потребление, състояние и предупреждения. С всичко това системата се превръща в истински нервен център за цялата операция, способен да функционира практически без човешка намеса в продължение на няколко дни.
Автоматизация и сигурност срещу лисици и други хищници
Едно от повтарящите се главоболия във фермата по проекта са лисиците. Въпреки че вратата се затваряше автоматично привечер, възникваха опасни ситуации: следобедни бури, които принуждаваха кокошките да влязат вътре преди определеното време, докато вратата оставаше отворена и лисиците имаха пълна свобода да влязат. Това доведе до идеята за използване UHF RFID етикети за индивидуална идентификация на всяка кокошка.
Логиката е проста, но мощна: ако всички кокошки носят евтин RFID етикет (лесно се получава от платформи като AliExpress), системата може да преброи колко вече са влезли в убежището. Когато засече, че всички са вътре, тя може да затвори главната врата преждевременно, без да чака времето за автоматично затваряне. Това значително намалява възможността, която лисицата има да има, за да се промъкне, като се възползва от внезапна промяна във времето или друго непредвидено обстоятелство – нещо безценно в контексти, където Хищниците бързо стават „експерти“ по моделите на кокошарника.
При версиите PCB4.4, дизайнът включва UHF RFID четец с четири антени, свързани към изчислителния модул Raspberry Pi чрез RS-232 връзка, управлявана от ESP32-S3. Тази архитектура позволява непрекъснато запитване на етикетите, предоставяйки информация в реално време за това кои животни са вътре или извън заграждението. Авторът отбелязва, че функцията за заявка на етикети вече е функционална и в момента е в процес на допълнително развитие. интегрирайте тези данни с Java приложението, работещо на Raspberry Pi, и с базата данни H2.
Друго любопитно приложение на RFID четенето е наблюдението на снасянето на яйца. Чрез поставяне на антени в кутиите за яйца, всяко яйце може да бъде свързано с кокошката, която го е снесла, като се записва кои животни снасят яйца, колко често и в коя кутия. Въпреки че създателят се шегува, че не възнамерява да изисква споразумения за ниво на обслужване от кокошките си или да налага производствени цели, тази информация би могла да бъде полезна за дребните фермери, работещи с... породи с генетично наследство или специфични програми за селекция.
Опитът с лисиците доведе и до преосмисляне на логиката зад сутрешното отваряне на главната порта. За известно време системата винаги се отваряше по едно и също време, което позволяваше на един от тези хищници да се позиционира стратегически до портата няколко минути преди тя да се отвори. За да се разчупи тази рутина, беше разработено подобрение, което включва случаен компонент при отваряне.
Сега софтуерът изтегля таблица от собствения си уебсайт, показваща часовете на изгрев и залез за конкретното местоположение на фермата, като взема предвид всички сезонни вариации. Всяка сутрин, приблизително при изгрев слънце, контролерът започва да наблюдава светлинния сензор, докато се достигне определен праг на светлината. Ако максималното време (например 60 минути) бъде превишено, без да се достигне прагът, портата все пак се отваря. Резултатът е динамичен график, който комбинира сезонни промени, вариации в околната светлина и време за безопасност, което прави достъпа на лисица много по-труден. предвиждат точния момент на отваряне и злоупотребяват с този фиксиран модел.
Усъвършенствано управление на водите: от мръсно езерце до почти автономна система
В оригиналната система кокошките пиели от малко езерце или басейн. Проблемът бил очевиден: в зависимост от времето на годината и нивото на водата, качеството варирало значително и поилката се замърсявала бързо, което изисквало твърде честото ѝ изпразване, почистване и пълнене. За да избегне тези повтарящи се задачи, авторът проектирал цялостна система с PVC резервоари, пясъчна филтрация и автоматизирано пълнене.
Системата започва с голям резервоар, изработен от тръба за дъждовна вода, който включва пясъчен филтър, който значително подобрява качеството на водата. Този основен резервоар захранва втори, по-малък резервоар, също изработен от 90 мм PVC тръба, която доставя вода на кокошките чрез малки чаши или автоматични хранилки, подобни на тези, използвани в търговските ферми.
Контролерът SmartCoop следи наличното ниво на водата и активира помпа или клапан за допълване на резервоара, когато е необходимо. Това на практика елиминира необходимостта собственикът да изпразва, почиства и пълни поилките на всеки няколко дни, поддържайки по-хигиенична и постоянна система. Чрез комбиниране на този хидравличен компонент с електроника, решението постига стабилно, чисто водоснабдяване, което почти не изисква ежедневна поддръжка.
Това подобрение е комбинирано с контрол на енергията през нощта: ако помпите не е необходимо да работят или екранът на Raspberry Pi да се използва през нощта, системата е програмирана да се изключи частично, за да пести енергия. Балансирането на наличната мощност от слънчевите панели, капацитета на батерията и изискванията за електроника беше сериозен проблем по време на облачните зими в Канбера и избраната стратегия беше... управлявайте интелигентно включването и изключването, вместо да инвестирате в по-скъпи панели и батерии.
Контрол на храната и диспенсъри със сензори за тегло
Друг критичен въпрос за всеки, който отглежда кокошки, е фуражът. Ако искате да можете да пътувате няколко дни, простото пълнене на малка хранилка и надеждата, че ще стигне, не е достатъчно. Авторът се е чудил как да накара системата надеждно да „предупреждава“, когато фуражът намалява и е решил да интегрира... сензори за тегло, базирани на чипа NAU7802 в най-новата версия на печатната платка.
Идеята е тези преобразуватели и датчици за тегло да се използват за претегляне на съдържанието на диспенсърите за храна. С тази информация SmartCoop може да прецени колко дни остава храна, да открие необичайна консумация (например поради наличието на други видове или гризачи) и да задейства прецизни предупреждения, когато се достигне нисък праг. Проектът е насочен към това тези резервоари да съхраняват поне няколко седмици храна, така че Собственикът и партньорът му могат да отсъстват за няколко дни, без да се налага да молят някого за услуги..
Освен това, системата записва консумацията в базата данни, което позволява преглед на средносрочните модели: колко ядат кокошките в зависимост от времето на годината, дали консумацията се променя при добавяне или премахване на животни и т.н. Това може да бъде полезно за коригиране на дажбите, прогнозиране на покупките на фураж или дори за откриване на здравословни проблеми в стадото, ако се наблюдават необичайни вариации. Цялата тази логика е проектирана така, че Управлението на фуражите вече не трябва да зависи единствено от бързи погледи към хранилката и започват да разчитат и на обективни мерки.
Консумация на енергия, нощно изключване и мобилни варианти
Едно от първоначалните предизвикателства беше да се накара системата да работи с разумна комбинация от слънчев панел и батерия, без да се изчерпва захранването на всеки няколко дни при лошо време. С Raspberry Pi и екран, работещи 24/7, по време на зимите в Канбера, само няколко облачни дни бяха достатъчни, за да изтощят батерията. Преди да се втурне да купи много по-голям панел и батерия, авторът реши въвеждане на интелигентно управление на включването/изключването на захранването.
В първоначалните итерации малък микроконтролер PICAXE беше използван за прекъсване на захранването на Raspberry Pi и други компоненти през определени периоди от време, използвайки информация от часовник в реално време (RTC). Логиката беше, че докато пилетата спят, няма нужда цялата електроника да е включена, сензорите да работят непрекъснато или екранът да показва информация.
С миграцията към SMD платката и ESP32-S3, тази отговорност беше прехвърлена на новия модул, което позволи по-прецизни и гъвкави стратегии. Дори беше обмислен мобилен режим на работа, проектиран за преносим „Chicken Tracker“, който ще се движи от една GPS точка до друга, като ще остане изключен през деня и ще се активира през нощта, за да записва позиции или състояния. Този начин на работа демонстрира... начин на мислене за оптимизация на енергията, силно фокусиран върху реалното потребление и ограниченията на наличния хардуер.
Благодарение на този подход, повтарящите се проблеми с разреждането на батериите бяха решени, без да се налага инсталирането на прекалено големи слънчеви панели. Системата сега се изключва по време на периоди на неактивност, но продължава да изпълнява всички свои критични функции за автоматизация и безопасност в ключови моменти: отваряне и затваряне на врати, нощни проверки и значителни промени в състоянието.
Java уеб интерфейс, дистанционно наблюдение и известия
Освен чисто физическите аспекти, SmartCoop интегрира и висококачествен софтуерен слой. Възползвайки се от опита на автора с Java, е разработено приложение, което работи на Raspberry Pi и включва... лек уеб сървър, базиран на Javalin, който осигурява интерфейс за контрол и наблюдениеТози интерфейс ви позволява да отваряте или затваряте врати, да пълните с вода принудително, да проверявате състоянието на сензорите и да преглеждате графики, генерирани с Google Charts.
Това подобрение възникна след инцидент, при който системата откри повреда на вратата (изчакване при опит за затваряне) и изпрати имейл с предупреждение, че главната врата може да не се е затворила напълно. Дотогава диагностицирането на подобни проблеми изискваше физическо присъствие на локалния сензорен екран и навигиране през екраните на системата. За да се намали тази зависимост, беше създаден уеб интерфейс, достъпен от всяко място с интернет връзка, като задачата за обслужване на интерфейса беше делегирана на Java и Javalin. Опростени страници с бутони за управление и актуализации на състоянието в реално време.
Всеки ден имейлите, изпращани от системата, включват публичния IP адрес на рутера, който осигурява достъп до интернет. Това позволява на собственика да се свърже с уеб панела отвън на дома и да действа така, сякаш стои пред кокошарника. В бъдеще авторът планира да разшири този интерфейс, за да предлага по-подробни диагностични функции и достъп до разширени настройки, но дори и в сегашното си състояние, възможност за отваряне или затваряне на врати, проверка на нива и валидиране на аларми от всяко място Това е ключът към това да отидете на почивка със спокойствие.
Java приложението разчита на базата данни H2 за съхраняване на дългосрочна информация и на MQTT брокера за разпределяне на показания и събития. Това проправя пътя за интегриране на SmartCoop в други платформи за домашна автоматизация или общи табла за управление, които могат да се абонират за MQTT теми и да показват състоянието на кокошарника, наред с други битови или селскостопански устройства.
Едно особено полезно допълнение е „последната нощна проверка“. Този модул сканира състоянието на всички врати, резервоари и сензори в предварително определено време и изпраща обобщение по имейл до конфигурируем списък с получатели. По този начин, ако тийнейджър е забравил да заключи ръчна врата или ако задвижващ механизъм е повреден, това може да бъде открито точно преди... изключете части от системата за режим на ниска консумация на енергия през нощта и го поправете, докато все още е навреме.
Интеграция с прогнозата за времето и ежедневието с пилетата
SmartCoop се интегрира и с външни източници на данни, по-специално с прогнозата за времето на Австралийското бюро по метеорология. Периодично приложението изтегля XML файл с прогноза и анализира дали вероятността за дъжд за района надвишава определен праг, установен в базата данни. Ако това се случи, системата решава Дръжте вторичната врата, която осигурява достъп до вътрешния двор, затворена.за да се предотврати разпространението на пилетата из къщата и, между другото, пълненето на верандата с изпражнения, когато вали или е студено.
Тази система е разработена след наблюдение, че в лоши дни кокошките предпочитат да се разхождат около дървената тераса, близо до къщата, вместо да се разхождат по поляната. Това води до постоянна необходимост от използване на водоструйка, за да се поддържа чистотата на зоната. С автоматичната система за вземане на решения, базирана на прогнозата за дъжд, птиците прекарват много повече време в кокошарника или в по-малко проблемни зони, което намалява нуждата от водоструйка. почистването, което никой не иска да прави всяка седмица.
Освен това, системата събира всички тези метеорологични и поведенчески данни в базата данни H2, което позволява последващ анализ на това как кокошките реагират на различни метеорологични модели или дали се наблюдават любопитни корелации между валежите, промените в графика, консумацията на храна и честотата на снасяне.
Комбинацията от вътрешни сензори, външни данни (като например времето или времето на изгрев/залез) и възможности за вземане на решения в Java логиката прави SmartCoop много повече от обикновена система за автоматизация на врати. На практика той се държи като малък „мениджър на домашна птицеферма“, способен... динамично да се адаптира към условията на околната среда и реалните нужди на стадото.
Животът с такава система изисква и известна доза дигитална дисциплина: редовна проверка на имейлите, гарантиране, че публичният IP адрес не се променя без ваше знание, наблюдение на състоянието на Raspberry Pi и слънчевия панел и т.н. Но в замяна получавате възможността да отсъствате до една седмица, без никой да се налага да идва и да отваря или затваря вратата, да долива вода или да проверява дали лисиците все още дебнат наоколо.
Взети заедно, SmartCoop демонстрира как комбинацията от вградена електроника, Java и C++ програмиране, различни сензори, MQTT комуникация и персонализиран хардуерен дизайн позволява... Превръщане на любителски кокошарник в силно автоматизирано съоръжение, което е защитено от хищници, енергийно ефективно и много по-лесно за управлениеВсичко това, като същевременно се запазва духът на отворен проект без търговски претенции, от които е роден.