Мазмұны:
- 1 -қадам: Эксперимент
- 2 -қадам: Жабдық
- 3 -қадам: Google Cloud - тіркеу
- 4 -қадам: Google Cloud - Pub/Sub
- 5 -қадам: Google Cloud - IOT Core
- 6 -қадам: Google Cloud - бұлтты функциялар
- 7 -қадам: Google Cloud - Cloud DataStore
- 8 -қадам: Google Cloud - BigQuery
- 9 -қадам: Google Cloud - Data Studio
- 10 -қадам: Болжау кезеңі
- 11 -қадам: код
Бейне: Дренажды бітеу детекторы: 11 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:27
Төгілген ағын судың баяулауына жол бермеңіз! Демалыстан оралғанда, мен және менің әйелім пәтеріміздің еденін жауып тұрғанына таң қалдық, біз оның таза су емес екенін білдік, ол барлық жерде ағып жатыр. Дренажды тазалап, еденді тазалағаннан кейін, менде мынадай сұрақ болды: неге бізде су ағызудың ықтимал бітелуі туралы дабыл жүйесі жоқ? Төгілген канализация сіздің үйіңізді тоқтатып қана қоймайды, сонымен қатар сіздің қалтаңыздан қосымша шығындарды талап етеді, орташа есеппен 206 доллар - бұл бұзылған кілемдер, ағаш жиһаздар және т. Біздің ойымыз - үй иелеріне, сондай -ақ қалалық/қосалқы қызмет көрсету бөлімдері мен мамандандырылған қызмет көрсетушілер сияқты кәсіпорындарға ақылды қалаларды маңызды орынмен байытуға ықпал ететін, мүмкіндігінше ертерек жауапты адамдарға хабар беретін тиімді және ақылды жүйе болуына мүмкіндік беру. ерекшелігі.
Идея Бітелулерді анықтау газ сенсорларын немесе ішкі механизмдерді қолдану сияқты бірнеше әдістермен жүзеге асырылуы мүмкін болса да, біздің команда дыбысты біздің кіріс ретінде қолдануға бағытталған, өйткені біз оның ашылған түтікті соғу болғаннан басқа дыбыс екенін білеміз. жабылған кезде. Осы қарапайым тұжырымдамаға сәйкес, егер біз түтік бетінде бітелу кезінде пайда болатын дыбыс үлгілерін үйрете алатын болсақ, сондай -ақ бұл құбырлар ашық құбырларда пайда болса, онда біз модельді бітелу басталған кезде белсенді түрде анықтау үшін қолдана аламыз. кейбір вексельдерге қоңырау шалыңыз.
Несие
- Мохамед Хасан
- Ахмед Эмам
Жобаның егжей -тегжейлі жобасы 3 кезеңде жүзеге асады: Деректерді жинау, Оқыту және болжау.
Бұл жүйені нақты өмірде қолданбас бұрын, бізде құбыр, ағынды су және қандай да бір жолмен бітелуді модельдеу үшін күшейтілген модельдеу ортасын құру қажет болды. Сонымен, бізде түтік, су көзі бар су шлангісі бар, бұл ваннада және ваннаның бетін пайдаланып, бітелуді білдіретін түтікті жабады. Бұл бейнеде біз қоршаған ортаны қалай құрғанымызды және модельдік жаттығуларға арналған деректерді қалай жинағанымызды түсіндіреміз.
Бұл келесі бейнеде біз жүйені және модельді тестілеуді ашық режимде, содан кейін бітелу режимінде және ашық режимге қалай өткізгенімізді көрсетеді.
Сонымен, біздің қадамды кезең -кезеңімен қарастырайық:
1 -қадам: Эксперимент
Бұл жағдайда біз аппараттық және дыбыстық сенсорға қосылған шағын су құбырын қолданамыз. Жабдық сенсордың мәнін оқиды және оны бұлтқа жібереді. Бұл бітелген түтік үшін 10 минут ішінде жасалды, содан кейін бітелмеген құбыр үшін тағы 10 минут.
2 -қадам: Жабдық
Мен- Ардуино
Құбыр ішіндегі судың дыбысын анықтау үшін бізге дыбыс датчигі қажет. Алайда Raspberry Pi 3 -те аналогтық GPIO жоқ. Бұл мәселені шешу үшін біз Arduino қолданамыз, себебі Arduino -да аналогтық GPIO бар. Сонымен біз Grove Sound сенсорын Grove Arduino қалқанына қосамыз және Shield Arduino UNO 3 -ке қосамыз. Содан кейін Arduino мен Raspberry -ді USB кабелі арқылы қосамыз. Grove Sound сенсоры туралы қосымша ақпарат алу үшін сіз оның ақпараттық парағын тексере аласыз. Деректер парағынан сенсордың мәндерін қалай оқу керектігін көруге болады. Код үлгісі аз ғана өзгерістерді қолданады. Төмендегі кодта біз сенсорды A0 қалқанына қосамыз. Сериялық жазу үшін Serial.begin () функциясын қолданамыз. Raspberry -мен байланыс жылдамдығы 115200 -ге орнатылған, егер ол шекті азайту үшін белгілі бір шекті мәннен үлкен болса, Raspberry -ге деректер жіберіледі, қажетті шекті және кешігу мәндерін таңдау үшін көптеген сынақтар жүргізілді. Табалдырық 400 және кешіктіру мәні 10 миллисекунд деп табылды. Қалыпты шуды сүзу және бұлтқа тек маңызды деректердің жіберілуін қамтамасыз ету үшін шекті мән таңдалды, сенсор түтіктің ішіндегі ағынды дыбыстың өзгеруін бірден анықтайтынына сенімді болу үшін кешіктірілді.
II- Raspberry Pi 3 Raspberry-ден Android-ті жүктеу үшін Android Things Console-дан соңғы нұсқаны жүктеуге болады. Бұл жобада біз OIR1.170720.017 нұсқасын қолданамыз. таңқурайға операциялық жүйені орнату үшін Raspberry сайтындағы қадамдарды орындаңыз, Windows үшін сіз осы қадамдарды қолдана аласыз Орнатқаннан кейін Raspberry -ді компьютерге USB арқылы қосуға болады. Содан кейін компьютер консолінде Raspberry IP алу үшін төмендегі пәрменді пайдаланыңыз
nmap -sn 192.168.1.*
IP алғаннан кейін Raspberry -ге төмендегі пәрменді пайдаланып қосылыңыз
adb қосылу
Таңқурайыңызды Wi -Fi желісіне қосу үшін (SSID мен құпия сөзді қосыңыз)
adb am beginervice
-n com.google.wifisetup/. WifiSetupService
-WifiSetupService. Connect
-e ssid *****
-құпия фраза ****
3 -қадам: Google Cloud - тіркеу
Google барлық пайдаланушылар үшін бір жылға ақысыз деңгей ұсынады, бағасы 300 $, Google -ге рахмет:). Google Cloud -та жаңа жоба жасау үшін экрандарды қадағалаңыз
4 -қадам: Google Cloud - Pub/Sub
Google Cloud Pub/Sub-бұл тәуелсіз қосымшалар арасында хабарларды жіберуге және алуға мүмкіндік беретін нақты уақыттағы толық басқарылатын хабар алмасу қызметі.
5 -қадам: Google Cloud - IOT Core
II- IOT CoreA ғаламдық дисперсті құрылғылардағы деректерді оңай және қауіпсіз қосуға, басқаруға және қабылдауға арналған толық басқарылатын қызмет. IOT Core әлі де бета нұсқасы, оған кіру үшін Google негіздемесімен сұрау салу қажет. Біз өтінім бердік, біздің ақталуымыз осы байқау болды. Google мақұлдады, Google -ге тағы да рахмет:). Raspberry сенсорлық деректерді IOT Core -ға жібереді, ол оқуды алдыңғы қадамда жасалған PubSub тақырыбына жібереді
6 -қадам: Google Cloud - бұлтты функциялар
Cloud Functions - бұлтты қызметтерді құруға және қосуға арналған серверсіз орта. Бұл функцияның триггері - 1 -қадамда жасалған PubSup тақырыбы.;; Бұл функция PubSup -та жаңа мән жазылып, оны Cloud DataStore -да «SoundValue» түрімен жазғанда іске қосылады.
7 -қадам: Google Cloud - Cloud DataStore
Google Cloud Datastore - бұл автоматты түрде масштабтауға, жоғары өнімділікке және қосымшаларды әзірлеудің қарапайымдылығына арналған NoSQL құжаттар базасы. Cloud Datastore интерфейсінде дәстүрлі мәліметтер базасы сияқты көптеген мүмкіндіктер бар, ал NoSQL мәліметтер базасы ретінде ол олардан деректер объектілері арасындағы қатынастарды сипаттау әдісімен ерекшеленеді. Бұлтты функциялар DataStore -ге сенсорлық мәндерді жазғаннан кейін, DataStore -ға деректер қосылатындықтан, орнатудың қажеті жоқ
8 -қадам: Google Cloud - BigQuery
Біз үлгіні қалыпты құбырдан 10 мин және бітелген құбырдан 10 мин жинаймыз, айырмашылығы - екі қайталаудың арасында 1 сағат. DataStore деректерін жүктегеннен кейін әр жолға жіктеу қосу үшін айла -шарғы жасаңыз. Енді бізде әр санат үшін 2 csv файл бар. Ең жақсы тәжірибе ретінде CSV файлдарын алдымен бұлт қоймасына жүктеңіз. Төмендегі экранда біз жаңа шелек жасаймыз және 2 CSV файлын жүктейміз, себебі бұл шелек тек талдау үшін пайдаланылады, сондықтан көп аймақтық шелекті таңдаудың қажеті жоқ, содан кейін BigQuery-де жаңа деректер жиынтығы мен жаңа кесте жасаңыз және 2 CSV файлын шелектен жүктеңіз. жаңа үстел
9 -қадам: Google Cloud - Data Studio
Содан кейін біз кейбір мәліметтер алу үшін Data Studio бағдарламасын қолданамыз. Data Studio BigQuery кестесіндегі деректерді оқиды. Графиктерден біз телеметрия саны мен минуттық мәндердің қосындысы бойынша 2 категория арасындағы айырмашылықты көре аламыз. Осы түсініктерге сүйене отырып, біз қарапайым модельді құра аламыз, егер құбыр 3 минут ішінде шу шегінен (400) жоғары телеметрия мәндерінің саны 350 телеметриядан асса, блокталған болып саналады. және қатарынан 3 минут ішінде ұшқын шегінен (720) жоғары телеметрия мәнінің саны 10 телеметриядан асады.
10 -қадам: Болжау кезеңі
Біз оқылым деп есептелмей, түтіктегі шу мен су ағынының жылдамдығын сүзетін 350 -ге орнатылған белгілі бір мәннен (THRESHOLD_VALUE) асқан кезде оқуға сілтеме жасаймыз.
Деректерді талдау көрсеткендей, ашық режимде оқулар саны 100 -ден аз, бірақ бітелу режимінде мәндер әлдеқайда жоғары (минутына 900 -ге дейін), бірақ сирек жағдайларда 100 -ден төмен болды. Алайда, бұл жағдайлар тиісінше қайталанбайды., және нәтижесінде үш минут ішінде оқулардың жалпы саны әрқашан 350 -ден асты. Егер үш минут ішінде ашық режимде 300 -ден аз болса, біз бұл ережені сенімді түрде қоя аламыз: №1 ереже Шикізаттағы үш минут ішінде, егер жалпы көрсеткіштер > 350, содан кейін бітелу анықталады. Біз ашық режимде қол жеткізілетін максималды мән 770 болатын белгілі бір мәннен (SPARK_VALUE) аспайтынын анықтадық, сондықтан біз бұл ережені қостық: № 2 ереже Егер мәні> 350 болса, онда бітелу анықталады.
Екі ережені біріктіру бізге суретте көрсетілгендей анықтау логикасын енгізудің қарапайым әдісін берді. Назар аударыңыз, төмендегі код Arduino -да орналастырылған, ол содан кейін қабылданған телеметрияларды біздің модель негізінде бағалайды және егер құбыр бітелген немесе ашық болса, таңқурайға жібереді.
11 -қадам: код
Arduino, Raspberry & Cloud функциясының барлық кодын Github -тан табуға болады.
Қосымша ақпарат алу үшін мына сілтемені тексере аласыз
Ұсынылған:
Айнымалы токтың сымсыз детекторы: 7 қадам (суреттермен)
Айнымалы токтың сымсыз детекторы: Алдыңғы нұсқаулықты (инфрақызылға жақындық сенсоры) жасау кезінде мен өте әлсіз сигналды күшейту үшін қатарынан 2 транзисторды қолдану туралы бірнеше нәрсені түсіндім. Бұл нұсқаулықта мен & quo деп аталатын осы принципке тоқталамын
Қарапайым Arduino металл детекторы: 8 қадам (суреттермен)
Қарапайым Arduino металл детекторы: *** Жаңа нұсқасы шығарылды, ол одан да қарапайым: https://www.instructables.com/Minimal-Arduino-Metal-Detector/ *** Металды анықтау-бұл өткеннің тамаша уақыты Сіз далада, жаңа жерлерді ашасыз, мүмкін қызықты нәрсе таба аласыз. Сізді тексеру
Әлеуметтік қашықтық детекторы: 7 қадам (суреттермен)
Әлеуметтік қашықтық детекторы: Әлеуметтік қашықтық детекторы: Мен Оуэн О, Денвер Колорадо штатынанмын, мен биыл 7 -сыныпта оқимын. Менің жобам әлеуметтік қашықтық детекторы деп аталады! Қиын уақытта қауіпсіздікті сақтауға арналған тамаша құрылғы. Әлеуметтік қашықтық детекторының мақсаты
COVID-19 маска детекторы: 6 қадам (суреттермен)
COVID-19 маска детекторы: Коронавирус (COVID 19) эпидемиясының әсерінен тек қызметкерлер Makerfabs кеңсе ғимаратының кіруі мен шығуы арқылы өте алады және Makerfabs арнайы бейімделген NFC маскаларын киуі керек, оған бөгде адамдар кіре алмайды. . Бірақ кейбір адамдар
AI Powered Bull **** детекторы: 6 қадам (суреттермен)
AI Powered Bull **** детекторы: бәрімізге қажет бір құрылғы, AI Powered Bull **** детекторы