Мазмұны:

RasPi және Telegram Botі бар үй жануарларын тамақтандыратын машина: 4 қадам (суреттермен)
RasPi және Telegram Botі бар үй жануарларын тамақтандыратын машина: 4 қадам (суреттермен)

Бейне: RasPi және Telegram Botі бар үй жануарларын тамақтандыратын машина: 4 қадам (суреттермен)

Бейне: RasPi және Telegram Botі бар үй жануарларын тамақтандыратын машина: 4 қадам (суреттермен)
Бейне: Шикарные напитки и еда на все включено! Но почему он их не пьет? Зима и такая Жара в Турции? Voyage 2024, Шілде
Anonim
RasPi және Telegram Botі бар үй жануарларын тамақтандыратын машина
RasPi және Telegram Botі бар үй жануарларын тамақтандыратын машина
RasPi және Telegram Botі бар үй жануарларын тамақтандыратын машина
RasPi және Telegram Botі бар үй жануарларын тамақтандыратын машина

Ең алдымен, бұл түпнұсқа Idea Mine емес екенін түсіндіруім керек, тек телеграммамен жұмыс істеу үшін бағдарламалау сценарийлерін жаңартып, бейімдеңіз, мен оны алдыңғы нұсқаулықта таптым, сондықтан несие - оның авторы.

Сіз мұның испандық нұсқасын менің жеке блогымда көре аласыз:

Сізге жоғары моментті қозғалтқышты іске қосатын шағын тізбек салу керек, және менің электроника туралы білімім өте аз болғандықтан, мен YouTube -те бейнелерді қарап, бірнеше күн негіздерін үйренуге тура келді.

Түпнұсқа автоматтандыру сценарийі Python -да жазылған және командаларға жүгіну үшін GMail байланысын қолданады, мен бұл бағдарламалау тілін ешқашан қолданған емеспін, бірақ ақиқат басқалардан онша ерекшеленбейді, мен оны жаңаға жақсы бейімделу үшін сәл өзгерттім. Python кітапханалары мен автоматтандыру процесі операциялық жүйенің конфигурациясымен бірге келесілерді параметрлеуге мүмкіндік береді:

  • ChatBots арқылы басқарылатын чатқа жіберілетін командалар арқылы өзара әрекеттесу.
  • Ол берілген тағамның күйін бақылауға мүмкіндік береді.
  • Азық -түліктің қанша бөлінетінін бақылайды.
  • Қолмен тамақтандыруға мүмкіндік беретін түймелер бар.
  • Ол 8 сағаттық аралықта тамақтандыруды өшіру арқылы артық тамақтануға жол бермейді.
  • Ол статикалық СКД -ға ие, ол деректерді келесі қуат көзінің келесі уақыты мен уақыты, Wi -Fi желісіне қосылған SSID және құрылғының IP -адресі ретінде көрсетеді.
  • Қосымша: Чак Норрис кездейсоқ әзілдерді және / немесе сандардың ұсақ -түйектерін ашық APIS жұбын қолдана отырып көрсетеді (Түпнұсқа авторы тапқыр).
  • Жүйе күй файлын сақтайтындықтан, электр қуатының өшуіне байланысты қайта жүктеуге қарсы иммунитетке ие.
  • Жүйе қосылым жоғалғанын анықтайды және ол сәтті болғанша қайта қосылуға тырысады.

1 -қадам: Қолданылған материалдар

  • 1 Raperry Pi, жақсырақ сымсыз картамен біріктірілген 3 нұсқасы, сіз Pi 3 Zero нұсқасын қолдана аласыз, бұл сізге көп жұмысты қажет етеді, себебі түйреуіштерді дәнекерлеу керек, бірақ мен оны кеш білдім. үнемділердің бірін қолданыңыз.
  • 37 мм, 3,5 айн / мин және 12 В жоғары моментті электр қозғалтқышы.
  • 37 мм қозғалтқышқа арналған 1 кронштейн.
  • HD44780 басқару пульті бар 20х4 жолақты 1 таңбалы СКД экраны.
  • 1 дәнді дақыл таратқыш Zevro Model WM1001 білігі-D ұзындығы 5 дюйм, диаметрі 0,63 см (D диспенсерге бекіту үшін кесу қажет)
  • Қозғалтқышқа қосылу үшін 1/4 дюймнен 6 мм -ге дейінгі 1 білік қосқышы.

Алдыңғы материалдарды қоспағанда, мен оларды өз елімде ала алмадым (немесе, ең болмағанда, қайдан алуға болатынын білмедім), бірақ штангалар мен қосқыштар дәнекерлеу шеберханасында, бірақ мен бірінші рет бірдеңе жасап отырмын. Мен қозғалтқышқа қалай сәйкес келетінін білмедім, сондықтан жоғарыда сипатталған сілтемелердің бетін сұрадым; Төменде жергілікті дүкендерде сатып алуға болатын материалдар бар:

  • 1 ағаш қорап, мен ені 20,3 см × биіктігі 26,7 см х тереңдігі 13 см. қорапта СКД экранын орналастыру үшін 10см х 4см тесігі бар оң жақта ашылатын есік бар (жергілікті ағаш ұстасы)
  • 3 Түймешіктерді басыңыз
  • 1 Кішкентай тақта
  • 3,3 вольтты 1 жарық диоды (түсі маңызды емес, кернеу үшін олар әдетте қызыл болады)
  • 1 NPN PN2222 транзисторы
  • 1 270 istance қарсылық
  • 1 кедергісі 10 кОм
  • 1 потенциометр 10 КОм
  • 1 IN4003 диод (IN4001 немесе IN4004 жұмыс істей алады)
  • 1 12В 3А адаптері
  • 1 5В 2А адаптері
  • Қанатты гайкасы бар 4 бұранда 1,5 дюймден 2 дюймге дейін (қолданылған ағаштың қалыңдығына байланысты, олар мотор кронштейнін ағаш қорапқа бекітеді)
  • Кабельдер әр түрлі түсті секіргіш жіптер
  • 1 жиналмалы түтік немесе диаметрі 4 дюйм ПВХ жиынтығы, бұл ағаш қорап қойылатын биіктікке байланысты.
  • Алдыңғы гипске бекітетін 1 ПВХ шынтақ.
  • Автомобиль құбырларына арналған 3 қысқыш (Әлем)
  • 4 фут UTP кабелі (қосылу үшін бізге бұралған жұп қажет)
  • 1 USB веб -камерасы, жоғары ажыратымдылық қажет емес.

Құрылыс дүкендерінен алуға болатын немесе бізде бар болуы мүмкін кейбір түрлі материалдар: Өндірістік таспа

  • Қалайы дәнекерлеуші
  • Қалайы
  • Бұрғылау
  • 5/16 жаттығуы
  • Кеңейткіштері бар S8 бұрандалары

2 -қадам: құрылымды орналастыру

Құрылымды орналастыру
Құрылымды орналастыру
Құрылымды орналастыру
Құрылымды орналастыру
Құрылымды орналастыру
Құрылымды орналастыру

Негізгі идея - ZEVRO -да келетін тарату тұтқасын D штангасына ауыстыру, содан кейін ол ілінісу арқылы Моторға қосылады. Диспенсер ағаш қорапқа, ал ағаш қорап қабырғаға бекітіледі. Электрониканы білмейтіндіктен, мен тізбекке монтаждау үшін ешқандай бакелит тақтасын пайдаланбадым, сондықтан мен барлық компоненттерді қою үшін тақтаны қолдандым, сондықтан қораптың түбіне Rapberry Pi және нан тақтасы бұрандалармен бекітілген. Артқы жағында мен оны қоюға бардым. Қорапта таймерді қайта іске қосу функциясы бар үш түйме болуы керек, фидерді іске қосыңыз, ал соңғысы қозғалтқышты тізбектен өтпестен қосудың тікелей қадамы болады. Қозғалтқыш кронштейн арқылы қораптың ішінде болады, сондықтан тек диспенсерге қосылатын D штангасы қораптан шығып тұрады, қораптың төменгі жағында веб -камераны бекітеді және реттейді, осылайша әрбір пошталық кеңес пен растауда I олар тағамның соңғы раундын аяқтамаған жағдайда, бұл тамақтанбау үшін, табақтың қалай екенін суретін жіберді.

Диспенсердің түбінен табаққа түсетін түтік қойылып, негізіне ПВХ шынтағы қойылды, мен азық -түлік ағынының жылдамдығын азайту үшін розеткаға кішкене өнеркәсіптік таспаны қойдым. тағамның барлық жерде шашырауына жол бермеңіз. Құбырды қабырғаға бекіту үшін қабырғаға S8 бұрандалармен бекітетін металл жақшаларды қолданыңыз.

Қораптың есігінде СКД экранының табақшасын ұстаңыз және UTP кабелінің бұралған жұптарын пайдаланып, оларды тікелей таңқурайға апарыңыз, ал кабельдердің екінші ұшында қосылымды жеңілдету үшін секіргіштердің әйел ұштарын бөліңіз. таңқурайдың GPIO порттары. Бұл схема болар еді. Мен мұны Electronics -тен не алатынымды түсіндіруге тырысамын.

Қозғалтқыш 12 вольтты трансформатордың оң полюсіне тікелей қосылады, бірақ ток ағуы үшін ол қозғалтқыштың бейтарап полюсіндегі тізбек арқылы өтуі керек, бұл үшін N2222 транзисторы қолданылады. Транзисторлардың әдетте 3 аяғы бар, олар коллекторға, базаға және эмитентке сәйкес келеді, транзистордың үлгісіне байланысты бұл аяқтардың орналасуы әр түрлі болуы мүмкін; Бұл транзистор коммутатор функциясын орындайды. Бұл жерде біз қозғалтқыштың бейтарап полюсін транзистордың коллекторына қосамыз, раперниктің №19 түйрегіші 270Ω кедергі арқылы базаға қосылады және эмиттер транзистордың нөлдік терминалына қосылады. 12В трансформатор таңқурайдың жер полюстерінің бірімен бірге; транзистор база жеткілікті кернеумен қоздырылған кезде коллектор мен эмитент арасындағы ток ағынын қамтамасыз етеді; Кейінірек біз rapberry -ді белгілі бір тапсырыстар бойынша 19 порт 3,3 вольтты шығаратындай етіп схеманы жалғастырып, қозғалтқышты қосуға жеткілікті етіп бағдарламалаймыз.

СКД экраны үшін протобардтың басқа бөлігі СКД -де пайда болатын мәтіннің контрастын қабылдамайтын 10 кОм потенциометрді қосатын басқа схемада қолданылады, сондықтан егер экранда ештеңе көрінбесе, бұл потенциометр толығымен жабық; менің жағдайда мәтінді жақсы бейнелеу үшін оны ашық қалдырамын. Ақыр соңында, тақтадағы қосылыстар келесідей болады.

3 -қадам: Raspberry Pi конфигурациясы

Ең алдымен, жүйе басқарылатын Telegram ботын құру маңызды, сізге тіркелген питон сценарийін өзгерту үшін кілт қажет. Құжаттама телеграммасындағы қадамдарды оқыңыз:

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

Rapberry-ді конфигурациялау үшін Rapbian Lite нұсқасын пайдаланыңыз (бізге графикалық интерфейс қажет емес) және raspi-конфигурациялау пәрменін орнатқаннан кейін оны көрсететін негізгі конфигурацияны қолданыңыз: бос орынды 100% -ға дейін кеңейтіңіз және қосыңыз SSH, бірақ ең бастысы - құпия сөз бен пайдаланушы атын әдепкі бойынша келетін pi пайдаланушысына өзгерту (Әйтпесе, менде болған сияқты, егер олар таңқурайға арналған жалпы IP болса, олар 22 порт арқылы шабуылға ұшырауы мүмкін). Сонымен қатар, менің Wi -Fi желісіне автоматты түрде қосылатын конфигурация (менің желім «BlogSoriano» деп аталады және менің паролім «$ ecure123!» Деп есептеледі), біз келесі пәрменмен сымсыз қосылымдар файлында кілтті жасаймыз және сақтаймыз:

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

келесі нәрсе - «pip» python орнату жүйесін жаңарту және орнату, сондықтан біз root ретінде кіреміз, қажетті пакеттерді жаңартып, орнатамыз:

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

Бізде python сынып кітапханасына қол жетімді, біз қолданатын сценарий үшін келесіні орнату керек:

pip орнату RPi. GPIO Adafruit-CharLCD httplib2 html2text netifaces сымсыз телефот cv2

Тәуелділікті орнату аяқталғаннан кейін біз осы қадамға бекітілген сценарийді қолданамыз, мен оны /opt/petfeeder.py жолында сақтаймын және файлды nano /opt/petfeeder.py пәрмені арқылы және осы файлдың ішінде жасауға болады. біз кодты қоямыз немесе егер сізде Linux тәжірибесі көп болса, сіз оны wget арқылы жүктей аласыз. Сценарийде BOTKEY (36 -жолда) және SYSPASSWORD (23 -жолда) айнымалыларын өзгерту маңызды.

Мен бұл кодты Python -да ешқашан бағдарламаламағандықтан, мен жазбағанын түсіндіремін, мен оны тек жаңа кітапханалармен және 20х4 СК -дисплеймен жұмыс істеу үшін және Telegram Bot пайдалану үшін өзгерттім.

Бізде Сценарий болғаннан кейін, біз бот кілтімен айнымалылардың мәндерін өзгертуіміз керек; бұл үшін жаңа Telegram Bot құру қажет, ол үшін тек файлды сақтап, шығу керек (Ctrl + немесе ctrl + x көмегімен nano редакторынан шығады), бізге қайта іске қосудың дәлелі болу керек; сценарийдің өзі қуат жүйесін соңғы рет іске қосқан кезде үнемдейді, сондықтан біз операциялық жүйе іске қосылған сайын сценарийді іске қосуға мәжбүрміз, ол үшін Debian репозиторийлерінен орнатылған супервайзер деп аталатын бағдарламамен ерекше шешім таптым.:

apt-get орнату супервайзері

және орнатқаннан кейін, біз тек /etc/supervisor/conf.d/petfeeder.conf файлында конфигурация файлын жасауымыз керек, себебі алдыңғы жағдайда біз оны нано көмегімен жасай аламыз және сақтай аламыз, бұл файлда мыналар болады:

[бағдарлама: petfeederd] каталог =/opt command = python petfeeder.py autostart = true autorestart = true

Файл сақталғаннан кейін біз supervisorctl [start | пәрменін қолдана аламыз тоқтату | restart] petfeederd, өйткені бұл жағдайда қызмет басталмады, біз оны стартпен орындаймыз:

supervisorctl petfeederd бастау

4 -қадам: тестілеуге дайын

Image
Image
Тестілеуге дайын
Тестілеуге дайын
Тестілеуге дайын
Тестілеуге дайын
Тестілеуге дайын
Тестілеуге дайын

Бұл жағдайда жүйе жұмыс істеуі керек, СКД экраны келесі беру уақыты туралы ақпаратты көрсетуі керек немесе егер ол айтуға дайын болса. Сондай -ақ, сіз SSH арқылы қосылу қажет болған жағдайда сіз қосылған сымсыз желінің атауын және IP мекенжайын көрсетуіңіз керек, мен түсірген шағын видеомен бөлісемін, мен оның сапасы үшін кешірім сұраймын. Бұл влогтардың тақырыбы өте жақсы емес.

Сіз өзіңіздің ботыңызды Telegram -да іздей аласыз және чатқа рұқсат бергеннен кейін келесі командалардың бірін жібере аласыз:

/беру: Параметрленген уақыт кезеңі өткеннен кейін беру процесін бастайды.

/қашан: соңғы тамақтандыру қашан болғандығы туралы ақпаратты және тағам табақшасының суретін қайтарады.

/фото: тағам табақшасының суретін қайтарыңыз.

/қайта жүктеу: Жүйені қайта іске қосыңыз, бірден беру үшін соңғы берудің айнымалы мәнін 0 -ге орнатыңыз.

/status Ол Интернетке қосылу күйі туралы хабарлайды: қосылған сымсыз байланыстың SSID коды және жүйеде желіде бар IP мекенжайы.

Ұсынылған: