Мазмуну:

IDC2018IOT туташкан жаныбарлардын тамак -ашы, суу жана монитор системасы: 7 кадам
IDC2018IOT туташкан жаныбарлардын тамак -ашы, суу жана монитор системасы: 7 кадам

Video: IDC2018IOT туташкан жаныбарлардын тамак -ашы, суу жана монитор системасы: 7 кадам

Video: IDC2018IOT туташкан жаныбарлардын тамак -ашы, суу жана монитор системасы: 7 кадам
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Июль
Anonim
Image
Image
IDC2018IOT туташкан жаныбарлардын тамак -ашы, суу жана монитор системасы
IDC2018IOT туташкан жаныбарлардын тамак -ашы, суу жана монитор системасы

Киришүү

Сиз кысымга алынган студент болосузбу, мээнеткеч адамсызбы, же үйүңүздөн бир күндө бир нече сааттан ашык. Камкор үй жаныбарларынын ээлери катары, биз сүйүктүүлөрүбүздүн дени сак, тоюттанган жана албетте диванга жатпашын камсыз кылгыбыз келет (сволочь!). Ырайым суроону, ал тургай мындай кызматтарды төлөөнү токтотууга мезгил келди.

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

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

Биз жөнүндө

Томер Маймон, Гилад Рам жана Алон Шпрунг. IDC Herzeliya үч кумарлуу информатика студенттери. Бул IoT семинардын бир бөлүгү катары биздин Instructables проектибиз - курулушу кызыктуу жана кызыктуу болот деп ишенебиз!

1 -кадам: Архитектураны түшүнүү:

Архитектураны түшүнүү
Архитектураны түшүнүү
Архитектураны түшүнүү
Архитектураны түшүнүү

Биз бул системаны эки негизги бөлүккө бөлө алабыз:

  1. Кирүүчү маалымат каналдары:

    • Суу сенсору - үй жаныбарларынын табагынын ичиндеги суунун деңгээлин тандоо, маалыматтар Node -MCU бирдигинен Blynk серверине өткөрүлүп берилет жана акыры Pet Dashboard аркылуу берилет.
    • Сонар сенсору - тамак -аш контейнеринин мазмунун тандап алуу, маалыматтар Arduino бирдигинен (Ethernet калканынын узартылышы менен) Blynk серверине өткөрүлүп берилет жана акыры Pet Dashboard аркылуу берилет.
    • Пи Камера модулу - үй жаныбарларынын аймагынын рамкаларын дайыма үлгү кылып, Пи үй жаныбарлар панелине жандуу тоют менен камсыз кылган өз серверин жайгаштырат.
  2. Command Flow:

    • Feed Button (Dashboard) - Blynk аркылуу виртуалдык пиндин маанисин жаңыртуу, тиешелүү функция Arduino тактасында иштейт, андан кийин тамактын капкактан өтүшүнө мүмкүнчүлүк берүү үчүн Серво жылат.
    • Суу бер (Панель) - Blynk аркылуу виртуалдык пиндин маанисин активдүү түрдө жаңыртып турат, тиешелүү функция Node -MCU тактасында иштейт, реле КҮЙГҮЗҮЛГӨН, суу насосу үй жаныбарынын табагына суу бере баштайт.
    • Pet Live Feed (Dashboard) - панелдин ичине камтылган жана Pi түзмөгүндө иштеген колбалык сервер аркылуу жандуу маалыматтарды берүү.

2 -кадам: Бөлүктөрдүн тизмеси

Бөлүктөрдүн тизмеси
Бөлүктөрдүн тизмеси
Бөлүктөрдүн тизмеси
Бөлүктөрдүн тизмеси
Бөлүктөрдүн тизмеси
Бөлүктөрдүн тизмеси

Бул системада иштөөнү баштоо үчүн сизге төмөнкү (же окшош) бөлүктөр керек болот:

  1. Физикалык:

    • Тамак-аш контейнери: Биз үй универмагынан сатып алган өнөр жай 45 см эки тараптуу түтүктү колдондук. 2 чыгуунун болушу маанилүү. Бири мазмунду өлчөө үчүн, экинчиси ачык/жабуу механизми үчүн.
    • Түтүк тасмасы: нерселерди бирге кармоо үчүн;)
    • Jumper Wires: Көңүл көтөргөн сайын, бир нерсе туура эмес болуп калса, кээ бир кошумча нерселерди алуу жакшы.
    • Ethernet Cable: Биздин Arduino (ethernet калканы менен) интернетке туташтыруу үчүн.
    • Багбанчылык банкы: суу жана суу насосу үчүн контейнер катары колдонулат.
    • Кыска суу түтүгү: Насоско туташып, үй жаныбарынын табагына суу куят.
  2. Сенсорлор:

    • WINGONEER Суу деңгээлинин сенсору: Үй жаныбарынын табагындагы суунун деңгээлин өлчөө.
    • Sonar Sensor - Контейнердин үстүңкү капкагынан тамак -аштын деңгээлин өлчөө.
    • TONGLING Relay: Бизге суу агуучу суу насосун күйгүзүү/өчүрүү мүмкүнчүлүгүн берет.
    • Pi Камера модулу: Малина Pi түзмөгүнө туташып, үй жаныбарларынын сүрөтүн агылтат.
    • Generic Servo: Тамак контейнерин кулпулап жана ачат.
  3. Электрондук түзмөктөр / такталар:

    • Arduino Uno: тамак -аш контейнер бирдигинин аткарылышын көзөмөлдөйт.
    • Arduino Ethernet Shield: тактайыбызга интернет байланышын камсыздайт.
    • NodeMCU (ESP-8266): Суу агрегатын көзөмөлдөйт, сууну өлчөө жана куюу үчүн. Бул такта WiFi аркылуу туташуу мүмкүнчүлүгүнө ээ.
    • Raspberry Pi 3 - камера серверин жайгаштыруу жана үй жаныбарлар панелине түз тамак берүү.
    • VicTsing 80 GPH Чөгүүчү Суу Насосу: Суу түтүгү менен бирге бакчадан идишке чейин суу агат.

3 -кадам: Зымдарды бириктирүү жана жайгаштыруу

Зымдарды бириктирүү жана жайгаштыруу
Зымдарды бириктирүү жана жайгаштыруу
Зымдарды бириктирүү жана жайгаштыруу
Зымдарды бириктирүү жана жайгаштыруу
Зымдарды бириктирүү жана жайгаштыруу
Зымдарды бириктирүү жана жайгаштыруу

Электр өткөргүчтөрү

Баштоодон мурун, Arduino / Node-MCUну бардык зымдарды бириктирип, каалаган жерге жайгаштырууну жеңилдетүү үчүн нан тактасына коюу сунушталат. Мындан тышкары, кабелдик ажыроодон келип чыккан каталардын алдын алуу үчүн узун зымдарды колдонуу сунушталат. Биз сизге Node-MCU (Суу бирдиги) жана Arduino (Food Unit) үчүн зымдардын схемасын бердик.

  1. Тамак -аш бирдиги (Arduino):

    • Sonar сенсор:

      • GND (Кара) = GND
      • VCC (Кызыл) = 5V
      • Триг (Purple) = 3
      • Эхо (Көк) = 4
    • Кызмат:

      • GND (Кара) = GND
      • VCC (Кызыл) = 5V
      • Сигнал (Сары) = 9
  2. Суу бирдиги (түйүн):

    • Суу деңгээлинин сенсору:

      • S (көк) = A0
      • + (Кызыл) = 3v3
      • - (Кара) = GND
    • Реле (суу насосуна электр зымдары):

      • IN (сары) = D1
      • VCC (Кызыл) = Вин
      • GND (Кара) = GND
  3. Камера бирдиги (Pi):

    • Камера сенсору:

      • Pi'нин бир камералуу портуна туташыңыз (flux кабели)
      • Эгерде сиз камера модулу менен Pi жөнүндө көбүрөөк билгиңиз келсе - Link

Бөлүктөрдү чогуу чогултуу

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

  1. Азык -түлүк бирдиги (Arduino): Контейнер абдан алдыга жылат, биз эки капкакты жасоого басым жасайбыз.

    • Үстүнкү капкак: Sonar сенсоруна туура келиши үчүн капкактын 2 тешигин кесип алыңыз (тиркелген сүрөттү караңыз).
    • Төмөнкү капкак + Механизм: Пластикалык тиркемелердин бирин алуудан баштаңыз (серво сенсору менен камсыздалат) жана скотч / жыгач таякчалардын жардамы менен "Чана Балка" формасын куруңуз (биз лента гана колдонгонбуз). Андан кийин, аны сервону тиркеңиз. Эми, капкактын өзүнө 2 тешик керек. Биринчиси, сервонун капкактын "ички жагына" орнотулган механизмге туура келүүсүнө мүмкүнчүлүк бериши керек. Сиз жасаган "балка башынын" капталына негизделген дагы бир тешикти кесип алыңыз. Ошентип, качан servo ачылса, балканын куйругу тамакты чыгууга карай шыпырат жана чоң бөлүктөрдүн бири -бирине жабышып калышына жол бербейт.
  2. Суу бирдиги (Node-MCU): Суу түтүгүн суу насосуна туташтырыңыз, эми аны багбанчылык челектин ичине салыңыз (суунун ичиндеги реле жана электр зымдары менен туура эмес бөлүктү койбоңуз).
  3. Камера бирдиги: Пи камера модулу менен сиз тандаган жерге коюуңуз керек.

4 -кадам: Blynkти орнотуу

Blynkти орнотуу
Blynkти орнотуу
Blynkти орнотуу
Blynkти орнотуу

Бул долбоордун бардык алыскы мүмкүнчүлүктөрү Blynkке негизделген. Бул кызмат негизинен HTTP протоколу аркылуу интернет аркылуу Arduino/Node-MCU түзмөктөрүбүз менен байланышуу үчүн акысыз Web-Server жана RESTful API менен камсыз кылат. Blynk бизге виртуалдык казыктарды аныктоого мүмкүндүк берет, алар суу куюуга, ар кандай сенсорлорду азыктандырууга жана үлгүлөрүн алууга байланышкан белгилүү бир функцияларды аткаруу үчүн дарек катары колдонулат (биз бул бөлүктү сиз үчүн жасадык, болгону өзүңүздүн колдонмоңуздун энбелгисин алууңуз керек, бул кийинкиде түшүндүрүлөт).

Менин Blynk Authentication Token кантип алса болот

  1. Blynk тиркемесин мобилдик түзмөгүңүз үчүн AppStore / PlayStore аркылуу жүктөп алыңыз.
  2. Бул кызматка катталыңыз (аны колдонуу бекер).
  3. Жаңы долбоорду баштаңыз, туура аппаратты тандап алыңыз (биздин учурда ESP8266).
  4. Түзүлгөндөн кийин AUTHENTICATION TOKEN менен электрондук кат жөнөтүлөт - Токенди кийинки кадамдар үчүн сактаңыз.

Эскертүү: Blynkти колдонмо аркылуу толугу менен колдонсо болот, бирок биз өзүбүздүн ыңгайлаштырылган тактабызды ишке ашырууну чечтик.

Акырында, кийинки кадамга өтүү үчүн, Blynk китепканасын жүктөп, орнотушуңуз керек - Шилтеме (3 -бөлүккө өтүү)

5 -кадам: Тамак -аш контейнерин, суу насосун жана жандуу камераны конфигурациялоо

Тамак -аш контейнерин, суу насосун жана жандуу камераны конфигурациялоо
Тамак -аш контейнерин, суу насосун жана жандуу камераны конфигурациялоо
Тамак -аш контейнерин, суу насосун жана жандуу камераны конфигурациялоо
Тамак -аш контейнерин, суу насосун жана жандуу камераны конфигурациялоо

Бул жерде биз бардык бөлүктөрдү чогултуп бүтүрдүк жана blynkAuthAppTokenди алдык (3 -кадамды караңыз).

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

Биринчиден, Arduino IDE жүктөө менен баштаңыз (эгер сиз муну жасай элек болсоңуз) - Шилтеме

Ардуино тамак -аш контейнери

  1. IDE'ди Arduino тактасына орнотуңуз: Куралдар -> Такта -> Arduino/Genuino Uno
  2. Бул китепканалар орнотулганын тактаңыз: Эскиз -> Китепкананы кошуу -> Китепканаларды башкаруу

    Эстафета (Рафаэль тарабынан)

  3. PetFeeder.ino эскиз файлын ачыңыз, төмөнкү параметрлерди конфигурациялаңыз (жардам үчүн тиркелген сүрөттү караңыз):

    auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";

  4. Эскизди Arduino түзмөгүңүзгө түзүңүз жана жүктөңүз.

Node-MCU суу бирдиги

  1. IDEди Node-MCU тактасына орнотуңуз:

    Толук түшүндүрүү үчүн бул нускаманын биринчи бөлүгүн караңыз

  2. Бул китепканалар орнотулганын текшериңиз: Эскиз -> Китепкананы кошуу -> Китепканаларды башкаруу

    WiFi менеджери (tzapu боюнча)

  3. PetFeeder.ino эскиз файлын ачыңыз, төмөнкү параметрлерди конфигурациялаңыз (жардам үчүн тиркелген сүрөттү караңыз):

    • auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
    • ssid = "YOUR_WIFI_SSID"; // Негизи бул сиздин WiFi тармагыңыздын аталышы
    • pass = "YOUR_WIFI_PASSWORD"; // сырсөзүңүз жок болсо, бош сапты колдонуңуз ""
  4. Эскизди Node-MCU түзмөгүңүзгө түзүңүз жана жүктөңүз.

Pi Live Камера модулу

  1. Пи камера модулун туташтырыңыз
  2. "Sudo raspi-config" иштетип, "камера" параметрин иштетүүнү коюңуз.
  3. Сүрөткө тартуу үчүн "raspistill" командасын колдонуп камераны сынап көрүңүз

    r aspistill -o image.jpg

  4. Flask веб камерасынын серверин коюу:

    • Pip орнотуу -r талаптар.txt аркылуу бардык талаптарды орнотуңуз
    • Camera_server.py иштетүү үчүн python колдонуңуз
    • Аны 127.0.0.1:5000/video_feed сайтынан текшериңиз
  5. Flask веб -серверин жүктөөдө иштетүү үчүн орнотуңуз:

    • Төмөнкү сапты /etc/rc.localге кошуңуз (чыгуу сызыгынан мурун):

      python /camera_server.py

6 -кадам: Башкаруу панелин кантип колдонуу керек

Башкаруу панелин кантип колдонуу керек
Башкаруу панелин кантип колдонуу керек

Жайгашуу

Бул бөлүк абдан жөнөкөй, болгону "index.js" файлына "blynk app token" кыстаруу керек:

const blynkToken = "YOUR_BLYNK_APP_TOKEN" // мурунку кадамдардагы эле токенди колдонуңуз.

Колдонуу

  1. "Index.html" файлын эки жолу чыкылдатып, тактаны ачыңыз.
  2. Куралдар тактасы системаны автоматтык түрдө 10 мүнөттө үлгү кылат.
  3. Суу жана тамак -аш контейнеринин чаралары кол менен кабыл алынышы мүмкүн.
  4. "Суу бер" жана "Тоют берүү" баскычтары үй жаныбарыңызды тамак -аш жана суу менен активдүү камсыздоо үчүн колдонулат.
  5. Курал тактасынын ылдыйкы бөлүгү, эгер сиз мурунку кадам көрсөтмөлөрүн кылдаттык менен аткарсаңыз, камера модулунун жандуу түрмөгүн тартуулайт.

Эскертүү: Эгерде сиз тамактандырууда тамак -аш контейнери канча жолу ачылышын кааласаңыз, "index.js" файлын ачыңыз жана "3төн" кийинки саптагы "маанини" каалаган санга өзгөртүңүз:

алуу (baseURL + '/update/V1? value = 3');

7 -кадам: Чакырыктар, чектер жана келечектеги пландар

Чакырыктар

Бул долбоордо биз үчүн негизги кыйынчылыктар, тамак -аш контейнеринин ачык/жабуу механизмин иштеп чыгуу жана азык -түлүк бирдигин көзөмөлдөө жана өлчөө үчүн туруктуу параллелдүү кодду түзүү менен байланыштуу болгон. Биз канааттанганга чейин жок дегенде 4 башка версияны сынап көрдүк деп ойлойм. Негизги көйгөй тамак -аштын чыгууга тоскоолдук кылышы болду. Мунун алдын алуу үчүн, биз Sledge-Hammer дизайнын тандап алдык, ошондуктан контейнерди качан ачсак, "балканын" куйругу чыгышты карай тамак шыпырат. Анын үстүнө, эки тараптуу түтүктү колдонуу тамак-аш контейнерин курууда жашообузду бир топ жеңилдетти. Мындай объект чыгуу механизмин бир жагына, ал эми анын мазмунун өлчөө үчүн аралык сенсорун жайгаштыруу үчүн идеалдуу.

Limits

Долбоордун бул этабында системага чектөөлөр аз:

  1. Бул толугу менен автоматташтырылган эмес, башкача айтканда, тамактандыруу жана суу куюу эч кандай акылдуу пландоочусуз көзөмөлдөө панели аркылуу кол менен жасалат (бул келечекте кошулушу мүмкүн же сиз тарабынан ишке ашырылышы мүмкүн!).
  2. Куралдар тактасы жергиликтүү ноутбуктан иштейт, аны жеткиликтүү кылуу үчүн аны "Heroku" сыяктуу популярдуу платформаларда жайгаштырса болот.
  3. Биз сүрөттүн сапатын жакшыртуу жана үй жаныбарыңыз менен байланыш каналын кошуу үчүн (спикерди колдонуп) иштетүү үчүн бир кыйла татаал модулга алмаштырылышы мүмкүн болгон абдан жөнөкөй камера модулун колдондук.

Келечектеги пландар

Эгерде бизде бул системаны өнүктүрүүнү улантуу үчүн убакыт жана бюджет болсо, анда бизде бир нече идеялар жана мүмкүн болгон график бар болчу:

  1. Үй жаныбарларын тамактандыруу үчүн автоматтык пландоо системасын кошуу - жумуштан 2 ~ 3 күн.
  2. Биздин системанын колдонуучуларына интернетте жайгаштырылган жана каалаган туташкан түзмөктөн жеткиликтүү болгон жеке панель түзүүгө мүмкүнчүлүк берүү үчүн вебсайт түзүү - 1-2 ай иштөө.
  3. Бул системанын индустриалдык версиясынын үстүндө иштөө, үй жаныбарларынын көбүрөөк ээлерине интернетте үй жаныбарлары менен жакшыраак контролдоо жана баарлашуу мүмкүнчүлүгүн берүү, бул Нускаманын жыйынтыгын көргөн досторубуздун кызыгуусун арттырды. Демек, эгерде сизде долбоорду кийинки баскычка көтөрүүгө убакыт кумарыңыз болсо - сизде толук колдоо бар!

Бул долбоорду окуу сизге жакты деп үмүттөнөбүз (жана курабыз!):)

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