Obsah:

Krmítko pro domácí zvířata s robotem RasPi a telegramem: 4 kroky (s obrázky)
Krmítko pro domácí zvířata s robotem RasPi a telegramem: 4 kroky (s obrázky)

Video: Krmítko pro domácí zvířata s robotem RasPi a telegramem: 4 kroky (s obrázky)

Video: Krmítko pro domácí zvířata s robotem RasPi a telegramem: 4 kroky (s obrázky)
Video: Automatický dávkovač krmiva a vody 2v1 pro domácí zvířata 2024, Červenec
Anonim
Krmítko pro domácí zvířata s robotem RasPi a telegramem
Krmítko pro domácí zvířata s robotem RasPi a telegramem
Krmítko pro domácí zvířata s robotem RasPi a telegramem
Krmítko pro domácí zvířata s robotem RasPi a telegramem

Nejprve musím objasnit, že to není originální Idea Mine, stačí aktualizovat a přizpůsobit programovací skripty pro práci s telegramem, našel jsem to v předchozím Instructable, takže kredity jsou skutečně jeho autorem.

Španělskou verzi jste mohli vidět na mém osobním blogu:

Musíte vybudovat malý obvod, který aktivuje motor s vysokým točivým momentem, a protože moje znalosti elektroniky jsou velmi, velmi vzácné, musel jsem strávit pár dní osvojováním si základů sledováním videí na YouTube.

Původní automatizační skript je napsán v Pythonu a používá GMail připojení ke konzultaci příkazů, nikdy jsem tento programovací jazyk nepoužíval, ale pravda se tolik neliší od ostatních, trochu jsem ho upravil, aby se lépe přizpůsobil novému knihovny Pythonu a automatizační proces spolu s konfiguracemi operačního systému vám umožňují parametrizovat následující:

  • Interakce prostřednictvím příkazů odesílaných do chatu řízená prostřednictvím chatbotů.
  • Umožňuje sledovat stav vydávaného jídla.
  • Řídí, kolik jídla bude vydáno.
  • Má tlačítka, která vám umožňují krmit ručně.
  • Nedovoluje překrmování tím, že zakáže krmení v 8hodinových intervalech.
  • Má stavový LCD displej, který zobrazuje data jako datum a čas příště pro další napájení, SSID, ke kterému je připojen k WiFi, a IP adresu zařízení.
  • Volitelné: Ukazuje několik náhodných vtipů Chucka Norrise a / nebo Trivia of Numbers pomocí dvojice veřejných APIS (Geniální od původního autora).
  • Systém je imunní vůči restartování kvůli výpadkům proudu, protože ukládá stavový soubor.
  • Systém detekuje ztrátu připojení a pokusí se znovu připojit, dokud nebude úspěšný.

Krok 1: Použitý materiál

  • 1 Raperry Pi, nejlépe verze 3, která je již integrována s bezdrátovou kartou, můžete také použít verzi Pi 3 Zero, chce to trochu více práce, protože musíte pájet piny, ale velmi pozdě jsem zjistil, že by to šlo použijte jeden z těch, které jsou ekonomičtější.
  • 1 elektromotor s vysokým točivým momentem, 37 mm, 3,5 ot / min a 12V.
  • 1 brzda pro 37mm motor.
  • 1 znakový LCD displej o rozměrech 20x4 s ovladačem HD44780.
  • 1 dávkovač obilovin Zevro Model WM1001 hřídel-D o délce 5 palců, průměr 0,63 cm (pro připojení k dávkovači je nutný řez D)
  • 1 Spojka hřídele od 1/4 "do 6 mm pro připojení k motoru.

Všechny předchozí materiály kromě posledních dvou jsem je ve své zemi nemohl sehnat (nebo jsem alespoň nevěděl, kde je sehnat), nicméně tyč a spojka jsou pravděpodobně ve svářečské dílně, ale když něco dělám poprvé takhle jsem netušil, jaké by to mělo být, aby se to vešlo do motoru, tak jsem se zeptal na stránku výše popsaných odkazů; Níže materiály, které jsem si mohl koupit v místních obchodech:

  • 1 dřevěná bedna, používám šířku 20,3 cm × 26,7 cm x hloubku 13 cm. box má dveře, které se otevírají vpravo s otvorem 10 cm x 4 cm pro umístění obrazovky LCD (místní truhlářství)
  • 3 Stiskněte tlačítka
  • 1 Malý protoboard
  • 1 LED 3,3 voltů (nezáleží na barvě, ale pro napětí jsou obvykle červené)
  • 1 tranzistor NPN PN2222
  • 1 Odpor 270 Ω
  • 1 Odpor 10 KΩ
  • 1 potenciometr 10 KΩ
  • 1 dioda IN4003 (může fungovat IN4001 nebo IN4004)
  • 1 adaptér 12V 3A
  • 1 5V 2A adaptér
  • 4 šrouby s křídlovou maticí od 1,5 palce do 2 palců (v závislosti na tloušťce použitého dřeva mají připevnit držák motoru k dřevěné krabici)
  • Kabely Propojovací vlákna různých barev
  • 1 skládací trubka nebo sada PVC o průměru 4 palce, to závisí na výšce, ve které bude dřevěná bedna umístěna.
  • 1 koleno z PVC, které se připevňuje k předchozímu odhozu.
  • 3 svorky pro automobilové trubky (Svět)
  • 4 stopy kabelu UTP (k propojení potřebujeme kroucené páry)
  • 1 USB webová kamera, není nutné mít vysoké rozlišení.

Některé různé materiály, které lze získat v železářstvích nebo případně již máme: Industrial Tape

  • Cínová svářečka
  • Cín
  • Vrtat
  • Vrták 5/16
  • Šrouby S8 s expandéry

Krok 2: Umístění struktury

Umístění konstrukce
Umístění konstrukce
Umístění konstrukce
Umístění konstrukce
Umístění konstrukce
Umístění konstrukce

Hlavní myšlenkou je nahradit dávkovací rukojeť, která je součástí ZEVRO, za tyč D, která bude poté spojena s motorem pomocí spojky. Dávkovač bude připevněn k dřevěné krabici a dřevěná krabice ke zdi. Protože neznám mnoho elektroniky, nepoužil jsem k montáži obvodu žádnou bakelitovou desku, takže jsem použil prkénko na vložení všech komponent, takže ve spodní části krabice je upevněn šrouby Rapberry Pi a prkénko, které již mělo lepidlo na zadní stranu, tak jsem to prostě šel vložit. Krabice musí mít tři tlačítka, která budou mít funkci Restartovat časovač, aktivovat podavač a poslední bude přímým krokem k aktivaci motoru bez procházení obvodu. Motor bude držen uvnitř krabice pomocí držáku, takže z tyče bude vyčnívat pouze tyč D, která se připojuje k výdejnímu stojanu, ve spodní části krabice upevněte a upravte webovou kameru tak, aby při každé e -mailové konzultaci a potvrzení poslali fotografii, jak je na tom talíř, aby se nepřekrmilo v případě, že nedojedli poslední kolo jídla.

Ze spodní části dávkovače byla umístěna trubice, která vede dolů na talíř, a na základnu bylo položeno koleno z PVC, do výstupu jsem umístil malou průmyslovou pásku, aby se minimalizovala rychlost toku jídla a vytvořil se výdejní základna pro zabránit stříkání jídla všude. K upevnění potrubí na zeď použijte kovové konzoly, které připevníte ke stěně pomocí šroubů S8.

Na dveřích krabice držte desku LCD obrazovky a pomocí kroucených párů kabelu UTP je vezměte přímo k Raspberry, na druhém konci kabelů spojte ženské špičky propojek, abyste usnadnili připojení v GPIO porty Raspberry. Toto by bylo schéma zapojení. Pokusím se to vysvětlit tím malým množstvím, které mohu od Electronics získat.

Motor je připojen přímo ke kladnému pólu 12voltového transformátoru, ale aby proud protékal, musí procházet obvodem v neutrálním pólu motoru, protože je použit tento tranzistor N2222. Tranzistory mají obvykle 3 nohy, které odpovídají kolektoru, základně a emitoru, v závislosti na modelu tranzistoru se umístění těchto ramen může lišit; Tento tranzistor zajišťuje funkci spínače. Zde připojíme neutrální pól motoru ke kolektoru tranzistoru, pin # 19 rapberry je připojen k základně pomocí odporu 270Ω a vysílač je připojen k neutrální svorce tranzistoru. Transformátor 12V spolu s jedním ze zemních pólů maliny; tranzistor nechá proud protékat mezi kolektorem a emitorem, pokud je báze stimulována dostatečným napětím; později naprogramujeme rapberry tak, aby podle určitých objednávek port 19 vysílal 3,3 voltů, což je dost na to, aby obvod pokračoval a aktivoval motor.

U obrazovky LCD je další část protobardu použita v jiném obvodu, kde připojíte potenciometr 10KΩ, který odmítá kontrast textu, který se zobrazuje na displeji LCD, takže pokud se na obrazovce nic nezobrazí, je to pravděpodobně proto, že potenciometr je zcela Zavřeno; v mém případě to nechávám zcela otevřené, aby byl text lépe vizualizován. Nakonec budou spojení v prkénku následující.

Krok 3: Konfigurace Raspberry Pi

Nejprve je důležité vytvořit Telegram Bot, který bude systém spravovat. K úpravě připojeného skriptu python budete potřebovat klíč. Přečtěte si prosím kroky v dokumentaci k telegramu:

core.telegram.org/bots#3-how-do-i-create-a-bot

Chcete-li konfigurovat rapberry, použijte Lite verzi Rapbianu (grafické rozhraní nepotřebujeme) a použijte základní konfiguraci, která ukazuje raspbian, jakmile je nainstalován, nebo pomocí příkazu raspi-config: rozbalte prostor na 100% a povolte SSH, ale nejdůležitější je změnit heslo a uživatelské jméno na uživatelské pi, které ve výchozím nastavení přichází (Jinak, jak se mi stalo, mohou utrpět útok přes port 22, pokud mají veřejnou IP adresu adresovanou malině). Kromě toho konfigurace automatického připojení k mé síti WiFi (za předpokladu, že se moje síť nazývá „BlogSoriano“a moje heslo je „$ ecure123!“) Klíč vygenerujeme a uložíme do souboru Bezdrátová připojení následujícím příkazem:

sudo wpa_passphrase "BlogSoriano" "$ ecure123!" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf>/dev/null

další věc je aktualizovat a nainstalovat instalační systém pythonu „pip“, takže se přihlásíme jako root, aktualizujeme a nainstalujeme potřebné balíčky:

sudo -i apt-get update apt-get install build-essential python-dev python-smbus python-pip

Díky tomu již máme přístup do knihovny tříd python, pro skript, který budeme používat, musíme nainstalovat následující:

pip install RPi. GPIO Adafruit-CharLCD httplib2 html2text sítě bezdrátový telepot cv2

Jakmile je instalace závislostí dokončena, použijeme skript připojený k tomuto kroku, uložím jej do cesty /opt/petfeeder.py a soubor lze vytvořit pomocí příkazu nano /opt/petfeeder.py a uvnitř tohoto souboru vložíme kód, nebo pokud máte více zkušeností s Linuxem, můžete si je stáhnout přímo pomocí wget. Ve skriptu je důležité upravit proměnné BOTKEY (v řádku 36) a SYSPASSWORD (v řádku 23).

Upřesňuji, že tento kód jsem nenapsal já, protože jsem nikdy neprogramoval v Pythonu, pouze jsem jej upravil tak, aby fungoval s novými knihovnami as obrazovkou LCD 20x4 a používal telegram Bot.

Jakmile máme skript, musíme změnit hodnoty proměnných pomocí klíče pro robota; k tomu je nutné vytvořit nový Telegram Bot, s tím, že by to bylo pouze uložení souboru a ukončení (pomocí Ctrl + nebo save a ctrl + x ponechá editor nano), stačí nám být důkazem restartů; samotný skript ukládá poslední aktivaci systému napájení, takže musíme pouze spustit skript při každém spuštění operačního systému, proto jsem našel velmi konkrétní řešení s programem nazvaným supervizor, který je nainstalován z úložišť Debianu:

správce instalace apt-get

a po instalaci stačí vytvořit konfigurační soubor v /etc/supervisor/conf.d/petfeeder.conf, stejně jako v předchozím případě jej můžeme vytvořit a uložit pomocí nano, tento soubor bude mít následující:

[program: petfeederd] adresář =/opt příkaz = python petfeeder.py autostart = true autorestart = true

Jakmile je soubor uložen, můžeme použít příkaz supervisorctl [start | zastavit | restart] petfeederd, protože v tomto případě služba nebyla spuštěna, provedeme ji spuštěním:

supervisorctl start petfeederd

Krok 4: Připraveno k testování

Image
Image
Připraveno k testování
Připraveno k testování
Připraveno k testování
Připraveno k testování
Připraveno k testování
Připraveno k testování

A díky tomu by měl systém fungovat, LCD obrazovka by měla zobrazovat informace o tom, kdy by to mělo být další krmení, nebo zda je připraveno ke krmení, mám -li to říci. Musíte také ukázat název bezdrátové sítě, ke které jste připojeni, a IP adresu, která se používá v případě, že se potřebujeme připojit přes SSH, sdílím malé video, které jsem vytvořil, omlouvám se za jeho kvalitu, já nejsem moc dobrý, je toto téma vlogů.

Po autorizaci chatu byste měli být schopni vyhledat svého robota na Telegramu a odeslat jeden z následujících příkazů:

/feed: Spustí proces podávání, pokud uplyne parametrizované časové období.

/when: vrací informace o tom, kdy bylo poslední krmení, a obrázek talíře s jídlem.

/foto: Vraťte obrázek talíře s jídlem.

/restart: Restartujte systém, nastavte proměnnou posledního zdroje na 0, abyste mohli okamžitě podávat.

/status Informuje o stavu připojení k internetu: SSID připojeného bezdrátového připojení a IP adresa, kterou má systém v síti.

Doporučuje: