Мазмұны:

IDC2018IOT қосылған үй жануарларына арналған тамақ, су және монитор жүйесі: 7 қадам
IDC2018IOT қосылған үй жануарларына арналған тамақ, су және монитор жүйесі: 7 қадам

Бейне: IDC2018IOT қосылған үй жануарларына арналған тамақ, су және монитор жүйесі: 7 қадам

Бейне: IDC2018IOT қосылған үй жануарларына арналған тамақ, су және монитор жүйесі: 7 қадам
Бейне: TEMPLE RUN 2 SPRINTS PASSING WIND 2024, Қараша
Anonim
Image
Image
IDC2018IOT үй жануарларына арналған азық -түлік, су және монитор жүйесі
IDC2018IOT үй жануарларына арналған азық -түлік, су және монитор жүйесі

Кіріспе

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

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

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

Біз туралы

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

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

Сәулет туралы түсінік
Сәулет туралы түсінік
Сәулет туралы түсінік
Сәулет туралы түсінік

Бұл жүйені екі негізгі бөлікке бөлуге болады:

  1. Кіретін деректер арналары:

    • Су сенсоры - үй жануарларының тостағанындағы су деңгейін іріктеу, деректер Node -MCU қондырғысынан Blynk серверіне жіберіледі және соңында жануарлар тақтасы арқылы ұсынылады.
    • Sonar сенсоры - азық -түлік контейнерінің мазмұнын іріктеу, деректер Arduino қондырғысынан (Ethernet қалқанының кеңейтілуімен) Blynk серверіне жіберіледі және соңында Pet Dashboard арқылы ұсынылады.
    • Пи камера модулі - үй жануарлары аймағының кадрларын үнемі іріктеп отырады, Pi үй жануарларының бақылау тақтасына тікелей арнаны беретін өз серверін орналастырады.
  2. Пәрмен ағыны:

    • Беру түймесі (бақылау тақтасы) - виртуалды пин мәнін Blynk арқылы жаңартады, тиісті функция Arduino тақтасында іске қосылады, содан кейін тағам қақпақ арқылы өтуі үшін Серво қозғалады.
    • Су беру (бақылау тақтасы) - Blynk арқылы виртуалды пин мәнін белсенді түрде жаңартады, тиісті функция Node -MCU тақтасында іске қосылады, реле қосылады, су сорғы үй жануарларының тостағанына су жібере бастайды.
    • Pet Live Feed (бақылау тақтасы) - бақылау тақтасына ендірілген және Pi құрылғысында жұмыс істейтін колба сервері арқылы тірі деректерді ұсынады.

2 -қадам: бөліктердің тізімі

Бөлшектердің тізімі
Бөлшектердің тізімі
Бөлшектердің тізімі
Бөлшектердің тізімі
Бөлшектердің тізімі
Бөлшектердің тізімі

Бұл жүйемен жұмыс істеу үшін сізге келесі (немесе ұқсас) бөліктер қажет болады:

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

    • Азық-түлік контейнері: Біз үй әмбебап дүкенінен сатып алған 45 сантиметрлік екі жақты құбырды қолдандық. 2 шығудың болуы маңызды. Біреуі мазмұнды өлшеуге, ал екінші ашу/жабу механизміне.
    • Түтік таспасы: заттарды бірге ұстау үшін;)
    • Өткізгіш сымдар: неғұрлым көңілді болса, бірдеңе дұрыс болмай қалса, қосымша алу әрқашан жақсы.
    • Ethernet кабелі: біздің Arduino (Ethernet қалқанымен) Интернетке қосылу үшін.
    • Бау -бақша: су мен су сорғыға арналған контейнер ретінде қолданылады.
    • Қысқа су құбыры: сорғыға қосылған және үй жануарларының тостағанына су құяды.
  2. Датчиктер:

    • WINGONEER су деңгейінің сенсоры: үй жануарларының тостағанындағы су деңгейін өлшеңіз.
    • Sonar датчигі - ыдыстың ішіндегі жоғарғы қақпақтан тағам деңгейінің арақашықтығын өлшеңіз.
    • Тонглинг релесі: су ағатын су сорғысын қосуға/өшіруге мүмкіндік береді.
    • Pi камера модулі: таңқурай Pi құрылғысына қосылған және үй жануарларының аймағының суреттерін жібереді.
    • Жалпы сервис: азық -түлік контейнерін құлыптайды және ашады.
  3. Электронды құрылғылар / тақталар:

    • Arduino Uno: тағамдық контейнер қондырғысының орындалуын бақылайды.
    • Arduino Ethernet Shield: біздің тақтаға интернет байланысын қамтамасыз етеді.
    • NodeMCU (ESP-8266): суды өлшеу үшін де, құю үшін де басқарады. Бұл тақта WiFi арқылы қосылу мүмкіндігіне ие.
    • Raspberry Pi 3 - камера серверін орналастырады және үй жануарларының бақылау тақтасын тікелей береді.
    • VicTsing 80 GPH суасты сорғысы: су құбырымен бірге бау -бақша ыдысынан ыдысқа ағады.

3 -қадам: сымдарды біріктіру және оларды орналастыру

Сымдарды біріктіру және орналастыру
Сымдарды біріктіру және орналастыру
Сымдарды біріктіру және орналастыру
Сымдарды біріктіру және орналастыру
Сымдарды біріктіру және орналастыру
Сымдарды біріктіру және орналастыру

Сымдар

Жұмысты бастамас бұрын, Arduino / Node-MCU-ді барлық сымдарды біріктіруді және кез келген физикалық орынға қоюды жеңілдету үшін оларды тақтаға қою ұсынылады. Сонымен қатар, кабельді ажыратудан туындайтын қателіктердің алдын алу үшін ұзын сымдарды қолдану ұсынылады. Біз сізге Node-MCU (су қондырғысы) мен Arduino (тамақ блогы) сымдарының схемасын ұсындық.

  1. Тамақтану бірлігі (Arduino):

    • Сонар сенсоры:

      • GND (Қара) = GND
      • VCC (Қызыл) = 5В
      • Триг (күлгін) = 3
      • Эхо (көк) = 4
    • Серво:

      • GND (Қара) = GND
      • VCC (Қызыл) = 5В
      • Сигнал (сары) = 9
  2. Су қондырғысы (түйін):

    • Су деңгейінің сенсоры:

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

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

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

      • Pi камерасының жалғыз портына қосылыңыз (ағын кабелі)
      • Егер сіз камера модулімен Pi туралы көбірек білгіңіз келсе - Сілтеме

Бөлшектерді бірге жинау

Бұл бөлімде сіз «бұл сіздікі» болу үшін осы жобаны реттеуге және өзгертуге қош келдіңіз. Бірақ біз сізге өнімнің нұсқасын қалпына келтіру үшін суреттер мен сипаттамаларды береміз.

  1. Азық -түлік бөлімі (Arduino): Контейнер өте ашық, біз екі қақпақты жасауға назар аударамыз.

    • Жоғарғы қақпақ: Sonar сенсорына сәйкес келетін қақпақтың 2 тесігін кесіңіз (қосымша суретті қараңыз).
    • Төменгі қақпақ + механизмі: пластикалық қондырғылардың бірін (серво сенсорымен қамтамасыз етілген) алудан бастаңыз және жабысқақ таспаны / ағаш таяқшаларды қолданып, «шанамен балға» пішінін жасаңыз (біз тек таспаны қолдандық). Әрі қарай, оны серво бекітіңіз. Енді бізге қақпақтың өзінде 2 тесік қажет. Біріншісі, сервоға қақпақтың «ішкі жағына» орнатылған механизмге сәйкес келуіне мүмкіндік беруі керек. Сіз жасаған «балғаның басы» жағына негізделген тағы бір тесікті кесіңіз. Осылайша, серво ашылған кезде, балғаның құйрығы тамақты шығысқа қарай сыпырады және үлкен кесектердің жабысып қалуын болдырмайды.
  2. Су қондырғысы (Node-MCU): су құбырын су сорғысына қосыңыз, енді оны бау-бақшаның ішіне салыңыз (реле мен электр сымдарының дұрыс емес бөлігін су ішіне қоймаңыз).
  3. Камера блогы: сізге камераның модулімен Pi қалаған жерге қою жеткілікті.

4 -қадам: Blynk орнатыңыз

Blynk орнату
Blynk орнату
Blynk орнату
Blynk орнату

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

Менің Blynk аутентификация токенін қалай алуға болады

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

Ескерту: Blynk қосымшасы арқылы толықтай қолданыла алады, бірақ біз өзіміздің жеке бақылау тақтасын енгізуді шештік.

Ақырында, келесі қадамға өту үшін Blynk кітапханасын - сілтемені жүктеп алып, орнату керек (3 -бөлімге өту)

5 -қадам: Тамақ контейнерін, су сорғысын және тірі камераны конфигурациялаңыз

Тамақ контейнерін, су сорғысын және тірі камераны конфигурациялаңыз
Тамақ контейнерін, су сорғысын және тірі камераны конфигурациялаңыз
Тамақ контейнерін, су сорғысын және тірі камераны конфигурациялаңыз
Тамақ контейнерін, су сорғысын және тірі камераны конфигурациялаңыз

Осы кезде біз барлық бөлшектерді жинауды аяқтадық және blynkAuthAppToken алдық (3 -қадамды қараңыз).

Біз сізге осы жобаны іске қосу үшін қажет барлық кодты бердік, тек кодтағы бірнеше айнымалыны өзгерту қажет, бұл оны «жеке» жүйеге айналдырады.

Ең алдымен, Arduino IDE жүктеуден бастаңыз (егер сіз оны әлі жасамаған болсаңыз) - Сілтеме

Arduino тағамдық контейнері

  1. IDE -ді Arduino тақтасына орнатыңыз: Құралдар -> Тақта -> Arduino/Genuino Uno
  2. Мына кітапханалар орнатылғанына көз жеткізіңіз: эскиз -> кітапхананы қосу -> кітапханаларды басқару

    Эстафета (Рафаэль авторы)

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

    auth = «REPLACE_WITH_YOUR_BLYNK_TOKEN»;

  4. Эскизді Arduino құрылғысына құрастырыңыз және жүктеңіз.

Түйін-MCU су қондырғысы

  1. IDE-ді Node-MCU тақтасына орнатыңыз:

    Толық түсініктеме алу үшін осы нұсқаулықтың бірінші бөлімін қараңыз

  2. Мына кітапханалар орнатылғанына көз жеткізіңіз: эскиз -> кітапхананы қосу -> кітапханаларды басқару

    WiFi менеджері (tzapu бойынша)

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

    • auth = «REPLACE_WITH_YOUR_BLYNK_TOKEN»;
    • ssid = «YOUR_WIFI_SSID»; // Негізінде бұл сіздің WiFi желісінің атауы
    • өту = «YOUR_WIFI_PASSWORD»; // егер сізде құпия сөз болмаса, бос жолды қолданыңыз «»
  4. Эскизді Node-MCU құрылғысына құрастырыңыз және жүктеңіз.

Pi Live камера модулі

  1. Пи камера модулін қосыңыз
  2. «Sudo raspi-config» іске қосыңыз және «камера» опциясын қосыңыз.
  3. Суретке түсіру үшін «raspistill» командасын қолданып камераны тексеріңіз

    r aspistill -o image.jpg

  4. Flask веб -камера серверін орнатыңыз:

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

    • Келесі жолды /etc/rc.local жолына қосыңыз (шығу жолының алдында):

      python /camera_server.py

6 -қадам: Басқару тақтасын пайдалану әдісі

Басқару тақтасын қалай қолдануға болады
Басқару тақтасын қалай қолдануға болады

Орнату

Бұл бөлім өте қарапайым, сізге «blynk қолданба таңбалауышын» «index.js» файлына келесідей енгізу жеткілікті:

const blynkToken = «YOUR_BLYNK_APP_TOKEN» // алдыңғы қадамдардан сол таңбаны қолданыңыз.

Қолданылуы

  1. «Index.html» файлын екі рет басу арқылы бақылау тақтасын ашыңыз.
  2. Бақылау тақтасы жүйені әр 10 минут сайын автоматты түрде іріктеп алады.
  3. Су мен азық -түлік контейнерінің шараларын қолмен алуға болады.
  4. «Су беру» және «Беру» түймелері үй жануарларын тамақ пен сумен белсенді түрде қамтамасыз ету үшін қолданылады.
  5. Бақылау тақтасының төменгі бөлігі алдыңғы қадам нұсқауларын мұқият орындаған болсаңыз, камера модулінен тікелей беруді ұсынады.

Ескерту: Егер сіз азық -түлік контейнерін тамақтандыру кезінде қанша рет ашылатынын реттегіңіз келсе, «index.js» файлын ашыңыз және «3» -тен келесі жолдағы «мәнді» өзіңіз қалаған санға өзгертіңіз:

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

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

Қиындықтар

Бұл жобадағы біз үшін басты қиындықтар азық -түлік контейнерінің ашылу/жабылу механизмін жобалауға және азық -түлік бірлігін бақылау мен өлшеудің тұрақты бір мезгілде кодын құруға байланысты болды. Менің ойымша, біз қанағаттанғанша кем дегенде 4 түрлі нұсқаны қолдандық. Негізгі алаңдаушылық азық -түліктің шығуға кедергі жасауы болды. Бұған жол бермеу үшін біз шана-балға дизайнын таңдадық, сондықтан біз контейнерді ашқан кезде «балғаның» құйрығы шығысқа қарай тамақты сыпырады. Сонымен қатар, екі жақты түтікті қолдану азық-түлік контейнерін жасау кезінде біздің өмірімізді әлдеқайда жеңілдетті. Мұндай объект бір жағынан шығу механизмін, ал екінші жағынан қашықтықты өлшейтін датчикті орналастыруға өте ыңғайлы.

Шектер

Жобаның осы кезеңінде жүйеде шектеулер аз:

  1. Бұл толық автоматтандырылмаған, яғни суды беру мен құюды бақылау тақтасы арқылы ақылды жоспарлаушыларсыз қолмен жасауға болады (оны болашақта қосуға болады немесе сіз енгізе аласыз!).
  2. Бақылау тақтасы жергілікті ноутбуктен жұмыс істейді, оны қолжетімді ету үшін оны «Heroku» сияқты танымал платформаларда орналастыруға болады.
  3. Біз өте қарапайым камера модулін қолдандық, оны әлдеқайда күрделі модульге ауыстыруға болады, бұл суреттің сапасын жақсартады және үй жануарларыңызбен байланыс арнасын қосады (динамикті қолдана отырып).

Болашақ жоспарлар

Егер бізде бұл жүйені әрі қарай дамытуға уақыт пен бюджет болса, бізде бірнеше идеялар мен мүмкін болатын кесте бар еді:

  1. Үй жануарларын тамақтандырудың автоматты кесте жүйесін қосу - жұмыстан 2-3 күн.
  2. Біздің жүйенің пайдаланушыларына желіде орналастырылған және кез келген қосылған құрылғыдан қол жетімді реттелетін бақылау тақтасын құруға мүмкіндік беретін веб -сайт құру - 1-2 ай жұмыс.
  3. Бұл жүйенің индустриалды нұсқасы бойынша жұмыс жасаңыз, бұл үй жануарларының көптеген иелеріне үй жануарларымен жақсы қарым -қатынаста болуға мүмкіндік береді, біз осы Нұсқаулықтың нәтижесін көрген достарымыздың қызығушылығын көрдік. Сонымен, егер сізде жобаны жаңа деңгейге көтеруге уақыт болса - сізде толық қолдау бар!

Сізге бұл жобаны оқу ұнады деп үміттенеміз (және оны салуға үміттенемін!):)

Ұсынылған: