Sisukord:

Lemmiklooma söötmismasin RasPi ja telegrammibottiga: 4 sammu (piltidega)
Lemmiklooma söötmismasin RasPi ja telegrammibottiga: 4 sammu (piltidega)

Video: Lemmiklooma söötmismasin RasPi ja telegrammibottiga: 4 sammu (piltidega)

Video: Lemmiklooma söötmismasin RasPi ja telegrammibottiga: 4 sammu (piltidega)
Video: ТОП 5 ПОЕЗДОК из ВИЛЬНЮСА 2024, Juuli
Anonim
Lemmikloomade söötmismasin RasPi ja Telegram Botiga
Lemmikloomade söötmismasin RasPi ja Telegram Botiga
Lemmikloomade söötmismasin RasPi ja Telegram Botiga
Lemmikloomade söötmismasin RasPi ja Telegram Botiga

Kõigepealt pean täpsustama, et see pole originaalne ideekaevandus, lihtsalt uuendage ja kohandage programmeerimisskripte telegrammiga töötamiseks, leidsin selle eelmises Instructable'is, nii et autorid on selle autorid.

Selle isiklikku versiooni näete minu isiklikus ajaveebis:

Peate ehitama väikese vooluringi, mis käivitab suure pöördemomendiga mootori ja kuna minu teadmised elektroonikast on väga -väga napid, pidin paar päeva YouTube'i videoid vaadates põhitõdesid õppima.

Algne automatiseerimisskript on kirjutatud Pythonis ja kasutab käskude vaatamiseks GMaili ühendust, ma polnud seda programmeerimiskeelt kunagi kasutanud, kuid tõde ei erine teistest nii palju, olen seda veidi muutnud, et see paremini uuega kohaneda Pythoni teegid ja automatiseerimisprotsess koos operatsioonisüsteemi konfiguratsioonidega võimaldavad teil parameetreid määrata järgmiselt.

  • Suhtlemine vestlusele saadetud käskude kaudu, mida juhitakse ChatBotide kaudu.
  • See võimaldab jälgida väljastatud toidu olekut.
  • Kontrollib, kui palju toitu väljastatakse.
  • Sellel on nupud, mis võimaldavad teil käsitsi sööta.
  • See ei võimalda ületoitmist, keelates söötmise 8-tunnise intervalliga.
  • Sellel on oleku LCD, mis näitab andmeid järgmise toiteallika järgmise aja kuupäeva ja kellaajana, SSID -d, millega see WiFi -ga on ühendatud, ja seadme IP -aadressi.
  • Valikuline: näitab Chuck Norrise juhuslikke nalju ja / või numbrite pisiasju, kasutades paari avalikku APIS -i (geniaalne algse autori poolt).
  • Süsteem on immuunne elektrikatkestuste tõttu taaskäivitamise eest, kuna see salvestab olekufaili.
  • Süsteem tuvastab ühenduse katkemise ja proovib uuesti ühendada, kuni see õnnestub.

Samm: kasutatud materjalid

  • 1 Raperry Pi, eelistatavalt versioon 3, mis on juba traadita kaardiga integreeritud, saate kasutada ka Pi 3 Zero versiooni, see võtab natuke rohkem tööd, sest peate nööpnõelad jootma, kuid sain väga hilja teada, et see võib kasutage ühte neist ökonoomsematest.
  • 1 suure pöördemomendiga elektrimootor, 37 mm, 3,5 p / min ja 12 V.
  • 1 ratas 37 mm mootorile.
  • 1 tähemärgi LCD ekraan 20x4 rida koos HD44780 juhtnupuga.
  • 1 teravilja jaotur Zevro mudel WM1001 võll-D, 5 tolli pikk, 0,63 cm läbimõõduga (jaoturiga kinnitamiseks on vaja lõigata D)
  • 1 Võlliühendus 1/4 "kuni 6 mm, et ühendada mootoriga.

Kõiki eelnevaid materjale, välja arvatud kaks viimast, ei saanud ma oma kodumaalt (või vähemalt ei teadnud, kust neid saada), kuid varras ja haakeseade on ilmselt keevitustöökojas, kuid teen seda esimest korda niimoodi ei olnud mul aimugi, kuidas peaks mootorile sobima, nii et küsisin ülalkirjeldatud linkide lehelt; Allpool on materjalid, mida saaksin osta kohalikest kauplustest:

  • 1 puidust kast, kasutan 20,3 cm laiust × 26,7 cm kõrgust x 13 cm sügavust. karbil on uks, mis avaneb paremale ja mille auk on 10 x 4 cm LCD -ekraani paigutamiseks (kohalik tisleritöö)
  • 3 Vajutage nuppe
  • 1 väike protoboard
  • 1 3,3 -voldine LED (värv ei ole oluline, kuid pinge puhul on need tavaliselt punased)
  • 1 NPN PN2222 transistor
  • 1 Takistus 270 Ω
  • 1 Takistus 10 KΩ
  • 1 potentsiomeeter 10 KΩ
  • 1 IN4003 diood (IN4001 või IN4004 saab töötada)
  • 1 12V 3A adapter
  • 1 5V 2A adapter
  • 4 kruvi tiibmutriga 1,5 tolli kuni 2 tolli (sõltuvalt kasutatava puidu paksusest peavad need kinnitama mootoriklambri puidust kasti külge)
  • Kaablid Erinevat värvi hüppaja kiud
  • 1 kokkupandav toru või 4 tolli läbimõõduga PVC komplekt, see sõltub puidust kasti paigutamise kõrgusest.
  • 1 PVC küünarnukk, mis kinnitub eelmisele kipsile.
  • 3 klambrit auto torudele (maailm)
  • 4 jalga UTP -kaablit (ühenduste tegemiseks vajame keerdpaare)
  • 1 USB veebikaamera, see ei pea olema kõrge eraldusvõimega.

Mõned mitmesugused materjalid, mida saab osta riistvara kauplustest või võib -olla meil juba olemas: Tööstuslik lint

  • Plekist keevitaja
  • Tina
  • Puurida
  • Puur 5/16
  • S8 kruvid koos laiendajatega

2. samm: struktuuri paigutamine

Struktuuri paigutamine
Struktuuri paigutamine
Struktuuri paigutamine
Struktuuri paigutamine
Struktuuri paigutamine
Struktuuri paigutamine

Põhiidee on asendada ZEVRO -s olev doseerimiskäepide vardaga D, mis seejärel ühendatakse haakeseadise abil mootoriga. Dosaator kinnitatakse puidust kasti ja puidust kast seina külge. Kuna ma ei tea palju elektroonikat, ei kasutanud vooluahela paigaldamiseks ühtegi bakeliidiplaati, nii et panin kõik komponendid leivaplaadile, nii et karbi põhjas on kruvidega kinnitatud Rapberry Pi ja leivaplaat, millel oli juba liim tagaküljel, nii et ma lihtsalt läksin seda kleepima. Karbis peab olema kolm nuppu, mille ülesanne on taimer taaskäivitada, söötur aktiveerida ja viimane on otsene samm mootori käivitamiseks ilma vooluringi läbimata. Mootorit hoitakse karbi sees klambri abil, nii et ainult jaoturiga ühendatav varras D ulatub karbist välja, karbi põhjas kinnitage ja reguleerige veebikaamera nii, et igal meilikonsultatsioonil ja kinnitamisel I saatis foto, kuidas taldrik on, et mitte üle sööta, kui nad pole viimast toiduringi lõpetanud.

Dosaatori põhjast asetati plaadile laskuv toru ja PVC -küünarnukk asetati alusele, ma panin väljalaskeavasse väikese tööstusliku lindi, et minimeerida toiduvoolu kiirust, ja tegin jaotamisaluse vältida toidu pritsimist kõikjale. Toru seinale kinnitamiseks kasutage metallklambreid, mille kinnitate seina külge kruvidega S8.

Hoidke karbi uksel LCD -ekraani plaati ja kasutage UTP -kaabli keerdpaare, et viia need otse Vaarikale, kaablite teises otsas ühendage džemprite naissoost otsad, et hõlbustada ühendamist Vaarika GPIO -pordid. See oleks vooluahela skeem. Püüan seda selgitada vähesega, mida ma elektroonikast saan.

Mootor on ühendatud otse 12 -voldise trafo positiivse poolusega, kuid voolu voolamiseks peab see läbima mootori neutraalpooluse ahela, selle transistori jaoks kasutatakse N2222. Transistoridel on tavaliselt 3 jalga, mis vastavad kollektorile, alusele ja kiirgurile, sõltuvalt nende transistori mudelist võib nende jalgade asukoht varieeruda; See transistor paneb lüliti tööle. Siin ühendame mootori neutraalpooluse transistori kollektoriga, rapsi tihvt nr 19 ühendatakse alusega takistuse 270Ω abil ja emitter on ühendatud transistori neutraalse klemmiga. 12V trafo koos ühe vaarika maanduspoolusega; transistor laseb voolul voolata kollektori ja emitteri vahel seni, kuni alust stimuleeritakse piisava pingega; hiljem programmeerime rappa nii, et teatud tellimuste kohaselt eraldab port 19 3,3 volti, mis on piisav vooluahela jätkamiseks ja mootori aktiveerimiseks.

LCD -ekraani puhul kasutatakse protobardi teist osa teises vooluringis, kuhu ühendate 10KΩ potentsiomeetri, mis lükkab tagasi LCD -ekraanil kuvatava teksti kontrasti, nii et kui ekraanile midagi ei ilmu, on see tõenäoliselt seetõttu, et potentsiomeeter on täiesti suletud; minu puhul jätan selle täiesti avatuks, et tekst oleks paremini visualiseeritud. Lõpuks oleksid leivalaua ühendused järgmised.

Samm: Raspberry Pi seadistamine

Kõigepealt on oluline luua süsteemi hallatav telegrammibot. Lisatud pythoni skripti muutmiseks vajate võtit. Palun lugege telegrammi dokumentatsiooni juhiseid:

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

Rapberry seadistamiseks kasutage Rapbiani Lite-versiooni (me ei vaja graafilist liidest) ja rakendage põhikonfiguratsiooni, mis kuvab raspbiani pärast selle installimist või käsu raspi-config abil: laiendage ruumi 100% -ni ja lubage SSH, kuid eriti tähtsaim on muuta parool ja kasutajanimi vaikimisi kasutajaks pi. Peale selle konfiguratsioon automaatselt WiFi -võrguga ühenduse loomiseks (eeldusel, et minu võrku nimetatakse "BlogSoriano" ja minu parool on "$ ecure123!") Loome ja salvestame võtme traadita ühenduste faili järgmise käsuga:

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

järgmine asi on Pythoni installimissüsteemi "pip" värskendamine ja installimine, nii et logime sisse rootina, värskendame ja installime vajalikud paketid:

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

Sellega on meil juba juurdepääs pythoni klassi teekile, skripti jaoks, mida kavatseme kasutada, peame installima järgmise:

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

Kui sõltuvuste installimine on lõpule jõudnud, kasutame sellele sammule lisatud skripti, salvestan selle teele /opt/petfeeder.py ja faili saab luua käsuga nano /opt/petfeeder.py ja selle faili sees me kleepime koodi või kui teil on rohkem Linuxi kogemusi, saate selle otse wgetist alla laadida. Skriptis on oluline muuta muutujaid BOTKEY (real 36) ja SYSPASSWORD (real 23).

Täpsustan, et seda koodi ei kirjutanud mina, kuna ma polnud Pythonis kunagi programmeerinud, muutsin seda ainult uute raamatukogude ja 20x4 LCD -ekraaniga töötamiseks ning telegrammi Bot kasutamiseks.

Kui meil on skript, peame muutujate väärtusi muutma bot -i võtmega; selleks on vaja luua uus Telegram Bot, millega oleks võimalik ainult fail salvestada ja väljuda (klahvikombinatsiooniga Ctrl + või salvesta ja ctrl + x jätab redaktori nano), peame lihtsalt olema tõendid taaskäivitamise kohta; skript ise salvestab toitesüsteemi viimast aktiveerimist, seega peame skripti käivitama ainult iga kord, kui operatsioonisüsteem käivitub, selleks leidsin väga konkreetse lahenduse programmiga superviisor, mis on installitud Debiani hoidlatest:

apt-get installijuhendaja

ja pärast installimist peame looma konfiguratsioonifaili ainult kataloogis /etc/supervisor/conf.d/petfeeder.conf, nagu ka eelmisel juhul, kui saame selle nano abil luua ja salvestada, sellel failil on järgmine:

[programm: petfeederd] kataloog =/opt käsk = python petfeeder.py autostart = true autorestart = true

Kui fail on salvestatud, saame kasutada käsku supervisorctl [start | peatus | restart] petfeederd, kuna sel juhul pole teenust käivitatud, käivitame selle stardiga:

supervisorctl start petfeederd

Samm: testimiseks valmis

Image
Image
Testimiseks valmis
Testimiseks valmis
Testimiseks valmis
Testimiseks valmis
Testimiseks valmis
Testimiseks valmis

Ja sellega peaks süsteem töötama, LCD -ekraan peaks näitama teavet selle kohta, millal see peaks olema järgmine sööt või kas see on söötmiseks valmis, kui ma seda ütlen. Peate näitama ka selle traadita võrgu nime, millega olete ühendatud, ja kasutatavat IP -aadressi juhuks, kui peame ühenduse looma SSH kaudu, jagan väikest videot, mille ma tegin, vabandan selle kvaliteedi pärast. ma pole eriti hea, kas see on vlogide teema.

Peaksite saama otsida oma robotit telegrammist ja saata pärast vestlust /autoriseerimist ühe järgmise käsu:

/feed: Alustab söötmisprotsessi seni, kuni parameeritud ajavahemik on möödas.

/millal: tagastab teabe selle kohta, millal viimati sööteti, ja pildi toiduplaadist.

/foto: tagastage toiduplaadi pilt.

/restart: taaskäivitage süsteem, seadke viimase voo muutuja väärtuseks 0, et saaksite kohe toita.

/status See teavitab Interneti -ühenduse olekust: ühendatud traadita ühenduse SSID ja IP -aadress, mis süsteemil võrgus on.

Soovitan: