SmartCoop: Automatizirajte i kontrolirajte svoj kokošinjac pomoću Jave

  • SmartCoop kombinuje Raspberry Pi, ESP32-S3 i vlasničku SMD PCB ploču za automatizaciju vrata, vode, hrane i nadzora kućnog kokošinjca.
  • Sistem koristi Javu, H2 bazu podataka, Javalin web server i MQTT za daljinsko upravljanje, grafiku i detaljno evidentiranje senzora i događaja.
  • Integrira UHF RFID, vremensku prognozu, GPS i strategije za uštedu energije kako bi poboljšao sigurnost i autonomiju predatora.
  • To je projekt otvorenog koda namijenjen naprednim hobistima, bez komercijalne svrhe, rezultat više od deset godina iteracija i stvarnih poboljšanja.

SmartCoop kontrolira kokoši pomoću Jave

Upravljanje malim kokošinjcem iz dana u dan može postati pravi zadatak: otvaranje i zatvaranje vrata, provjera ima li vode i hrane, pažnja na predatore... Kada želite i da se odvojite na nekoliko dana bez oslanjanja na komšiju ili čuvara, počinje imati mnogo smisla razmotriti rješenje... Potpuna automatizacija kokošinjca uz pomoć tehnologije i programiranja.

Tako je nastao SmartCoop, projekat entuzijaste sa bogatim iskustvom u elektronici i razvoju embedded sistema, koji se tokom više od decenije razvio u visoko sofisticirani sistem. Njegov tvorac živi na maloj farmi u Novom Južnom Velsu, blizu Canberre u Australiji, i drži jato od oko 30 kokoši. Njegov cilj je bio da minimizira rutinske zadatke, poboljša sigurnost od pametnih lisica i, usput rečeno, zadovolji svoju strast prema dizajniranju hardvera i pisanju koda. koristeći Raspberry Pi, ESP32-S3 i Java i C++ softver.

Šta je SmartCoop i koja je njegova filozofija?

SmartCoop je u osnovi sveobuhvatni kontroler za kokošinjace, izgrađen oko... Raspberry Pi i ESP32-S3 modul montirani na SMD PCB ploču Dizajnirano po narudžbi. Nije komercijalni proizvod, niti to namjerava biti: njegov tvorac ga održava kao lični projekat otvorenog koda, bez namjere da ga pretvori u posao jer već ima zahtjevan posao u australijskoj odbrambenoj industriji.

Rješenje je sada u svojoj četvrtoj generaciji (GEN4.x), dizajnirano nakon mnogo godina testiranja, kvarova i iterativnih poboljšanja. Tokom ovog vremena, sistem je rješavao vrlo specifične probleme, od zimske potrošnje energije do lukavstva lisica, kao i ograničenja senzora i neugodnosti lemljenja komponenti kroz rupe. Sve je to rezultiralo trenutnim dizajnom PCB-a sa SMD komponente, USB-C napajanje i višestruki interfejsi za senzore i aktuatore.

SmartCoopov pristup je daleko od tipičnih automatskih otvarača vrata koje možete kupiti online. Ovdje je fokus na... Gotovo potpuna automatizacija kokošinjca: vrata, voda, hrana, snimanje podataka, daljinski nadzor, pa čak i RFID očitavanje pilićaSistem je dizajniran za polururalno okruženje sa umjerenim brojem ptica i stvarnim problemima predatora i vremenskih uslova.

Nadalje, autor dijeli i kod i hardverske sheme pod licencom otvorenog koda. Svi zainteresirani mogu preuzeti datoteke iz Bitbucket repozitorija, izraditi vlastite ploče, pa čak i pokušati replicirati sklop. Povremeno, kreator može čak dati i neke od svojih unaprijed popunjenih PCB-ova. naplaćujući samo troškove proizvodnje i pomažući koliko god je to moguće s tehničkim pitanjima.

Hardverska arhitektura: Raspberry Pi, ESP32-S3 i SMD PCB

Srce sistema je kombinacija Raspberry Pi računarski modul (pete generacije) i ESP32-S3 integrirano na prilagođenu ploču. Raspberry Pi se bavi logikom visokog nivoa, web interfejsom, bazom podataka i integracijom sa eksternim servisima. ESP32-S3, s druge strane, preuzima zadatke u realnom vremenu, upravljanje prekidima, direktnu kontrolu motora i senzora i funkcije male potrošnje energije.

Rane verzije ploče koristile su komponente s prolaznim rupama i vrlo jednostavan mikrokontroler (PICAXE-14M2) koji je jedva obavljao noćno uključivanje i isključivanje Raspberry Pi-ja. Prelaskom na četvrtu generaciju i SMD montažu, napravljen je značajan korak: zamjena tog mikrokontrolera modulom Unexpected Maker ESP32-S3, sa... Veća snaga, mala potrošnja, dobra razvojna zajednica i obilje otvorenih biblioteka u C++-u.

Prelazak na SMD imao je nekoliko pozitivnih efekata. S jedne strane, ploče su kompaktnije i ekonomičnije; s druge strane, dostupnost i cijena komponenti za površinsku montažu su bolje od njihovih ekvivalenata kroz rupu. Nadalje, prepuštanjem montaže proizvođaču poput PCBWay-a, autor je uspio dobiti nekoliko potpuno popunjenih PCB-ova po cijeni sličnoj onoj koju je ranije plaćao samo za prazne ploče, postižući Profesionalnija montaža, s nižom potrošnjom energije i praktičnim napajanjem putem USB-C.

Jedan zanimljiv detalj, naučen na teži način, tiče se vanjskog ožičenja: lokalni kakadui su kljucali i uništili snop kablova, tako da je sada cijeli terenski sklop zaštićen valovitim cijevima ili sličnim kanalom. Ovakvi problemi iz stvarnog svijeta oblikovali su dizajn projekta i objašnjavaju zašto trenutna verzija uključuje robusni konektori, fizička zaštita i vrlo praktična rješenja za instalaciju.

PCB, u svojim najnovijim iteracijama, također uključuje dodatne serijske interfejse za komunikaciju s UHF RFID čitačima, konektore za senzore težine, ulaze induktivnih senzora vrata, releje za motore, fizičke kontakte dugmadi i druge priključke potrebne za upravljanje kokošinjcem s potpunom fleksibilnošću.

Ključne karakteristike četvrte generacije SmartCoopa

SmartCoop GEN4 objedinjuje širok spektar funkcija osmišljenih da oslobode korisnika od svakodnevnih zadataka i poboljšaju sigurnost ptica. Sistem uključuje... potpuno automatska glavna vrata, čije se otvaranje i zatvaranje kontroliše kombinacijom svjetlosnog senzora i podataka o izlasku i zalasku sunca Izračunava se na osnovu GPS lokacije. Ovo omogućava prilagođavanje i dobu godine i specifičnim uslovima osvjetljenja.

Pored glavnih vrata koja omogućavaju pristup unutrašnjosti kokošinjca, postoje i druga vrata (dvorišna vrata) koja kontrolišu pristup terasi ili vanjskom prostoru. U ovom slučaju, odluka o njihovom otvaranju ili ne zasniva se na Zvanična vremenska prognoza Australijskog meteorološkog biroa (BOM)Ako prognoza premaši određeni prag vjerovatnoće kiše koji se može konfigurisati u bazi podataka, sistem drži ta vrata zatvorenim tokom dana kako kokoške ne bi upale na verandu kuće u potrazi za skloništem... i napravile nered.

Kontroler je dopunjen sveobuhvatnim web interfejsom koji omogućava ručno upravljanje vratima, podešavanje parametara konfiguracije, pregled historije senzora i vizualizaciju podataka u grafikonima. Sama ploča uključuje nekoliko fizičkih dugmadi za otvaranje ili zatvaranje vrata, punjenje rezervoara za vodu i druge funkcije. Uključite Raspberry Pi ako želite da ga koristite bez pristupa web interfejsu..

Još jedna važna komponenta je upravljanje vodom: sistem prati nivo rezervoara i kontroliše njegovo automatsko punjenje. U kombinaciji s dizajnom rezervoara i filtera koji je osmislio autor, ovo osigurava stalnu opskrbu čistom vodom za piliće, minimizirajući potrebu za pražnjenjem i čišćenjem blatnjavih ili algama ispunjenih pojilica. Paralelno s tim, elektronika uključuje programiranu logiku uključivanja/isključivanja za Raspberry Pi kako bi se smanjila... noćna potrošnja i izbjegavanje prevelikog kapaciteta baterije i solarnog panela.

Sistem je upotpunjen relacijskom bazom podataka otvorenog koda (H2), koja bilježi podatke senzora, vrijednosti konfiguracije, historijske događaje, informacije o vremenu i druge parametre. Pored toga, sistem ima GPS interfejs koji pruža tačno vrijeme za sinhronizaciju sata u realnom vremenu i koordinata geografske širine i dužine, što je korisno za automatsko izračunavanje vremena izlaska i zalaska sunca čak i kada je Pristup internetu je u kvaru i nije moguć pristup vanjskim uslugama.

Za napredno praćenje, SmartCoop objavljuje informacije u realnom vremenu putem MQTT brokera, omogućavajući drugim eksternim aplikacijama, panelima ili kontrolnim pločama da prikazuju potrošnju, status i upozorenja. Sa svim ovim, sistem postaje pravi nervni centar za cijelo poslovanje, sposoban da funkcioniše praktično bez ljudske intervencije nekoliko dana.

Automatizacija i sigurnost od lisica i drugih predatora

Jedna od stalnih glavobolja na projektnoj farmi su lisice. Iako su se vrata automatski zatvarala u sumrak, javljale su se opasne situacije: popodnevne oluje koje su prisilile kokoši da uđu u kokošinjac prije predviđenog vremena, dok su vrata ostala otvorena i lisice su imale slobodu da uđu. To je dovelo do ideje o korištenju UHF RFID oznake za individualnu identifikaciju svake kokoši.

Logika je jednostavna, ali moćna: ako sve kokoške nose jeftinu RFID oznaku (lako se može nabaviti na platformama poput AliExpressa), sistem može prebrojati koliko ih je već ušlo u sklonište. Kada detektuje da su sve unutra, može zatvoriti glavna vrata ranije, bez čekanja na vrijeme automatskog zatvaranja. Ovo značajno smanjuje prozor mogućnosti da se lisica ušunja unutra iskorištavajući naglu promjenu vremena ili bilo koju drugu nepredviđenu okolnost - nešto neprocjenjivo u kontekstima gdje Predatori brzo postaju "stručnjaci" za uzorke kokošinjca.

Kod PCB4.4 verzija, dizajn uključuje UHF RFID čitač sa četiri antene, povezan sa Raspberry Pi Compute Module putem RS-232 veze kojom upravlja ESP32-S3. Ova arhitektura omogućava kontinuirano ispitivanje oznaka, pružajući informacije u realnom vremenu o tome koje se životinje nalaze unutar ili izvan ograđenog prostora. Autor napominje da je funkcija upita oznaka već funkcionalna i da se trenutno dalje razvija. integrirati ove podatke s Java aplikacijom koja se izvodi na Raspberry Pi-ju i s H2 bazom podataka.

Još jedna zanimljiva upotreba RFID očitavanja je praćenje polaganja jaja. Postavljanjem antena u kutije za gnijezda, svako jaje se može povezati s kokoškom koja ga je snijela, bilježeći koje životinje nose jaja, koliko često i u koju kutiju. Iako se kreator šali da ne namjerava zahtijevati ugovore o nivou usluge od svojih kokoši ili nametati proizvodne ciljeve, ove informacije bi mogle biti korisne za male poljoprivrednike koji rade sa... pasmine genetskog naslijeđa ili specifični programi selekcije.

Iskustvo s lisicama također je dovelo do preispitivanja logike koja stoji iza jutarnjeg otvaranja glavne kapije. Sistem se neko vrijeme uvijek otvarao u isto vrijeme, omogućavajući jednom od ovih predatora da se strateški pozicionira pored kapije nekoliko minuta prije nego što se ona otvori. Kako bi se razbila ova rutina, razvijeno je poboljšanje koje uključuje slučajna komponenta u vrijeme otvaranja.

Softver sada preuzima tabelu sa vlastite web stranice koja prikazuje vrijeme izlaska i zalaska sunca za određenu lokaciju farme, uzimajući u obzir sve sezonske varijacije. Svako jutro, približno u izlazak sunca, kontroler počinje pratiti senzor svjetlosti dok se ne dostigne definirani prag svjetlosti. Ako se prekorači maksimalno vrijeme (na primjer, 60 minuta) bez dostizanja praga, kapija se ipak otvara. Rezultat je dinamičan raspored koji kombinuje sezonske promjene, varijacije ambijentalnog osvjetljenja i sigurnosno vremensko ograničenje, što lisici znatno otežava pristup. predvidjeti tačan trenutak otvaranja i zloupotrebiti taj fiksni obrazac.

Napredno upravljanje vodom: od prljavog ribnjaka do gotovo autonomnog sistema

U originalnom sistemu, kokoške su pile iz malog ribnjaka ili bazena. Problem je bio očigledan: u zavisnosti od doba godine i nivoa vode, kvalitet je znatno varirao, a pojilica se brzo zaprljala, što je zahtijevalo prečesto pražnjenje, čišćenje i ponovno punjenje. Da bi izbjegao ove ponavljajuće zadatke, autor je dizajnirao kompletan sistem sa PVC rezervoari, filtracija pijeskom i automatsko punjenje.

Sistem počinje s velikim rezervoarom napravljenim od cijevi za kišnicu, koji uključuje pješčani filter koji značajno poboljšava kvalitet vode. Ovaj glavni rezervoar napaja drugi, manji rezervoar, također napravljen od PVC cijevi od 90 mm, koji dovodi vodu do kokoši putem malih čašica ili automatskih hranilica, sličnih onima koje se koriste na komercijalnim farmama.

SmartCoop kontroler prati raspoloživi nivo vode i aktivira pumpu ili ventil za ponovno punjenje rezervoara kada je to potrebno. Ovo praktično eliminiše potrebu da vlasnik prazni, riba i ponovno puni pojilice svakih nekoliko dana, održavajući higijenskiji i konzistentniji sistem. Kombinacijom ove hidraulične komponente s elektronikom, rješenje postiže stabilno, čisto snabdijevanje vodom koje gotovo ne zahtijeva svakodnevno održavanje.

Ovo poboljšanje je kombinovano sa kontrolom energije noću: ako pumpe ne moraju da rade ili ekran Raspberry Pi-ja ne treba da se koristi noću, sistem je programiran da se delimično isključi radi uštede energije. Balansiranje dostupne energije sa solarnih panela, kapaciteta baterije i zahteva elektronike bio je ozbiljan problem tokom oblačnih zima u Canberri, a odabrana strategija je bila inteligentno upravljajte uključivanjem i isključivanjem umjesto ulaganja u skuplje panele i baterije.

Kontrola hrane i dozatori sa senzorima za težinu

Još jedno ključno pitanje za svakoga ko drži kokoši je hrana. Ako želite putovati nekoliko dana, nije dovoljno samo napuniti malu hranilicu i nadati se da će trajati. Autor se pitao kako da sistem pouzdano "upozori" kada hrana ponestaje i odlučio je da integriše... Senzori težine bazirani na čipu NAU7802 u najnovijoj verziji PCB-a.

Ideja je da se ovi pretvarači i mjerne ćelije koriste za vaganje sadržaja dozatora hrane. Pomoću ovih informacija, SmartCoop može procijeniti koliko je hrane preostalo za nekoliko dana, otkriti abnormalnu potrošnju (na primjer, zbog prisustva drugih vrsta ili glodara) i pokrenuti precizna upozorenja kada se dostigne niski prag. Dizajn je namijenjen da ovi rezervoari drže barem nekoliko sedmica hrane, tako da Vlasnik i njegov partner mogu biti odsutni nekoliko dana bez potrebe da ikoga mole za usluge..

Nadalje, sistem bilježi potrošnju u bazi podataka, što omogućava pregled srednjoročnih obrazaca: koliko kokoši jedu u zavisnosti od doba godine, da li se potrošnja mijenja kada se životinje dodaju ili uklone itd. Ovo može biti korisno za prilagođavanje obroka, predviđanje kupovine hrane ili čak otkrivanje zdravstvenih problema u jatu ako se uoče neuobičajene varijacije. Sva ova logika je osmišljena tako da Upravljanje hranom više ne bi trebalo zavisiti samo od brzih pogleda na hranilicu i počinju se oslanjati i na objektivne mjere.

Potrošnja energije, noćno isključivanje i mobilne varijante

Jedan od početnih izazova bio je natjerati sistem da radi na razumnoj kombinaciji solarnog panela i baterije, a da pritom ne ostane bez napajanja svakih nekoliko dana lošeg vremena. S Raspberry Pi-jem i ekranom koji rade 24/7, tokom zima u Canberri, samo nekoliko oblačnih dana bilo je dovoljno da isprazni bateriju. Prije nego što je požurio da kupi mnogo veći panel i bateriju, autor je odlučio... uvesti inteligentno upravljanje uključivanjem/isključivanjem napajanja.

U početnim iteracijama, mali PICAXE mikrokontroler je korišten za isključivanje napajanja Raspberry Pi-ja i drugih komponenti tokom određenih vremenskih perioda, koristeći informacije iz sata realnog vremena (RTC). Logika je bila da dok pilići spavaju, nije bilo potrebe da sva elektronika bude uključena, da senzori rade kontinuirano ili da ekran prikazuje informacije.

Prelaskom na SMD ploču i ESP32-S3, ova odgovornost je prenesena na novi modul, omogućavajući prefinjenije i fleksibilnije strategije. Čak je razmatran i mobilni način rada, dizajniran za prenosivi "Tragač kokoši" koji bi se kretao od jedne GPS tačke do druge, ostajući isključen tokom dana i aktivirajući se noću radi snimanja pozicija ili statusa. Ovaj način rada demonstrira... način razmišljanja o optimizaciji energije koji je u velikoj mjeri fokusiran na stvarnu upotrebu i ograničenja dostupnog hardvera.

Zahvaljujući ovom pristupu, problemi s ponavljajućim pražnjenjem baterija riješeni su bez potrebe za ugradnjom prevelikih solarnih panela. Sistem se sada isključuje tokom perioda neaktivnosti, ali nastavlja obavljati sve svoje ključne funkcije automatizacije i sigurnosti u ključnim trenucima: otvaranje i zatvaranje vrata, noćne provjere i značajne promjene statusa.

Java web interfejs, daljinsko praćenje i obavještenja

Pored čisto fizičkih aspekata, SmartCoop integriše visoko sofisticirani softverski sloj. Koristeći autorovo iskustvo s Javom, razvijena je aplikacija koja radi na Raspberry Pi-ju i uključuje... lagani web server baziran na Javalinu koji pruža interfejs za kontrolu i praćenjeOvaj interfejs vam omogućava da otvorite ili zatvorite vrata, prisilno napunite vodom, provjerite statuse senzora i pregledate grafikone generisane pomoću Google Charts-a.

Ovo poboljšanje nastalo je nakon incidenta u kojem je sistem otkrio kvar vrata (timeout pri pokušaju zatvaranja) i poslao e-poruku s upozorenjem da se glavna vrata možda nisu potpuno zatvorila. Do tada je dijagnosticiranje takvih problema zahtijevalo fizičko prisustvo na lokalnom ekranu osjetljivom na dodir i navigaciju kroz ekrane sistema. Kako bi se smanjila ova ovisnost, kreiran je web interfejs dostupan s bilo kojeg mjesta s internetskom vezom, delegirajući zadatak posluživanja interfejsa Javi i Javalinu. Jednostavne stranice s kontrolnim dugmadima i ažuriranjima statusa u stvarnom vremenu.

Svakog dana, e-poruke koje sistem šalje uključuju javnu IP adresu rutera koji omogućava pristup internetu. To omogućava vlasniku da se poveže na web panel izvan kuće i ponaša se kao da stoji ispred kokošinjca. U budućnosti, autor planira proširiti ovaj interfejs kako bi ponudio detaljnije dijagnostičke funkcije i pristup naprednim postavkama, ali čak i u trenutnom stanju, mogućnost otvaranja ili zatvaranja vrata, provjere nivoa i validacije alarma s bilo kojeg mjesta Ovo je ključno za odlazak na odmor sa mirom uma.

Java aplikacija se oslanja na H2 bazu podataka za pohranjivanje dugoročnih informacija i na MQTT brokera za distribuciju očitanja i događaja. Ovo otvara put integraciji SmartCoopa u druge platforme za kućnu automatizaciju ili generičke kontrolne ploče, koje se mogu pretplatiti na MQTT teme i prikazivati ​​status kokošinjca zajedno s drugim kućnim ili poljoprivrednim uređajima.

Jedan posebno koristan dodatak je "posljednja noćna provjera". Ovaj modul skenira status svih vrata, rezervoara i senzora u unaprijed određeno vrijeme i šalje sažetak putem e-pošte na konfigurabilnu listu primalaca. Na ovaj način, ako tinejdžer zaboravi zaključati ručna vrata ili ako dođe do kvara aktuatora, to se može otkriti neposredno prije... isključite dijelove sistema za noćni režim rada s niskom potrošnjom energije i ispravite to dok je još na vremenu.

Integracija s vremenskom prognozom i svakodnevnim životom s kokošima

SmartCoop se također integrira s vanjskim izvorima podataka, posebno s vremenskom prognozom Australijskog zavoda za meteorologiju. Aplikacija periodično preuzima XML datoteku s prognozom i analizira da li vjerovatnoća kiše za to područje prelazi određeni prag utvrđen u bazi podataka. Ako se to dogodi, sistem odlučuje Držite druga vrata koja omogućavaju pristup terasi zatvorena.kako bi se spriječilo širenje pilića po kući i, usput rečeno, punjenje verande izmetom kada pada kiša ili je hladno.

Ovaj sistem je razvijen nakon što je uočeno da su, tokom loših dana, kokoši radije lutale po drvenoj terasi, blizu kuće, nego da lutaju livadom. To je rezultiralo stalnom potrebom za korištenjem perača pod pritiskom kako bi se područje održavalo čistim. Zahvaljujući automatskom sistemu donošenja odluka na osnovu prognoze kiše, ptice provode mnogo više vremena unutar kokošinjaca ili u manje problematičnim područjima, smanjujući potrebu za peračem pod pritiskom. Poslovi čišćenja koje niko ne želi obavljati svake sedmice.

Osim toga, sistem prikuplja sve ove meteorološke i bihevioralne podatke u H2 bazi podataka, što omogućava naknadnu analizu kako kokoši reaguju na različite vremenske obrasce ili da li se uočavaju neobične korelacije između padavina, promjena u rasporedu, potrošnje hrane i učestalosti nošenja jaja.

Kombinacija internih senzora, eksternih podataka (kao što su vrijeme ili vrijeme izlaska/zalaska sunca) i mogućnosti donošenja odluka u Java logici čini SmartCoop mnogo više od jednostavnog sistema za automatizaciju vrata. U praksi se ponaša kao mali "menadžer domaće farme peradi", sposoban za dinamički se prilagođavati uslovima okoline i stvarnim potrebama stada.

Život s takvim sistemom također zahtijeva određenu količinu digitalne discipline: redovno provjeravanje e-pošte, osiguravanje da se javna IP adresa ne mijenja bez vašeg znanja, praćenje stanja Raspberry Pi-ja i solarnog panela i tako dalje. Ali zauzvrat, dobijate mogućnost da budete odsutni i do sedmicu dana, a da niko ne mora doći i otvoriti ili zatvoriti vrata, dopuniti vodu ili provjeriti da li se lisice još uvijek vrebaju uokolo.

Zajedno, SmartCoop pokazuje kako kombinacija ugrađene elektronike, Java i C++ programiranja, različitih senzora, MQTT komunikacije i prilagođenog dizajna hardvera omogućava... Transformacija amaterskog kokošinjca u visoko automatizirani objekt koji je otporan na predatore, energetski efikasan i mnogo lakši za upravljanjeSve to uz zadržavanje duha otvorenog projekta bez komercijalnih pretenzija koje su ga dovele do rođenja.


Dodaj kao preferirani izvor