Სარჩევი:
- ნაბიჯი 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: კოდი
ვიდეო: სანიაღვრე ბლოკადის დეტექტორი: 11 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
არ დაუშვათ ჩაკეტილი გადინება შეანელოთ! შვებულებიდან რომ დავბრუნდით, მე და ჩემი მეუღლე გაგვიკვირდა, რომ წყალი ფარავდა ჩვენი ბინის იატაკს და აღმოვაჩინეთ, რომ ეს სუფთა წყალი კი არა, ყველგან სანიაღვრეა. სანიაღვრე ნაწილის გაწმენდისა და იატაკის გაწმენდის შემდეგ გამიჩნდა ეს კითხვა: რატომ არ გვაქვს სიგნალიზაციის სისტემა გადინების პოტენციური დაბლოკვისთვის? ჩაკეტილი სანიაღვრეები არა მარტო სახლს შეგიჩერებთ, არამედ ჯიბიდან მოიხმარს დამატებით ხარჯებს, საშუალოდ $ 206 არის დაბლოკილი სანიაღვრე გაწმენდის საფასური HomeAdvisor– ის თანახმად, დაზიანებული ხალიჩების, ხის ავეჯის და სხვა ფარული ხარჯების გარდა. ჩვენი იდეაა, მივცეთ სახლის მესაკუთრეებს, აგრეთვე საწარმოებს, როგორიცაა ქალაქის/ნაერთების ტექნიკური მომსახურების დეპარტამენტები და სპეციალიზებული მომსახურების მიმწოდებლები, ჰქონდეთ ეფექტური და ინტელექტუალური სისტემა, რომელიც გააფრთხილებს ვინც არის პასუხისმგებელი რაც შეიძლება ადრე, მიიღოს ზომები, რაც ხელს უწყობს ჭკვიანი ქალაქების გამდიდრებას მნიშვნელოვანი თვისება.
მიუხედავად იმისა, რომ ბლოკირების გამოვლენა შეიძლება განხორციელდეს რიგი ტექნიკის საშუალებით, მაგალითად, გაზის სენსორების ან შიდა მექანიზმების გამოყენებით, ჩვენი გუნდი ორიენტირებული იყო ხმის გამოყენებაზე, რადგან ჩვენ ვიცით, რომ გახსნილი მილის დაკაკუნება განსხვავდება ხმისგან. დახურვისას. ამ მარტივი კონცეფციის თანახმად, თუ ჩვენ შეგვიძლია მოვარჯულოთ მოდელი ხმის შაბლონები, რომლებიც წარმოიქმნება მილის ზედაპირზე დაბლოკვის დროს, ისევე როგორც ეს შაბლონები ხდება გახსნილ მილებში, მაშინ ჩვენ შეგვიძლია გამოვიყენოთ მოდელი პროაქტიულად გამოსაჩენად, როდესაც ბლოკირების შედგენა იწყება, და ჩვენ შემდეგ დარეკე რაღაც გადასახადები.
კრედიტები ამისთვის
- მუჰამედ ჰასანი
- აჰმედ იმამი
პროექტი დეტალურად 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 () ფუნქციას. ჟოლოსთან კომუნიკაციისთვის 115200 -ზე დაყენებული მაჩვენებელი ჟოლოს გადაეგზავნება, თუ ის გარკვეულ ზღურბლზე მეტია ხმაურის შესამცირებლად. ბევრი ცდა ჩატარდა სასურველი ბარიერის და დაყოვნების მნიშვნელობების ასარჩევად. ბარიერი აღმოჩნდა 400 და გადადების ღირებულება 10 მილიწამი. ბარიერი არჩეულია ნორმალური ხმაურის გასაფილტრად და იმის უზრუნველსაყოფად, რომ ღრუბელში გაიგზავნება მხოლოდ მნიშვნელოვანი მონაცემები. დაგვიანება არჩეულია, რათა დარწმუნდეს, რომ სენსორმა დაუყოვნებლივ აღმოაჩინა მილის შიგნით მიმდინარე ბგერის ნებისმიერი ცვლილება.
II- Raspberry Pi 3 Raspberry– ზე Android ნივთების ჩამოსატვირთად შეგიძლიათ ჩამოტვირთოთ უახლესი ვერსია Android Things Console– დან. ამ პროექტში ჩვენ ვიყენებთ ვერსიას: OIR1.170720.017. მიჰყევით ჟოლოს საიტზე არსებულ ნაბიჯებს ჟოლოზე ოპერაციული სისტემის დასაყენებლად, Windows– ისთვის შეგიძლიათ გამოიყენოთ ეს ნაბიჯები ინსტალაციის შემდეგ შეგიძლიათ დაუკავშიროთ ჟოლო თქვენს კომპიუტერს USB– ის გამოყენებით. შემდეგ კომპიუტერის კონსოლში გამოიყენეთ ქვემოთ მოყვანილი ბრძანება, რომ მიიღოთ ჟოლოს IP
nmap -sn 192.168.1.*
IP- ის მიღების შემდეგ დაუკავშირდით თქვენს ჟოლოს ქვემოთ მოცემული ბრძანების გამოყენებით
adb დაკავშირება
თქვენი ჟოლოს Wifi– ს დასაკავშირებლად (დაამატეთ თქვენი SSID და პაროლი)
adb am startservice
-n com.google.wifisetup/. WifiSetupService
-a WifiSetupService. Connect
-ეს 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- ს კიდევ ერთხელ:). ჟოლო უგზავნის სენსორულ მონაცემებს IOT Core– ს, რომელიც წაუკითხავს წინა ნაბიჯში შექმნილ PubSub თემას
ნაბიჯი 6: Google Cloud - ღრუბლის ფუნქციები
ღრუბლოვანი ფუნქციები არის სერვერის გარეშე გარემო ღრუბლოვანი სერვისების შესაქმნელად და დასაკავშირებლად. ამ ფუნქციის გამომწვევი ფაქტორი არის PubSup თემა, რომელიც შეიქმნა 1. საფეხურზე;;; ეს ფუნქცია ამოქმედდება PubSup– ში ახალი მნიშვნელობის ჩაწერისას და Cloud DataStore– ში ჩაწერისას კეთილი „SoundValue“
ნაბიჯი 7: Google Cloud - Cloud DataStore
Google Cloud Datastore არის NoSQL დოკუმენტების მონაცემთა ბაზა, რომელიც შექმნილია ავტომატური სკალირების, მაღალი ხარისხის და პროგრამის შემუშავების სიმარტივისათვის. მიუხედავად იმისა, რომ Cloud Datastore ინტერფეისს აქვს მრავალი იგივე თვისება, რაც ტრადიციულ მონაცემთა ბაზებს, როგორც NoSQL მონაცემთა ბაზა, იგი განსხვავდება მათგან იმით, თუ როგორ აღწერს ურთიერთობას მონაცემთა ობიექტებს შორის. არ არის საჭირო რაიმე დაყენება, რადგან მას შემდეგ რაც Cloud ფუნქციები ჩაწერს სენსორის მნიშვნელობებს DataStore– ში, მონაცემები დაემატება DataStore– ს
ნაბიჯი 8: Google Cloud - BigQuery
ჩვენ ვაგროვებთ ნიმუშს ნორმალური მილებიდან 10 წუთის განმავლობაში და დაბლოკილი მილებიდან 10 წუთის მანძილზე, განსხვავება ზუსტად 1 საათს 2 გამეორებას შორის. DataStore მონაცემთა გადმოტვირთვის შემდეგ და განახორციელეთ მანიპულირება თითოეული რიგის კლასიფიკაციის დასამატებლად. ახლა ჩვენ გვაქვს 2 csv ფაილი თითო თითოეული კატეგორიისთვის. როგორც საუკეთესო პრაქტიკა, ატვირთეთ მონაცემები CSV ფაილები ჯერ Cloud Storage- ში. ქვემოთ მოყვანილ ეკრანზე ჩვენ ვქმნით ახალ თაიგულს და ვატვირთავთ 2 CSV ფაილს, რადგან ეს თაიგული იქნება გამოყენებული მხოლოდ ანალიზისთვის, არ არის საჭირო მრავალ რეგიონალური კალათის არჩევა, შემდეგ შევქმნათ ახალი მონაცემთა ნაკრები და ახალი ცხრილი BigQuery– ში და ჩავტვირთოთ 2 CSV ფაილი ვედროდან ახალი მაგიდა
ნაბიჯი 9: Google Cloud - მონაცემთა სტუდია
შემდეგ ჩვენ ვიყენებთ მონაცემთა სტუდიას გარკვეული შეხედულებების დასახატად. მონაცემთა სტუდია წაიკითხავს მონაცემებს BigQuery ცხრილიდან. გრაფიკიდან ჩვენ ვხედავთ განსხვავებას 2 კატეგორიას შორის ტელემეტრიის რაოდენობასა და მნიშვნელობების ჯამში წუთში. ამ შეხედულებების საფუძველზე ჩვენ შეგვიძლია შევქმნათ მარტივი მოდელი, მილაკი ჩაკეტილად ითვლება, თუ 3 მომდევნო წუთში, ტელემეტრიის მნიშვნელობების რაოდენობა, რომელიც აღემატება ხმაურის ზღვარს (400), არის 350 -ზე მეტი ტელემეტრია. და 3 ზედიზედ წუთში, ტელემეტრიის ღირებულების რაოდენობა, რომელიც აღემატება ნაპერწკლის ზღურბლს (720), არის 10 -ზე მეტი ტელემეტრია.
ნაბიჯი 10: პროგნოზირების ეტაპი
ჩვენ ვკითხულობთ კითხვას, როდესაც ის აღემატება გარკვეულ მნიშვნელობას (THRESHOLD_VALUE), რომელიც დაყენებულია 350 -ზე, რომელიც ფილტრავს ხმაურს და ამცირებს წყლის ნაკადის სიჩქარეს მილში.
მონაცემთა ანალიზმა აჩვენა, რომ ღია რეჟიმში კითხვის რაოდენობა 100 -ზე ნაკლებია, მაგრამ დაბლოკვის რეჟიმში, მნიშვნელობები გაცილებით მაღალია (წუთში 900 -ს მიაღწია), მაგრამ იშვიათ შემთხვევებში 100 -ზე ნაკლები იყო. თუმცა, ეს შემთხვევები შესაბამისად არ მეორდება და სამი მომდევნო წუთის განმავლობაში, წაკითხვის მთლიანი რაოდენობა ყოველთვის აღემატებოდა 350 -ს. იმავე სამ წუთში ღია რეჟიმი 300 -ზე ნაკლებს შეაჯამებს, ჩვენ შეგვიძლია დარწმუნებით დავაყენოთ ეს წესი: წესი # 1 სამი წუთის განმავლობაში ნედლეულში, თუ მთლიანი კითხვა > 350, შემდეგ აღმოჩნდება clog. ჩვენ აღმოვაჩინეთ, რომ ღია რეჟიმში მიღწეული მაქსიმალური მნიშვნელობა არ აღემატება გარკვეულ მნიშვნელობას (SPARK_VALUE), რომელიც აღმოჩენილია 770, ასე რომ ჩვენ დავამატეთ ეს წესი: წესი # 2 თუ ვკითხულობთ მნიშვნელობას> 350 -ზე, მაშინ უმეტესად აღმოჩნდება დაბლოკვა.
ორივე წესის გაერთიანებამ მოგვცა მარტივი გზა გამოვლენის ლოგიკის განსახორციელებლად, როგორც ნაჩვენებია. გაითვალისწინეთ, რომ Arduino– ზე განთავსებულია ქვემოთ კოდი, რომელიც შემდეგ აფასებს მიღებულ ტელემეტრიას ჩვენი მოდელის მიხედვით და გაგზავნის ჟოლოს, თუ მილი დაბლოკილია ან გახსნილი.
ნაბიჯი 11: კოდი
Arduino, Raspberry & Cloud ფუნქციის ყველა კოდი შეგიძლიათ იხილოთ Github– ზე.
დამატებითი ინფორმაციისთვის შეგიძლიათ შეამოწმოთ ეს ბმული
გირჩევთ:
უკაბელო AC მიმდინარე დეტექტორი: 7 ნაბიჯი (სურათებით)
უკაბელო AC დენის დეტექტორი: ჩემი წინა ინსტრუქციული (მარტივი ინფრაწითელი სიახლოვის სენსორის) მიღებისას მე აღმოვაჩინე რამდენიმე რამ ზედიზედ 2 ტრანზისტორის გამოყენების შესახებ ძალიან სუსტი სიგნალის გასაძლიერებლად. ამ ინსტრუქციებში მე განვმარტავ ამ პრინციპს, რომელსაც ასევე უწოდებენ & quo
მარტივი Arduino ლითონის დეტექტორი: 8 ნაბიჯი (სურათებით)
მარტივი Arduino ლითონის დეტექტორი: *** გამოქვეყნდა ახალი ვერსია, რომელიც კიდევ უფრო მარტივია: https://www.instructables.com/Minimal-Arduino-Metal-Detector/ *** ლითონის გამოვლენა არის დიდი წარსული. თქვენ გარეთ, აღმოაჩინეთ ახალი ადგილები და იქნებ იპოვოთ რაიმე საინტერესო. Შეგამოწმე
ინდივიდუალური სანიაღვრე ტუმბოების მუშაობის სენსორები: 3 ნაბიჯი
საოპერაციო სენსორები ინდივიდუალური შერჩევის ტუმბოებისთვის: მე შევქმენი სისტემა, რომელიც აკონტროლებდა კარგი ოპერაციის შემსწავლელ ტუმბოებს
ნიჟარის სანიაღვრე ჭაღი: 7 ნაბიჯი
ჩაძირვის სანიაღვრე ჭაღი: ამ ნაგვის საგანძურის განსახორციელებლად, მე გადავწყვიტე გამეკეთებინა ტრანსპორტირებადი LED შანდიელი. დამზადებულია რამდენიმე სათადარიგო ნიჟარის დრენაჟისგან და ძველი ჩამოკიდებული მცენარეული ქოთნისგან და ძველი კომპიუტერის სკამის საძირკვლისგან. მე ვხედავ, რომ ამ ჭაღს ვიღებ ბევრ საკემპინგო მოგზაურობაში
IOT კვამლის დეტექტორი: განაახლეთ არსებული კვამლის დეტექტორი IOT– ით: 6 ნაბიჯი (სურათებით)
IOT კვამლის დეტექტორი: განაახლეთ არსებული კვამლის დეტექტორი IOT– ით: ავტორების სია, გამომგონებელი: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng მეთვალყურე: დოქტორი ჩია კიმ სენგი მექანიკური და რობოტული ინჟინერიის განყოფილება, ელექტრო და ელექტრონული ინჟინერიის ფაკულტეტი, Universiti Tun ჰუსეინ ონნი მალაიზია. განაწილება