Sisällysluettelo:

Lemmikkieläinten syöttölaite RasPi ja sähkebotti: 4 vaihetta (kuvilla)
Lemmikkieläinten syöttölaite RasPi ja sähkebotti: 4 vaihetta (kuvilla)

Video: Lemmikkieläinten syöttölaite RasPi ja sähkebotti: 4 vaihetta (kuvilla)

Video: Lemmikkieläinten syöttölaite RasPi ja sähkebotti: 4 vaihetta (kuvilla)
Video: Tuomari Dredd Loren historia ja varhaisvuosien selitys-Aloittelijan opas 2024, Heinäkuu
Anonim
Lemmikkieläinten syöttölaite RasPi ja sähke botti
Lemmikkieläinten syöttölaite RasPi ja sähke botti
Lemmikkieläinten syöttölaite RasPi ja sähke botti
Lemmikkieläinten syöttölaite RasPi ja sähke botti

Ensinnäkin minun on selvennettävä, että tämä ei ole alkuperäinen Idea Mine, vaan päivitä ja mukauta ohjelmointikomentot toimimaan sähkeen kanssa, löysin sen aiemmasta Instructable -ohjelmasta, joten oppaat ovat todella sen kirjoittaja.

Näet espanjankielisen version tästä henkilökohtaisesta blogistani:

Sinun on rakennettava pieni piiri, joka aktivoi suuren vääntömomentin moottorin, ja koska tietoni elektroniikasta ovat hyvin, hyvin niukat, jouduin viettämään pari päivää perusteiden oppimiseen katsomalla videoita YouTubessa.

Alkuperäinen automaatioskripti on kirjoitettu Pythonilla ja käyttää komentoja GMail -yhteyden avulla, en ollut koskaan käyttänyt tätä ohjelmointikieltä, mutta totuus ei ole niin erilainen kuin muut, olen muokannut sitä hieman niin, että se mukautuu paremmin uuteen Python -kirjastot ja automaatioprosessi yhdessä käyttöjärjestelmän kokoonpanojen kanssa mahdollistavat seuraavien parametrien määrittämisen:

  • Vuorovaikutus Chatille lähetettyjen komentojen kautta, jota hallitaan ChatBotien kautta.
  • Sen avulla voit seurata annettavan ruoan tilaa.
  • Määrittää, kuinka paljon ruokaa jaetaan.
  • Siinä on painikkeet, joiden avulla voit syöttää manuaalisesti.
  • Se ei salli yliruokintaa poistamalla ruokinta käytöstä 8 tunnin välein.
  • Siinä on tilanäyttö, joka näyttää tiedot seuraavan virtalähteen seuraavan ajankohdan päivämääränä ja kellonaikana, SSID -tunnuksen, johon se on yhdistetty WiFi -yhteyteen, ja laitteen IP -osoitteen.
  • Valinnainen: näyttää joitain Chuck Norrisin satunnaisia vitsejä ja / tai numeroiden triviaa käyttämällä julkista APIS -järjestelmää (alkuperäisen tekijän nerokas).
  • Järjestelmä ei voi käynnistyä uudelleen sähkökatkojen vuoksi, koska se tallentaa tilatiedoston.
  • Järjestelmä tunnistaa yhteyden katkeamisen ja yrittää muodostaa yhteyden uudelleen, kunnes se onnistuu.

Vaihe 1: Käytetyt materiaalit

  • 1 Raperry Pi, mieluiten versio 3, joka on jo integroitu langattomaan korttiin, voit käyttää myös Pi 3 Zero -versiota, se vaatii hieman enemmän työtä, koska sinun on juotettava nastat, mutta huomasin hyvin myöhään, että se voi käytä yhtä näistä taloudellisimmista.
  • 1 suuren vääntömomentin sähkömoottori, 37 mm, 3,5 rpm ja 12 V.
  • 1 Pidike 37 mm: n moottorille.
  • 1 merkin LCD -näyttö, jossa on 20 x 4 riviä HD44780 -ohjaimella.
  • 1 vilja-annostelija Zevro malli WM1001 akseli-D, 5 tuumaa pitkä, halkaisijaltaan 0,63 cm (D-leikkaus on tarpeen kiinnittääksesi sen annostelijaan)
  • 1 Akselin liitin 1/4 " - 6 mm moottorin liittämiseksi.

Kaikkia edellisiä materiaaleja kahta viimeistä lukuun ottamatta en saanut niitä kotimaastani (tai ainakaan en tiennyt mistä niitä saa), mutta tanko ja liitin ovat luultavasti hitsauspajassa, mutta teen ensimmäistä kertaa jotain näin ollen minulla ei ollut aavistustakaan, miten sen pitäisi sopia moottoriin, joten kysyin yllä kuvattujen linkkien sivulta; Alla materiaalit, joita voisin ostaa paikallisista kaupoista:

  • 1 puulaatikko, käytän 20,3 cm leveä × 26,7 cm korkea x 13 cm syvä. laatikossa on ovi, joka avautuu oikealle ja jossa on 10 cm x 4 cm reikä nestekidenäytön sijoittamiseen (paikallinen puuseppä)
  • 3 Painikkeet
  • 1 pieni protoboard
  • 1 3,3 voltin LED (värillä ei ole väliä, mutta jännite on yleensä punainen)
  • 1 NPN PN2222 -transistori
  • 1 Vastus 270 Ω
  • 1 Vastus 10 KΩ
  • 1 Potentiometri 10 KΩ
  • 1 IN4003 -diodi (IN4001 tai IN4004 voi toimia)
  • 1 12V 3A -sovitin
  • 1 5V 2A -sovitin
  • 4 ruuvia, joiden siipimutteri on 1,5 tuumaa - 2 tuumaa (riippuen käytetyn puun paksuudesta, niiden on kiinnitettävä moottorin kiinnike puulaatikkoon)
  • Kaapelit Eriväriset hyppylangat
  • 1 taitettava putki tai 4 tuuman halkaisijainen PVC -sarja, tämä riippuu puulaatikon korkeudesta.
  • 1 PVC -kyynärpää, joka kiinnittyy edelliseen valettuun.
  • 3 puristinta autoputkille (The World)
  • 4 jalkaa UTP -kaapelia (tarvitsemme kierrettyjä pareja liitäntöihin)
  • 1 USB WebCam, sen ei tarvitse olla suuri resoluutio.

Jotkut sekalaiset materiaalit, joita voi ostaa rautakaupoista tai mahdollisesti jo meillä: Teollisuusnauha

  • Tina hitsaaja
  • Tina
  • Porata
  • Pora 5/16
  • S8 ruuvit laajennuksilla

Vaihe 2: Rakenteen sijoittaminen

Rakenteen sijoittaminen
Rakenteen sijoittaminen
Rakenteen sijoittaminen
Rakenteen sijoittaminen
Rakenteen sijoittaminen
Rakenteen sijoittaminen

Pääidea on korvata ZEVRO: ssa oleva annostelukahva tangolla D, joka sitten kytketään moottoriin kytkimen avulla. Annostelija kiinnitetään puulaatikkoon ja puulaatikko seinään. Koska en tunne paljon elektroniikkaa, en käyttänyt mitään bakeliittilevyä piirin asentamiseen, joten laitoin leipälaudalla kaikki komponentit, joten laatikon pohja on kiinnitetty ruuveilla Rapberry Pi ja leipälauta, jossa oli jo liima takana, joten menin juuri liittämään sen. Laatikossa on oltava kolme painiketta, joiden tehtävänä on käynnistää ajastin uudelleen, aktivoida syöttölaite ja viimeinen on suora vaihe moottorin aktivoimiseksi ilman piiriä. Moottori pidetään laatikon sisällä kannattimen avulla, joten vain annostelijaan yhdistävä sauva D työntyy ulos laatikosta, laatikon pohjassa kiinnitä ja säädä verkkokamera niin, että jokaisessa sähköpostikonsultoinnissa ja vahvistuksessa I lähetti valokuvan lautasen tilasta, jotta sitä ei syötetä liikaa, jos he eivät ole lopettaneet viimeistä ruokakierrosta.

Annostelijan pohjasta asetettiin putkeen, joka menee alas levylle, ja PVC -kyynärpää asetettiin pohjaan, laitoin hieman teollista teippiä pistorasiaan ruoan virtauksen nopeuden minimoimiseksi ja tein annostelualustan estää ruoan suihkuttamisen kaikkialle. Kiinnitä putki seinään metallikiinnikkeillä, jotka kiinnität seinään S8 -ruuveilla.

Pidä laatikon luukusta kiinni nestekidenäytön levystä ja käytä UTP -kaapelin kierrettyjä pareja suoraan vadelmaan, kaapelien toisessa päässä jatka puseroiden naaraskärjet liittämisen helpottamiseksi. Raspberryn GPIO -portit. Tämä olisi piirikaavio. Yritän selittää sen sillä vähän, mitä voin saada elektroniikalta.

Moottori on kytketty suoraan 12 voltin muuntajan positiiviseen napaan, mutta virran virtaamiseksi sen täytyy kulkea moottorin neutraalinapaisen piirin läpi, tätä transistoria N2222 käytetään. Transistoreissa on normaalisti 3 jalkaa, jotka vastaavat keräintä, kantaa ja emitteriä, transistorin mallista riippuen näiden jalkojen sijainti voi vaihdella; Tämä transistori saa kytkimen toimimaan. Tässä yhteydessä kytketään moottorin neutraalinapa transistorin kollektoriin, rapun nasta # 19 on kytketty pohjaan 270Ω: n vastuksen avulla ja lähetin on kytketty transistorin neutraaliliittimeen. 12V muuntaja yhdessä vadelman maadoitusnapojen kanssa; transistori antaa virran kulkea keräimen ja emitterin välillä niin kauan kuin kantaa stimuloidaan riittävällä jännitteellä; myöhemmin ohjelmoimme rapperin niin, että tiettyjen määräysten mukaan portti 19 lähettää 3,3 volttia, mikä riittää piirin jatkamiseen ja moottorin aktivoimiseen.

Nestekidenäytössä protobardin toista osaa käytetään eri piirissä, johon kytket 10KΩ -potentiometrin, joka hylkää nestekidenäytössä näkyvän tekstin kontrastin, joten jos mitään ei näy näytöllä, se johtuu todennäköisesti siitä, että potentiometri on täysin suljettu; Minun tapauksessani jätän sen täysin auki, jotta teksti näkyy paremmin. Lopulta leipälevyn liitännät olisivat seuraavat.

Vaihe 3: Raspberry Pi -määritykset

Ensinnäkin on tärkeää luoda sähkebotti, jota järjestelmää hallitaan. Tarvitset avaimen liitetyn python -komentosarjan muokkaamiseen. Lue sähkeen dokumentaation vaiheet:

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

Määritä rapberry käyttämällä Rapbianin Lite-versiota (emme tarvitse graafista käyttöliittymää) ja käytä peruskokoonpanoa, joka näyttää raspbianin, kun se on asennettu tai käyttämällä raspi-config-komentoa: laajenna tila 100%: iin ja ota käyttöön SSH, mutta etenkin tärkeintä on vaihtaa salasana ja käyttäjätunnus oletusarvoisesti käyttäjälle pi (Muuten, kuten minulle tapahtui, he voivat kärsiä portin 22 hyökkäyksestä, jos heillä on vadelmalle osoitettu julkinen IP -osoite). Lukuun ottamatta asetuksia, jotka muodostavat yhteyden automaattisesti WiFi -verkkoon (olettaen, että verkkoni nimi on "BlogSoriano" ja salasanani on "$ ecure123!") Luomme ja tallennamme avaimen langattomien yhteyksien tiedostoon seuraavalla komennolla:

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

seuraava asia on päivittää ja asentaa python -asennusjärjestelmä "pip", joten kirjaudumme sisään pääkäyttäjänä, päivitämme ja asennamme tarvittavat paketit:

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

Tämän ansiosta meillä on jo pääsy python -luokan kirjastoon, koska meidän on asennettava seuraava skripti käytettäväksi:

pip install RPi. GPIO Adafruit-CharLCD httplib2 html2text netifaces wireless telepot cv2

Kun riippuvuuksien asennus on valmis, käytämme tähän vaiheeseen liitettyä komentosarjaa, tallennan sen polulle /opt/petfeeder.py ja tiedosto voidaan luoda komennolla nano /opt/petfeeder.py ja tämän tiedoston sisällä liitämme koodin tai jos sinulla on enemmän Linux -kokemusta, voit ladata sen suoraan wgetin avulla. Skriptissä on tärkeää muuttaa muuttujia BOTKEY (rivillä 36) ja SYSPASSWORD (rivillä 23).

Selvennän, että tämä koodi ei ole minun kirjoittamani, koska en ollut koskaan ohjelmoinut Pythonissa.

Kun meillä on komentosarja, meidän on muutettava muuttujien arvot botin avaimella; tätä varten sinun on luotava uusi sähkebotti, jolloin se olisi vain tiedoston tallentaminen ja poistuminen (Ctrl + tai tallenna ja ctrl + x poistuu editorista nano), meidän on vain osoitettava uudelleenkäynnistykset; skripti itse säästää viimeisen kerran, kun sähköjärjestelmä aktivoidaan, joten meidän on vain suoritettava skripti joka kerta, kun käyttöjärjestelmä käynnistyy, sillä löysin erityisen ratkaisun Debian -arkistosta asennetulla ohjelmalla nimeltä supervisor:

apt-get install valvoja

ja kun se on asennettu, meidän tarvitsee vain luoda asetustiedosto /etc/supervisor/conf.d/petfeeder.conf, kuten edellisessä tapauksessa voimme luoda ja tallentaa sen nano -ohjelmalla, tässä tiedostossa on seuraava:

[ohjelma: petfeederd] hakemisto =/opt -komento = python petfeeder.py autostart = true autorestart = true

Kun tiedosto on tallennettu, voimme käyttää komentoa supervorctl [start | pysäkki | Käynnistä uudelleen] petfeederd, koska tässä tapauksessa palvelua ei ole käynnistetty, suoritamme sen aloituksella:

valvoja aloittaa lemmikkieläinten syöttämisen

Vaihe 4: Valmis testaamaan

Image
Image
Valmis testaamaan
Valmis testaamaan
Valmis testaamaan
Valmis testaamaan
Valmis testaamaan
Valmis testaamaan

Ja tämän järjestelmän pitäisi toimia, nestekidenäytössä pitäisi näkyä tietoja siitä, milloin sen pitäisi olla seuraava syöttö tai onko se valmis syötettäväksi, jos sanon niin. Sinun on myös näytettävä sen langattoman verkon nimi, johon olet yhteydessä, ja käytettävä IP -osoite, jos meidän on muodostettava yhteys SSH: n kautta, jaan pienen videon, jonka tein, pahoittelen sen laatua. en ole kovin hyvä, onko tämä vlogien aihe.

Sinun pitäisi pystyä etsimään botiasi sähkeestä ja lähettämään yksi seuraavista komennoista sen jälkeen, kun olet valtuuttanut chatin:

/feed: Käynnistää syöttöprosessin niin kauan kuin parametroitu aika on kulunut.

/milloin: se palauttaa tiedot viimeisestä ruokinnasta ja kuvan ruokalautasesta.

/kuva: Palauta kuva ruokalautasesta.

/restart: Käynnistä järjestelmä uudelleen, aseta viimeisen syötteen muuttuja arvoon 0, jotta voit syöttää heti.

/status Se ilmoittaa Internet -yhteyden tilasta: yhdistetyn langattoman verkon SSID ja järjestelmän IP -osoitteen.

Suositeltava: