Агуулгын хүснэгт:

RasPi болон Telegram Bot бүхий тэжээвэр амьтдыг тэжээх машин: 4 алхам (зурагтай)
RasPi болон Telegram Bot бүхий тэжээвэр амьтдыг тэжээх машин: 4 алхам (зурагтай)

Видео: RasPi болон Telegram Bot бүхий тэжээвэр амьтдыг тэжээх машин: 4 алхам (зурагтай)

Видео: RasPi болон Telegram Bot бүхий тэжээвэр амьтдыг тэжээх машин: 4 алхам (зурагтай)
Видео: ПОЧЕМУ Я ЖДУ L4D3 2024, Долдугаар сарын
Anonim
RasPi болон Telegram Bot бүхий тэжээвэр амьтдыг тэжээх машин
RasPi болон Telegram Bot бүхий тэжээвэр амьтдыг тэжээх машин
RasPi болон Telegram Bot бүхий тэжээвэр амьтдыг тэжээх машин
RasPi болон Telegram Bot бүхий тэжээвэр амьтдыг тэжээх машин

Нэгдүгээрт, энэ бол анхны Idea Mine биш гэдгийг тодруулах хэрэгтэй, програмчлалын скриптүүдийг телеграмтай ажиллахын тулд шинэчилж, тохируулаарай, би үүнийг өмнөх зааварчилгаанд олсон тул кредитүүд нь үнэхээр зохиогч юм.

Үүний испани хувилбарыг миний хувийн блог дээрээс харж болно.

Та өндөр эргэлтийн моторыг идэвхжүүлдэг жижиг хэлхээг бий болгох хэрэгтэй бөгөөд миний электроникийн талаархи мэдлэг маш хомс тул YouTube дээр видеог үзэж, үндсэн ойлголтуудыг сурахад хоёр хоног зарцуулах шаардлагатай болсон.

Анхны автоматжуулалтын скрипт нь Python хэл дээр бичигдсэн бөгөөд GMail холболтыг ашиглан тушаалуудыг ашиглахын тулд би энэ програмчлалын хэлийг хэзээ ч ашиглаж байгаагүй, гэхдээ үнэн нь бусадтай харьцуулахад тийм ч их ялгаатай биш тул би үүнийг шинэчилж, шинэ хувилбартай илүү сайн зохицдог. Python -ийн номын сангууд болон автоматжуулалтын процесс нь үйлдлийн системийн тохиргоотой хамт дараах параметрүүдийг тохируулах боломжийг танд олгоно.

  • Chat руу илгээсэн командуудын харилцан үйлчлэлийг ChatBots ашиглан хянадаг.
  • Энэ нь тараасан хоолны статусыг хянах боломжийг олгодог.
  • Хэр их хоол хүнс тараахыг хянадаг.
  • Энэ нь гараар хооллох боломжийг олгодог товчлууруудтай.
  • Энэ нь 8 цагийн зайтай хооллохыг идэвхгүй болгосноор хэт их хооллохыг зөвшөөрдөггүй.
  • Энэ нь статус LCD дэлгэцтэй бөгөөд өгөгдлийг дараагийн цахилгаан хангамжийн дараагийн огноо, цаг, WiFi сүлжээнд холбогдсон SSID болон төхөөрөмжийн IP хаягаар харуулдаг.
  • Нэмэлт: Чак Норрисын санамсаргүй онигоо ба / эсвэл тоонуудын жижиг хэсгүүдийг олон нийтийн APIS (анхны зохиогчийн мэргэн ухаан) ашиглан үзүүлэв.
  • Систем нь статус файлыг хадгалдаг тул цахилгаан тасалдсантай холбоотойгоор дахин эхлүүлэх дархлаатай байдаг.
  • Систем нь холболт тасарсан үед илрүүлж, амжилттай болтол дахин холбогдохыг оролддог.

Алхам 1: Ашигласан материал

  • 1 Raperry Pi, илүү зохимжтой бол утасгүй карттай аль хэдийн нэгтгэгдсэн 3 -р хувилбар, та Pi 3 Zero хувилбарыг ашиглаж болно, энэ нь тээглүүрийг гагнах шаардлагатай тул арай илүү ажиллах шаардлагатай болно, гэхдээ би үүнийг маш хожуу мэдсэн. Эдгээрээс илүү хэмнэлттэй аль нэгийг нь ашиглаарай.
  • 37мм, 3.5 эрг / мин ба 12В өндөр хүчдэлтэй 1 цахилгаан мотор.
  • 37 мм -ийн хөдөлгүүрийн 1 бэхэлгээ.
  • HD44780 удирдлагатай 20х4 хэмжээтэй 1 тэмдэгт бүхий LCD дэлгэц.
  • Үр тариа тараагч Zevro Model WM1001 босоо ам 5 инч урт, 0.63см диаметртэй (диспенсерт бэхлэхийн тулд D зүсэлт хийх шаардлагатай)
  • Хөдөлгүүрт холбохын тулд 1/4 "-ээс 6мм хүртэл 1 босоо амны холбогч.

Сүүлийн хоёроос бусад бүх материалыг би эх орондоо авч чадахгүй байсан (эсвэл ядаж хаанаас авахаа мэдэхгүй байсан), гэхдээ саваа ба холбогч нь гагнуурын цехэд байгаа байх, гэхдээ би анх удаа ямар нэгэн зүйл хийж байна. Үүнтэй адил би хөдөлгүүрт хэрхэн тохирох талаар ямар ч ойлголтгүй байсан тул дээр дурдсан холбоосуудын хуудсыг асуусан; Орон нутгийн дэлгүүрүүдээс худалдаж авах боломжтой материалуудын доор:

  • 1 модон хайрцаг, би 20.3 см өргөн × 26.7 см өндөр x 13 см гүн ашигладаг. хайрцаг нь LCD дэлгэцийг байрлуулах 10см х 4см хэмжээтэй нүхтэй баруун тийш нээгддэг хаалгатай (орон нутгийн мужааны)
  • 3 Товчлуурыг дарна уу
  • 1 Жижиг хамгаалалтын самбар
  • 3.3 вольтын 1 LED (өнгө нь хамаагүй, гэхдээ хүчдэлийн хувьд ихэвчлэн улаан өнгөтэй байдаг)
  • 1 NPN PN2222 транзистор
  • 1 эсэргүүцэл 270 Ω
  • 1 эсэргүүцэл 10 кОм
  • 1 потенциометр 10 кОм
  • 1 IN4003 диод (IN4001 эсвэл IN4004 ажиллах боломжтой)
  • 1 12V 3A адаптер
  • 1 5V 2A адаптер
  • 1.5 инчээс 2 инч хүртэл далавчтай самартай 4 эрэг (ашигласан модны зузаанаас хамаарч модон хайрцагт хөдөлгүүрийн бэхэлгээг бэхлэх ёстой)
  • Кабель Янз бүрийн өнгийн холбогч утас
  • 1 нугалах хоолой эсвэл 4 инчийн диаметртэй PVC багц нь модон хайрцгийг байрлуулах өндрөөс хамаарна.
  • Өмнөх цутгамал дээр бэхэлсэн 1 PVC тохой.
  • Машины хоолойн 3 хавчаар (Дэлхий)
  • 4 фут UTP кабель (холболт хийхийн тулд бидэнд эрчилсэн хос хэрэгтэй)
  • 1 USB вэб камер, өндөр нарийвчлалтай байх шаардлагагүй.

Тоног төхөөрөмжийн дэлгүүрүүдээс худалдаж авах боломжтой янз бүрийн материалыг, эсвэл бидэнд аль хэдийн байгаа байх: Аж үйлдвэрийн соронзон хальс

  • Цагаан тугалга гагнуурчин
  • Цагаан тугалга
  • Өрөмдлөг
  • Өрөмдлөг 5/16
  • Өргөтгөгчтэй S8 шураг

Алхам 2: Бүтцийг байрлуулах

Бүтцийг байрлуулах
Бүтцийг байрлуулах
Бүтцийг байрлуулах
Бүтцийг байрлуулах
Бүтцийг байрлуулах
Бүтцийг байрлуулах

Гол санаа бол ZEVRO -д ирдэг тараах бариулыг D саваагаар солих бөгөөд дараа нь холбогчоор Мотортой холбох болно. Диспенсерийг модон хайрцагт, модон хайрцгийг хананд наалдана. Би электроникийн талаар сайн мэдэхгүй тул хэлхээг холбохын тулд би бакелит хавтан ашиглаагүй тул талхны хавтанг ашиглан бүх эд ангиудыг хайрцгийн ёроолд боож, Rapberry Pi болон аль хэдийн наалдсан талхны хавтангаар бэхлэв. ар талд байгаа тул би зүгээр л буулгахаар явлаа. Хайрцаг нь таймерыг дахин эхлүүлэх, тэжээгчийг идэвхжүүлэх гурван товчлууртай байх ёстой бөгөөд сүүлчийнх нь хэлхээг давахгүйгээр моторыг идэвхжүүлэх шууд алхам болно. Моторыг хайрцагны дотор бэхэлгээний тусламжтайгаар байрлуулах тул зөвхөн диспенсерт холбосон D саваа хайрцганаас цухуйж, хайрцгийн ёроолд вэбкамерыг засаж, тохируулах бөгөөд ингэснээр шуудангийн зөвлөгөө, баталгаажуулалт бүрт I болно. Хоолны сүүлчийн шатыг хийж дуусаагүй байгаа бол хоол нь хэтрэхгүй байхын тулд таваг нь ямар байгаа тухай гэрэл зургийг илгээжээ.

Диспенсерийн ёроолоос таваг руу буух хоолойг байрлуулж, PVC тохойг суурин дээр байрлуулсны дараа би хүнсний урсгалын хурдыг багасгахын тулд гаралтын хэсэгт жаахан үйлдвэрийн соронзон хальс байрлуулж, зориулалтын тавиур хийв. хоол хүнс хаа сайгүй цацагдахаас сэргийлнэ. Хоолойг хананд бэхлэхийн тулд хананд S8 шураг ашиглан бэхэлсэн төмөр хаалт ашиглана уу.

Хайрцагны хаалган дээр LCD дэлгэцийн хавтанг барьж, UTP кабелийн эрчилсэн хосыг ашиглан бөөрөлзгөнө рүү шууд аваачиж, кабелийн нөгөө үзүүрт холбогчийг хөнгөвчлөхийн тулд эмэгтэйчүүдийн үзүүрийг холбоно. Raspberry -ийн GPIO портууд. Энэ нь хэлхээний диаграм байх болно. Би үүнийг Electronics -ээс олж авч чадах зүйлээрээ тайлбарлахыг хичээх болно.

Мотор нь 12 вольтын трансформаторын эерэг туйлтай шууд холбогддог боловч гүйдэл гүйхийн тулд хөдөлгүүрийн төвийг сахисан туйл дахь хэлхээгээр дамжих ёстой, учир нь энэ транзистор N2222 ашиглагддаг. Транзистор нь ихэвчлэн коллектор, суурь ба ялгаруулагчтай тохирох 3 хөлтэй байдаг бөгөөд транзисторын загвараас хамааран эдгээр хөлний байршил өөр байж болно; Энэхүү транзистор нь унтраалгын функцийг гүйцэтгэдэг. Энд бид моторын төвийг сахисан туйлыг транзисторын коллектортой холбож, рапберийн №19 зүүг 270Ω эсэргүүцлийн тусламжтайгаар сууринд холбож, ялгаруулагчийг транзисторын төвийг сахисан терминал руу холбосон болно. 12В трансформатор нь бөөрөлзгөнө газрын шонгийн нэгтэй хамт; транзистор нь суурийг хангалттай хүчдэлээр өдөөгдсөн тохиолдолд коллектор ба ялгаруулагчийн хоорондох урсгалыг зөвшөөрнө; Дараа нь бид rapberry -ийг програмчлах бөгөөд ингэснээр тодорхой захиалгын дагуу порт 19 нь 3.3 вольт ялгаруулдаг бөгөөд энэ нь хэлхээг үргэлжлүүлэх, хөдөлгүүрийг идэвхжүүлэхэд хангалттай юм.

LCD дэлгэцийн хувьд протокардийн өөр нэг хэсгийг өөр хэлхээнд ашигладаг бөгөөд та 10 кОц потенциометрийг холбодог бөгөөд энэ нь LCD дээр гарч буй текстийн ялгаатай байдлыг үгүйсгэдэг тул хэрэв дэлгэц дээр юу ч харагдахгүй байвал энэ нь потенциометр нь бүрэн зориулалттай байх магадлалтай юм. хаалттай; Миний хувьд текстийг илүү сайн дүрслэхийн тулд үүнийг бүрэн нээлттэй үлдээдэг. Эцэст нь талхны самбар дээрх холболтууд дараах байдалтай байна.

Алхам 3: Raspberry Pi -ийн тохиргоо

Юуны өмнө системийг удирдах Telegram Bot -ийг үүсгэх нь чухал бөгөөд хавсаргасан питон скриптийг өөрчлөхийн тулд танд түлхүүр хэрэгтэй болно. Цахилгаан баримт бичгийн алхамуудыг уншина уу.

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

Rapberry-ийг тохируулахын тулд Rapbian-ийн Lite хувилбарыг ашиглаарай (бидэнд график интерфэйс хэрэггүй), raspbian-ийг суулгасны дараа эсвэл raspi-config командыг ашиглан харуулсан үндсэн тохиргоог ашиглана уу: орон зайг 100% хүртэл өргөжүүлж, идэвхжүүлнэ үү. SSH, гэхдээ хамгийн чухал зүйл бол нууц үг, хэрэглэгчийн нэрийг анхдагчаар ирдэг хэрэглэгчийн pi болгон өөрчлөх явдал юм (Үгүй бол надад тохиолдсон шиг, хэрэв тэд бөөрөлзгөнө хаягласан олон нийтийн IP хаягтай бол тэд 22 -р портоор дайрч болзошгүй). Үүнээс гадна миний WiFi сүлжээнд автоматаар холбогдох тохиргоо (Миний сүлжээг "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 командыг ашиглан үүсгэж болно. Бид кодыг буулгах эсвэл хэрэв танд Линукс илүү туршлагатай бол wget ашиглан шууд татаж авах боломжтой. Скриптэд BOTKEY (36 -р мөрөнд) болон SYSPASSWORD (23 -р мөрөнд) хувьсагчдыг өөрчлөх нь чухал юм.

Энэ кодыг би Python -д хэзээ ч програмчилж байгаагүй болохоор би өөрөө бичээгүй гэдгийг тодруулж байна, би үүнийг зөвхөн шинэ номын сан, 20x4 LCD дэлгэцтэй ажиллах, Telegram Bot ашиглах зорилгоор өөрчилсөн.

Бид скриптийг эзэмшсэний дараа бид ботын түлхүүрээр хувьсагчдын утгыг өөрчлөх ёстой; Үүний тулд та шинэ Telegram Bot үүсгэх шаардлагатай бөгөөд ингэснээр зөвхөн файлыг хадгалаад гарах болно (Ctrl + эсвэл хадгалах ба ctrl + x нь нано редактороос гарна), бид дахин эхлүүлсний нотолгоо байх ёстой. Скрипт нь тэжээлийн системийг хамгийн сүүлд идэвхжүүлэх үед хадгалдаг тул бид зөвхөн скриптийг үйлдлийн систем эхлэх бүрт л ажиллуулах ёстой, үүний тулд би Debian репозитороос суулгасан хянагч нэртэй програмтай маш тодорхой шийдлийг олсон.:

apt-get суулгах хянагч

мөн суулгасны дараа бид зөвхөн /etc/supervisor/conf.d/petfeeder.conf дотор тохиргооны файл үүсгэх хэрэгтэй бөгөөд өмнөх тохиолдолд бид үүнийг нано ашиглан үүсгэж хадгалах боломжтой байсан тул энэ файлд дараахь зүйлс байх болно.

[програм: petfeederd] лавлах =/opt command = python petfeeder.py autostart = true autorestart = true

Файлыг хадгалсны дараа бид supervisorctl [start | гэсэн командыг ашиглаж болно зогсоох | дахин эхлүүлэх] petfeederd, энэ тохиолдолд үйлчилгээ эхлээгүй байгаа тул бид үүнийг эхлүүлээд гүйцэтгэнэ.

supervisorctl эхлэх petfeederd

Алхам 4: Туршилтанд бэлэн байна

Image
Image
Туршилтанд бэлэн байна
Туршилтанд бэлэн байна
Туршилтанд бэлэн байна
Туршилтанд бэлэн байна
Туршилтанд бэлэн байна
Туршилтанд бэлэн байна

Үүнтэй холбогдуулан систем ажиллах ёстой бөгөөд LCD дэлгэц нь дараагийн тэжээл хэзээ болох, эсвэл хооллоход бэлэн байгаа эсэхийг би хэлэх ёстой. Та мөн SSH -ээр холбогдох шаардлагатай тохиолдолд холбогдсон утасгүй сүлжээний нэр, IP хаягийг харуулах ёстой, би хийсэн жижиг видеогоо хуваалцаж байна, чанарын хувьд уучлалт гуйж байна. Энэ бол влогуудын сэдэв тийм ч сайн биш байна.

Та чатаа зөвшөөрсний дараа Telegram дээр ботоо хайж, дараагийн командын аль нэгийг илгээх боломжтой байх ёстой.

/тэжээл: Параметрчилсэн хугацаа өнгөрөх тусам хооллох процессыг эхлүүлнэ.

/хэзээ: хамгийн сүүлд хэзээ хооллож байсан тухай мэдээлэл болон хоолны тавагны зургийг буцаана.

/зураг: Хоолны тавагны зургийг буцаана уу.

/дахин эхлүүлэх: Системийг дахин эхлүүлэх, хамгийн сүүлийн тэжээлийн хувьсагчийг 0 болгож тохируулахын тулд тэр даруй тэжээх боломжтой болно.

/status Энэ нь интернетийн холболтын статусын талаар мэдээлдэг: холбогдсон утасгүй сүлжээний SSID болон сүлжээнд байгаа системийн IP хаяг.

Зөвлөмж болгож буй: