Мазмуну:
- 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 - Маалымат студиясы
- 10 -кадам: Болжолдоо этапы
- 11 -кадам: Код
Video: Drain Clog Detector: 11 Кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Төгүлүп калган агын суу сизди жайлатпасын! Каникулдан кайтып келгенде, жубайым экөөбүз батирибиздин полун каптаган сууга таң калдык, биз анын таза суу эмес экенин, бардык жерде агынды экенин билдик. Дренажды тазалап, полду тазалагандан кийин менде мындай суроо пайда болду: эмне үчүн бизде мүмкүн болгон дренаждын бүтүшү үчүн сигнализация системасы жок? Төгүлгөн дренаждар сиздин үйүңүздү токтотуп гана койбостон, чөнтөгүңүздөн кошумча чыгымдарды талап кылат, 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 бардык колдонуучулар үчүн 300 $ чеги менен бир жылга бекер деңгээлди сунуштайт, Google'га рахмат:). Google Булуттагы жаңы долбоорду түзүү үчүн экрандарды ээрчиңиз
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 булут кызматтарын куруу жана туташтыруу үчүн серверсиз чөйрө. Бул функция үчүн 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
Биз кадимки түтүктөн 10 мүнөт жана тосулган түтүктөн 10 мүнөт чогултабыз, так 2 кайталоонун ортосунда 1 саат. DataStore маалыматын жүктөп алгандан кийин жана ар бир сапка классификация кошуу үчүн бир аз манипуляция жасаңыз. Азыр бизде ар бир категория үчүн 2 csv файл бар. Эң жакшы тажрыйба катары CSV файлдарын биринчи булут сактагычка жүктөө. Төмөнкү экранда биз жаңы чака түзөбүз жана 2 CSV файлын жүктөйбүз, анткени бул чака анализ үчүн гана колдонулат, көп регионалдык чаканы тандоонун кажети жок Андан кийин BigQueryде жаңы маалымат топтомун жана жаңы таблицаны түзүп, 2 CSV файлын чакадан жүктөп бериңиз жаңы стол
9 -кадам: Google Cloud - Маалымат студиясы
Андан кийин, биз кээ бир түшүнүктөрдү тартуу үчүн 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дан тапса болот.
Көбүрөөк маалымат алуу үчүн бул шилтемени текшере аласыз
Сунушталууда:
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: 7 кадам (Сүрөттөр менен)
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: Мен бул блогумда кызыктуу долбоорлордун топтомунда бул Rapsberry PI колдонууну пландап жатам. Аны текшерүүдөн тартынбаңыз. Мен Raspberry PIди колдонууну каалагам, бирок жаңы жерде клавиатура же чычкан жок болчу. Мен Raspberry орнотконума бир топ убакыт болду
Wink Detector: 6 кадам (Сүрөттөр менен)
Көздү ачуу детектору: a.articles {font-size: 110.0%; шрифт салмагы: коюу; шрифт стили: курсив; текстти жасалгалоо: эч ким; background-color: red;} a.articles: hover {background-color: black;} Бул үйрөткүч AD82 өзгөртүлгөндөн "көзүн ачуучу детекторду" кантип жасоону түшүндүрөт
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: 13 кадам (сүрөттөр менен)
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: Бул компьютерди кантип ажыратуу керектиги жөнүндө көрсөтмө. Негизги компоненттердин көбү модулдук жана оңой эле алынып салынат. Ошентсе да, бул боюнча уюштуруу маанилүү. Бул сизди бөлүктөрдү жоготпоого, ошондой эле кайра чогултууга жардам берет
ESP8266/ESP-01 Arduino Powered Leak Detector: 3 кадам (Сүрөттөр менен)
ESP8266/ESP-01 Arduino Powered Leak Detector: Суу GREAT Stuff туурабы? Ал үйдөн кетүүгө аргасыз болгондо, анын ордуна үйүңүздүн полунун айланасында сүзө баштайт. Мен билем, бул "факттан кийин" долбоору, бирок бул башка бирөөгө потенциалдуу флодон качууга жардам берет деп үмүттөнөм
Flatulant Boss Detector: 9 кадам (Сүрөттөр менен)
Flatulant Boss Detector: Мен чоңойгон сайын, менин кичинекейим кичине болот. Чындыгында азыр менде кубик да жок. Бирок менин кожоюнум билинбей басып, мени кандайдыр бир тапшырманы изилдөө үчүн кармап калчу (WWW - начальникке веб -серфингге окшош) жана ал мага айтат