Мазмуну:

Drain Clog Detector: 11 Кадам (Сүрөттөр менен)
Drain Clog Detector: 11 Кадам (Сүрөттөр менен)

Video: Drain Clog Detector: 11 Кадам (Сүрөттөр менен)

Video: Drain Clog Detector: 11 Кадам (Сүрөттөр менен)
Video: Установка маяков под штукатурку. Углы 90 градусов. #12 2024, Ноябрь
Anonim
Image
Image

Төгүлүп калган агын суу сизди жайлатпасын! Каникулдан кайтып келгенде, жубайым экөөбүз батирибиздин полун каптаган сууга таң калдык, биз анын таза суу эмес экенин, бардык жерде агынды экенин билдик. Дренажды тазалап, полду тазалагандан кийин менде мындай суроо пайда болду: эмне үчүн бизде мүмкүн болгон дренаждын бүтүшү үчүн сигнализация системасы жок? Төгүлгөн дренаждар сиздин үйүңүздү токтотуп гана койбостон, чөнтөгүңүздөн кошумча чыгымдарды талап кылат, Homeipedдин айтымында, орточо эсеп менен алганда 206 доллар, тыгылып калган дренажды тазалоого кетет, бузулган килемдердин, жыгач эмеректердин ж.б. Биздин идея - үй ээлерине, ошондой эле шаар/бирикмелерди тейлөө бөлүмдөрү жана адистештирилген тейлөөчүлөр сыяктуу ишканаларга акылдуу шаарларды байытууга салым кошкон, мүмкүн болушунча эртерээк жооптуу адамдарды эскертүүчү эффективдүү жана акылдуу системага ээ болуу. өзгөчөлүк.

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

Кредиттер үчүн

  • Мохамед Хасан
  • Ахмед Эмам

Долбоордун деталдуу түрдө 3 фазасы бул долбоордо ишке ашырылат: маалыматтарды чогултуу, үйрөнүү жана божомолдоо.

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

Жана бул кийинки видеодо системаны жана моделди ачык режимде, андан кийин тыгылып калуу режиминде жана кайра ачык режимге кантип тестирлөөнү көрсөткөнбүз.

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

1 -кадам: Эксперимент

Эксперимент
Эксперимент
Эксперимент
Эксперимент
Эксперимент
Эксперимент
Эксперимент
Эксперимент

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

2 -кадам: Аппараттык

Аппараттык
Аппараттык
Аппараттык
Аппараттык
Аппараттык
Аппараттык

I- Arduino

Түтүктүн ичиндеги суу үнүн аныктоо үчүн бизге үн сенсору керек. Бирок Raspberry Pi 3то аналогдук GPIO жок. Бул маселени чечүү үчүн биз Arduino колдонобуз, анткени Arduino аналогдук GPIOго ээ. Ошентип, биз Grove Sound сенсорун Grove Arduino калканчына туташтырып, Shieldди Arduino UNO 3. менен байланыштырабыз. Андан кийин USB кабелин колдонуу менен Arduino & Raspberry менен туташабыз. Grove Sound сенсору жөнүндө көбүрөөк маалымат алуу үчүн, анын маалымат баракчасын текшере аласыз. Сенсордук баалуулуктарды кантип окуу керектигин маалымат барагынан таба аласыз. Үлгү коду кичине өзгөрүүлөрдү колдонот. Төмөнкү коддо сенсорду A0 менен калканга туташтырабыз. Сериалга жазуу үчүн биз Serial.begin () функциясын колдонобуз. 115200 деп коюлган Raspberry бодунун ылдамдыгы менен байланышуу үчүн, эгер бул ызы -чууну басаңдатуу үчүн белгилүү бир чектен чоң болсо, маалыматтар Raspberryге жөнөтүлөт. Босого 400 жана кечигүү 10 миллисекунд деп табылды. Босого кадимки ызы -чууну чыпкалоо жана булутка бир гана маанилүү маалыматтын жөнөтүлүшүн камсыз кылуу үчүн тандалып алынган. Сенсор түтүктүн ичиндеги агымдын үнүндөгү бардык өзгөрүүлөрдү дароо аныкташын камсыз кылуу үчүн алыстан тандалып алынган.

II- Raspberry Pi 3 Raspberryден андроид нерселерди жүктөө үчүн, Android Things Consoleдон акыркы версиясын жүктөп алсаңыз болот. Бул долбоордо биз версияны колдонобуз: OIR1.170720.017. Малинага операциялык системаны орнотуу үчүн Raspberry сайтындагы кадамдарды аткарыңыз, терезелер үчүн сиз бул кадамдарды колдоно аласыз Орноткондон кийин Raspberryди компьютериңизге USB аркылуу туташтыра аласыз. Андан кийин компьютериңиздин консолунда Raspberry IP алуу үчүн төмөнкү буйрукту колдонуңуз

nmap -sn 192.168.1.*

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

АӨБ туташуу

Малинаңызды Wifiга туташтыруу үчүн (SSID менен сырсөзүңүздү кошуңуз)

adb am beginervice

-n com.google.wifisetup/. WifiSetupService

-WifiSetupService. Connect

-e ssid *****

-е сөз айкашы ****

3 -кадам: Google Cloud - Каттоо

Google Булут - Каттоо
Google Булут - Каттоо
Google Булут - Каттоо
Google Булут - Каттоо
Google Булут - Каттоо
Google Булут - Каттоо
Google Булут - Каттоо
Google Булут - Каттоо

Google бардык колдонуучулар үчүн 300 $ чеги менен бир жылга бекер деңгээлди сунуштайт, Google'га рахмат:). Google Булуттагы жаңы долбоорду түзүү үчүн экрандарды ээрчиңиз

4 -кадам: Google Cloud - Pub/Sub

Google Булут - Pub/Sub
Google Булут - Pub/Sub
Google Булут - Pub/Sub
Google Булут - Pub/Sub
Google Булут - Pub/Sub
Google Булут - Pub/Sub
Google Булут - Pub/Sub
Google Булут - Pub/Sub

Google Cloud Pub/Sub-бул көз карандысыз тиркемелердин ортосунда билдирүүлөрдү жөнөтүүгө жана алууга мүмкүндүк берген, толук башкарылган реалдуу убакытта кабарлашуу кызматы.

5 -кадам: Google Cloud - IOT Core

Google Булут - IOT Core
Google Булут - IOT Core
Google Булут - IOT Core
Google Булут - IOT Core
Google Булут - IOT Core
Google Булут - IOT Core

II- IOT CoreA толугу менен башкарылган кызмат, глобалдык дисперстүү түзмөктөрдөн маалыматты оңой жана коопсуз туташтыруу, башкаруу жана алуу. IOT Core дагы эле бета, ага кирүү үчүн, Googleга негиздеме менен суроо берүү керек. Биз өтүнүч менен кайрылдык, биздин негиздөөбүз бул конкурс болду. Google жактырды, Google үчүн дагы бир жолу рахмат:). Raspberry сенсордук маалыматтарды IOT Coreго жөнөтөт, ал окууларды мурдагы кадамда түзүлгөн PubSub темасына жөнөтөт

6 -кадам: Google Cloud - Булуттун функциялары

Google Булут - Булуттагы Функциялар
Google Булут - Булуттагы Функциялар
Google Булут - Булуттагы Функциялар
Google Булут - Булуттагы Функциялар

Cloud Functions булут кызматтарын куруу жана туташтыруу үчүн серверсиз чөйрө. Бул функция үчүн Trigger 1 -кадамда түзүлгөн PubSup темасы.;; Бул функция PubSup -та жаңы маани жазылып, аны Cloud DataStoreдо Kind "SoundValue" менен жазганда иштетилет.

7 -кадам: Google Cloud - Cloud DataStore

Google Cloud Datastore - бул автоматтык масштабдоо, жогорку өндүрүмдүүлүк жана колдонмону иштеп чыгуунун оңойлугу үчүн курулган NoSQL документ базасы. Cloud Datastore интерфейси салттуу маалымат базалары сыяктуу көптөгөн өзгөчөлүктөргө ээ болсо да, NoSQL маалымат базасы катары алардан маалымат объекттеринин ортосундагы мамилелерди сүрөттөө жолу менен айырмаланат. Булут функциялары DataStoreго сенсордук баалуулуктарды жазгандан кийин, эч кандай орнотуунун кереги жок, маалыматтар DataStoreго кошулат

8 -кадам: Google Cloud - BigQuery

Google Булут - BigQuery
Google Булут - BigQuery
Google Булут - BigQuery
Google Булут - BigQuery
Google Булут - BigQuery
Google Булут - BigQuery
Google Булут - BigQuery
Google Булут - BigQuery

Биз кадимки түтүктөн 10 мүнөт жана тосулган түтүктөн 10 мүнөт чогултабыз, так 2 кайталоонун ортосунда 1 саат. DataStore маалыматын жүктөп алгандан кийин жана ар бир сапка классификация кошуу үчүн бир аз манипуляция жасаңыз. Азыр бизде ар бир категория үчүн 2 csv файл бар. Эң жакшы тажрыйба катары CSV файлдарын биринчи булут сактагычка жүктөө. Төмөнкү экранда биз жаңы чака түзөбүз жана 2 CSV файлын жүктөйбүз, анткени бул чака анализ үчүн гана колдонулат, көп регионалдык чаканы тандоонун кажети жок Андан кийин BigQueryде жаңы маалымат топтомун жана жаңы таблицаны түзүп, 2 CSV файлын чакадан жүктөп бериңиз жаңы стол

9 -кадам: Google Cloud - Маалымат студиясы

Google Булут - Маалымат Студиясы
Google Булут - Маалымат Студиясы
Google Булут - Маалымат Студиясы
Google Булут - Маалымат Студиясы
Google Булут - Маалымат Студиясы
Google Булут - Маалымат Студиясы

Андан кийин, биз кээ бир түшүнүктөрдү тартуу үчүн Data Studio колдонобуз. Data Studio BigQuery таблицасынан маалыматтарды окуйт. Графиктен биз телеметриянын саны боюнча 2 категориянын ортосундагы айырмачылыкты жана мүнөттүк маанилердин суммасын көрө алабыз. Бул түшүнүктөрдүн негизинде биз жөнөкөй моделди иштеп чыга алабыз, эгер труба 3 мүнөттө ызы -чуудан (400) жогору болгон телеметрикалык баалуулуктардын саны 350 телеметриядан ашса, бөгөттөлгөн деп эсептелет. жана 3 ырааттуу мүнөттүн ичинде, учкундук босогодон (720) жогору болгон телеметриянын мааниси 10 телеметриядан ашат.

10 -кадам: Болжолдоо этапы

Болжолдоо этапы
Болжолдоо этапы

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

Маалыматтарды талдоо көрсөткөндөй, ачык режимде окуу саны 100дөн азыраак, бирок тыгында болуу режиминде маанилер алда канча жогору (мүнөтүнө 900гө жетет), бирок сейрек учурларда 100дөн азыраак болгон. Бирок, бул учурлар натыйжада кайталанбайт, жана андан кийинки үч мүнөттүн ичинде окуулардын жалпы саны дайыма 350дөн ашты. Ошол эле үч мүнөттө ачык режимге ээ болуу 300дөн азыраакты түзөт, биз бул эрежени ишенимдүү түрдө кое алабыз: №1 эреже Чийки үч мүнөттө, эгерде жалпы көрсөткүчтөр > 350, анда тыгыны аныкталат. Биз ачык режимде жеткен максималдуу балл 770 деп табылган белгилүү бир мааниден (SPARK_VALUE) ашпасын таптык, ошондуктан биз бул эрежени коштук: Эреже # 2 Эгерде окуу мааниси> 350 болсо, анда тыгыны негизинен аныкталат.

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

11 -кадам: Код

Arduino, Raspberry & Cloud Function үчүн бардык коддорду Githubдан тапса болот.

Көбүрөөк маалымат алуу үчүн бул шилтемени текшере аласыз

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