Мазмуну:

Smart Pet Feeder: 9 кадам
Smart Pet Feeder: 9 кадам

Video: Smart Pet Feeder: 9 кадам

Video: Smart Pet Feeder: 9 кадам
Video: The best fishing knot that every angler should know 2024, Июль
Anonim
Image
Image
Smart Pet Feeder
Smart Pet Feeder

Үй жаныбарыңыз барбы?

  • Жок: бирин асырап ал! (жана бул үйрөткүчкө кайтып келиңиз).
  • Ооба: жакшы иш!

Үйгө убагында баруу үчүн пландарын жокко чыгарбай, сүйүктүүңүзгө тамак берип, суу берсеңиз жакшы болмок эмес беле? Биз мындан ары тынчсызданбагыла деп айтабыз.

Бул долбоордо биз алыстан башкарылуучу (веб аркылуу) тамак -аш жана суу диспенсерлерин жасадык.

Онлайн тактасы аркылуу сиз маалыматтарды көрүп, диспенсерлерди башкара аласыз:

  • Танктардагы тамактын жана суунун деңгээлин караңыз.
  • Табактардагы тамактын жана суунун деңгээлин караңыз.
  • Учурда жаныбар жеп же ичип жатабы?
  • Тамактандырууну графикке коюңуз (идиште тамак жетиштүү болсо, аппарат тамак бербейт).
  • Идиш бошогондо автоматтык түрдө суу чачыңыз.
  • Тамакты/сууну кнопканы басуу менен бөлүп бериңиз.
  • Телефонуңузга push эскертмелерин алыңыз (Telegram колдонмосу аркылуу).

Биз кимбиз?

IDC Herzliyaдагы компьютер илимдеринин студенттери Том Кауфман менен Катя Фичман тарабынан түзүлгөн.

Бул долбоор IOT курсу үчүн жасалган.

Жабдуулар

Электроника

  • 2 X ESP8266 (Wemos d1 mini).
  • Өткөргүч зымдар.
  • 2 X Breadboard.
  • 4 X Ultrasonic сенсор.
  • 2 X жүктөө клеткасы.
  • 2 X Load cell amplifier (HX711).
  • Серво (180 °).
  • Servo (үзгүлтүксүз айлануу).
  • 2 X 6V электр менен камсыздоо.

Бөлүктөр

  • Cornflakes диспенсери (Amazon шилтемеси).
  • 3D басып чыгарылган тамак -аш диспенсеринин воронкасы (https://www.thingiverse.com/thing:3998805).
  • 3D басып чыгарылган тамак -аш диспенсеринин серво тиркемеси (https://www.thingiverse.com/thing:3269637).
  • 3D басып чыгарылган тамак -аш таратуучу стенд (бул долбоор үчүн иштелип чыккан:
  • 3D басылган жүк клеткасынын базасы жана табак (бул долбоор үчүн иштелип чыккан:
  • Суу диспенсери (Amazon окшош нерсеге шилтеме).
  • Зым (суу диспенсеринин туткасын сервого туташтыруу үчүн).
  • 3 X УЗИ сенсорунун стенди.

1 -кадам: Бул кантип иштейт?

Бул кантип иштейт?
Бул кантип иштейт?

ESP8266 такталары сенсорлордун окуусун Mosquitto (MQTT брокери) аркылуу Node-REDге жөнөтөт.

Node-RED маалыматтарды иштетет, ошого жараша аракеттерди жасайт (ошондой эле таратуу буйруктарын ESP8266 такталарына Mosquitto аркылуу жөнөтөт) жана маалымат тактасында маалыматты көрсөтөт.

Бардык эсептөөлөр Node-REDде жүргүзүлөт, андыктан бул долбоорду кайталоо жана коддоону колуңузга кир келтирбестен, параметрлерди жана каалоолоруңузга жараша маалыматтарды иштетүүнү өзгөртүү оңой болмок.

2 -кадам: Программалар

Программалар
Программалар

Arduino IDE

Жүктөп алуу жана орнотуу (шилтеме:

Mosquitto

Жүктөп алуу жана орнотуу (шилтеме:

Node.js

Жүктөп алуу жана орнотуу (шилтеме:

Түйүн-КЫЗЫЛ

Көрсөтмөлөрдү аткарыңыз:

ngrok

Жүктөө:

Telegram

Смартфонуңузга тиркемени орнотуңуз.

3 -кадам: Circuit Layout

Circuit Layout
Circuit Layout

* Эки аппарат тең бирдей схемаларга ээ

Суу диспенсери

  • УЗИ сенсору (суу сактагыч үчүн)

    • GND - Г.
    • VCC - 5V
    • ECHO - D5
    • TRIGGER - D0
  • УЗИ сенсор (үй жаныбарынын табактан алыстыгы үчүн)

    • GND - Г.
    • VCC - 5V
    • ECHO - D6
    • TRIGGER - D7
  • Уячаны жүктөө

    • Жашыл - A+ (HX711)
    • АК - A- (HX711)
    • КАРА - E- (HX711)
    • КЫЗЫЛ - E+ (HX711)
  • HX711 (жүктөө клеткасынын күчөткүчү)

    • GND - Г.
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Серво (180 °)

    • GND - Г.
    • VCC - 5V

Тамак таратуучу

  • УЗИ сенсору (азык танк үчүн)

    • GND - Г.
    • VCC - 5V
    • ECHO - D5
    • TRIGGER - D0
  • УЗИ сенсор (үй жаныбарынын табактан алыстыгы үчүн)

    • GND - Г.
    • VCC - 5V
    • ECHO - D6
    • TRIGGER - D7
  • Уячаны жүктөө

    • Жашыл - A+ (HX711)
    • АК - A- (HX711)
    • КАРА - E- (HX711)
    • КЫЗЫЛ - E+ (HX711)
  • HX711 (жүктөө клеткасынын күчөткүчү)

    • GND - Г.
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Серво (үзгүлтүксүз айлануу)

    • GND - Г.
    • VCC - 5V
    • КОНТРОЛДОО - D8

4 -кадам: Кол өнөрчүлүк

Craft
Craft
Craft
Craft
Craft
Craft

Суу диспенсери

  1. Сервону диспенсердин астыңкы бөлүгүнүн үстүнө жабыштырыңыз (сүрөттө көрсөтүлгөндөй).
  2. Суу бөлүштүргүчтүн кичине тешигин бургулаңыз.
  3. Серво башын туткасына зым менен туташтырыңыз (серво башы 0 позицияда экенин текшериңиз жана зымдын бекем экенин текшериңиз).
  4. УЗИ сенсорун резервуардын ички жагына чаптаңыз, анын чокусуна жакын (сенсор ылдый карайт).
  5. Суу баскычынын астындагы бир УЗИ сенсорун сыртка чаптаңыз (суу идишинин көрсөткүчтөрүнө таасир бербеши үчүн анын жетишерлик бийик экенин текшериңиз).

Тамак таратуучу

  1. Сервону анын кармагына сайыңыз (3D басылган бөлүгү).
  2. Воронканы (3D басылган бөлүгү) танк кармагычка (3D басылган бөлүгү) чаптаңыз.
  3. Цистерна кармагычты диспенсердин стендине туташтырыңыз (3D басылган бөлүгү) жана танкты ордуна коюңуз.
  4. Айлануучу бөлүктү (3D басып чыгарылган) ордуна жана диспенсердин ийрүүчү резина бөлүгү аркылуу киргизиңиз.
  5. Серво кармагычтын бөлүгүн диспенсердин стендине бурап коюңуз.
  6. Танктын капкагынын ички жагына бир УЗИ сенсорун чаптаңыз (сенсор ылдый карайт).
  7. УЗИ сенсорун үй жаныбарыңыз жей турган жерге караган танктын кармагычынын капталына чаптаңыз.

Уячаларды жүктөө

3D басылган базага жана табакка ар бир жүктөө клеткасын чаптаңыз (жүктөө клеткасынын жебеси ылдый карайт)

5 -кадам: чиркей

Mosquitto
Mosquitto

Open Mosquitto (Windows колдонуучулары: Mosquitto папкасына өтүңүз, cmd ачыңыз жана киргизиңиз: "mosquitto -v").

* ЭЭМдин ички IP дарегин алуу үчүн cmd иштетип, "ipconfig" киргизиңиз.

6 -кадам: Arduino IDE

Arduino IDE
Arduino IDE
Arduino IDE
Arduino IDE

Arduino IDEди ачыңыз жана бул колдонмонун "Arduino IDEге ESP8266 кошумчасын орнотуу" бөлүгүн аткарыңыз:

Tools-> Boardго өтүп, "LOLIN (WEMOS) D1 R2 & mini" тандаңыз.

Sketch-> Include Library-> Add. ZIP Library… бөлүмүнө өтүңүз жана "Libraries.rar" файлына 3 китепкананы кошуңуз.

"HX711Calibration" эскизин ачыңыз, аны ESP8266га жүктөңүз, иштетиңиз жана инструкцияларды аткарыңыз (коддун башында жана сериялык монитордо), жүктөө клеткаларын калибрлөө үчүн (сериялык монитордун өткөрүмдүүлүк ылдамдыгы 115200 baud).

* Калибрлөө коэффициентин жана нөлдүк ордун жазыңыз (кийинчерээк колдонуу үчүн).

IDE аркылуу "FoodDispenser" жана "WaterDispenser" эскиздерин ачыңыз жана төмөнкү өзгөрмөлөрдү жөндөөлөрүңүз менен өзгөртүңүз ("Settings.h" файлында):

  • WIFI_SSID
  • WIFI_PASSWORD
  • MQTT_SERVER
  • LOAD_CELL_CALIBRATION_FACTOR
  • LOAD_CELL_ZERO_OFFSET

* MQTT_SERVERге "Mosquitto" кадамынан ички IP дарегин киргизиңиз.

Эскиздерди эки ESP8266ге жүктөңүз (ар бир тактага бирден код).

* Байкаңыз, биз esp8266 "HX711" китепканасы менен айкалышканда бузулгандан бери эң кеңири таралган "pubsubclient" китепканасын эмес, "AsyncMqttClient" китепканасын колдондук.

* Эгерде сиз кодго өзгөртүүлөрдү киргизүүнү чечсеңиз, кайра чалуу функцияларынын ичинде "кечиктирүү" жана "түшүмдүүлүк" функцияларын колдонбогонуңузду текшериңиз, анткени ал бузулууга алып келет.

7 -кадам: Ngrok

Ngrok
Ngrok
Ngrok
Ngrok

Жүктөлүп алынган файлды ачыңыз ("Программалар" кадамындагы шилтемеден).

"Ngrok.exe" ачыңыз жана "ngrok http 1880" буйругун аткарыңыз.

* Сизге эң жакын аймакты тандай аласыз (au, eu, ap, us, jp, in, sa). Демейки - биз.

Мисалы, "ngrok http --region = eu 1880" командасын иштетүү (аймакты Европага коюу).

Эми сиз веб -дарегиңизди тышкы колдонуу үчүн көрөсүз (биз бул дарекке YOUR_NGROK_ADDRESS деп кайрылабыз).

8-кадам: Node-RED

Түйүн-КЫЗЫЛ
Түйүн-КЫЗЫЛ
Түйүн-КЫЗЫЛ
Түйүн-КЫЗЫЛ
Түйүн-КЫЗЫЛ
Түйүн-КЫЗЫЛ

Node-REDти ачыңыз (Windows колдонуучулары: cmd ачып, "node-red" деп жазыңыз) жана https:// localhost: 1880ге өтүңүз (эгер ал иштебесе, cmd терезесинен "Сервер азыр жазылган" дарегин издеңиз) ") чуркап.

Менюну ачыңыз (жогорку оң бурчта) жана "Палитраны башкаруу" баскычын басыңыз.

"Орнотуу" өтмөгүнө өтүңүз, бул модулдарды издеңиз жана орнотуңуз:

  • түйүн-кызыл-салым-улантуу.
  • түйүн-кызыл-салым-cron-плюс.
  • түйүн-кызыл-салым-ui жетектеген.
  • түйүн-кызыл-тактасы.
  • түйүн-кызыл-салым-телеграмма.

Менюга өтүү-> Импорттоо жана агым файлын жүктөө (тиркелген RAR файлын чыгарып, json файлын жүктөө).

Агым жөнүндө түшүндүрмөлөр үчүн тиркелген сүрөттөрдү караңыз.

Бул түйүндөрдү жөндөөлөрүңүз менен өзгөртүүгө туура келет:

  • "Telegram жөнөтүүчү" түйүнүнүн профилин боттун колдонуучу аты жана энбелгиси менен жаңыртыңыз (бул колдонмону колдонуңуз:
  • Агымдын түбүндө "Ngrok Address" жана "Telegram Chat Id" түйүндөрүнүн жүктөмдөрүн өзгөртүңүз (жогорудагы шилтемедеги Telegram колдонмосун колдонуу менен чаттын идентификаторун алыңыз).
  • Агымдын төмөнкү бөлүгүндө орнотуулар түйүндөрү бар - аларды муктаждыктарыңызга жараша өзгөртүңүз:

    • Үй жаныбарын жеп/ичүү эскертмелерин иштетүү.
    • Тамактануу/ичүү эскертүүсүн иштетүү үчүн канча аралык бар экенин аныктаңыз.
    • Табактарды жана цистерналарды иштетүүнү аныктаңыз.
    • Таркатуу убактысын өзгөртүү (диспенсиялар канча убакытка созулат - автоматтык режим жана баскычты басуу).
    • Тамак идишинин ашуу босогосунун пайызын аныктаңыз (идиште тамак жетиштүү болсо, автоматтык тамак берүүнү токтотуңуз).

Агымды жайылтуу (жогорку оңдо).

* Биринчи жайгаштырууда гана, мүчүлүштүктөрдү оңдоо терезесинде 'persistance.json' файлы жоголгону жөнүндө эскертүү пайда болот. Бул тууралуу тынчсызданбаңыз, анткени учурда сиз тамактандыруу убактысын белгилейсиз же автоматтык суу алмаштыргычты алмаштырасыз, ал бул файлды баштапкы абалга келтирет жана сизге мындан ары бул эскертүү берилбейт.

Куралдар тактаңызды https:// NODE-RED_PC'S_INTERNAL_IP_ADDRESS: 1880/ui (эгер сиз сервер менен бир эле LANга туташкан болсоңуз) же YOUR_NGROK_ADDRESS/ui (бардык жерден) боюнча көрө аласыз.

9 -кадам: Бүтүрүү

Киришүү
Киришүү

Бул окуу куралы маалыматтуу жана окууга, түшүнүүгө жана ишке ашырууга оңой болгон деп үмүттөнөбүз.

Бизден эч нерсе сурабаңыз.

Сунушталууда: