Სარჩევი:

საგანგებო სიტუაციების გამოვლენა - Qualcomm Dragonboard 410c: 7 ნაბიჯი
საგანგებო სიტუაციების გამოვლენა - Qualcomm Dragonboard 410c: 7 ნაბიჯი

ვიდეო: საგანგებო სიტუაციების გამოვლენა - Qualcomm Dragonboard 410c: 7 ნაბიჯი

ვიდეო: საგანგებო სიტუაციების გამოვლენა - Qualcomm Dragonboard 410c: 7 ნაბიჯი
ვიდეო: საგანგებო სიტუაციების მართვის სამსახურის მყვინთავ-მაშველებს სპეციალური აღჭურვილობა გადაეცათ 2024, ნოემბერი
Anonim
საგანგებო სიტუაციების გამოვლენა - Qualcomm Dragonboard 410c
საგანგებო სიტუაციების გამოვლენა - Qualcomm Dragonboard 410c
საგანგებო სიტუაციების გამოვლენა - Qualcomm Dragonboard 410c
საგანგებო სიტუაციების გამოვლენა - Qualcomm Dragonboard 410c
საგანგებო სიტუაციების გამოვლენა - Qualcomm Dragonboard 410c
საგანგებო სიტუაციების გამოვლენა - Qualcomm Dragonboard 410c

ვეძებთ უსაფრთხოების სისტემებს, რომლებიც მუშაობენ საგანგებო სიტუაციების მონიტორინგზე, შესაძლებელია შეამჩნიოთ, რომ ძალიან ძნელია ყველა ჩაწერილი ინფორმაციის დამუშავება. ამაზე ფიქრისას, ჩვენ გადავწყვიტეთ გამოვიყენოთ ჩვენი ცოდნა აუდიო/გამოსახულების დამუშავებაში, სენსორებსა და გამტარებლებში, რათა შევქმნათ ერთი სრული სისტემა, რომელიც შესაძლებელს გახდის წინასწარ განსაზღვროს სიტუაციები, როდესაც ადამიანების სიცოცხლეს საფრთხე ემუქრება.

ამ პროექტს აქვს ადგილობრივი სენსორი და დისტანციური მოწყობილობები მონაცემების შესაგროვებლად და დრაკონის დაფაზე გასაგზავნად, რომელსაც აქვს გადამამუშავებელი ძალა, რომელსაც შეუძლია მიღებული მონაცემებიდან მნიშვნელოვანი ინფორმაციის ამოღება.

დისტანციური მოწყობილობა არის Arduino დაფა, რომელსაც აქვს მოდული HC-06, რომლის საშუალებითაც შესაძლებელია ყველა ინფორმაციის გადაცემა და დაბალი ღირებულების ფართო ქსელი, რომელსაც შეუძლია დიდი რაოდენობით მონაცემების დამუშავება.

ნაბიჯი 1: საჭირო კომპონენტები

უპირველეს ყოვლისა, თქვენ უნდა გადაწყვიტოთ რომელი სენსორები და აქტივატორები გამოიყენებთ და გააკეთოთ ესკიზის ესკიზი.

ჩვენს შემთხვევაში, ჩვენ ვიყენებთ ARDUINO Pro Mini– ში დაკავშირებულ ამ სენსორებს, რომლებიც ჩამოთვლილია ქვემოთ:

  • PIR (პასიური ინფრაწითელი-ყოფნის სენსორი)
  • DHT 11 (ტენიანობის და ტემპერატურის სენსორი)
  • CO სენსორი (ნახშირბადის მონოქსიდის სენსორი)
  • ხმაურის სენსორი

აქტივატორები:

  • საავტომობილო სერვო
  • ზუზუნი

Კომუნიკაცია:

Bluetooth მოდული HC-06

Dragonboard 410c– სთვის ჩვენ გვექნება სენსორები და პროგრამები ყველა მონაცემის შეყვანის დასამუშავებლად:

სენსორები:

  • DHT 11
  • მზის სენსორი

აქტივატორები:

  • სარელეო
  • ლედ სტატუსი
  • ბუზერი

ნაბიჯი 2: დისტანციური მოწყობილობის დამზადება

დისტანციური მოწყობილობის დამზადება
დისტანციური მოწყობილობის დამზადება

ახლა დროა დააკავშიროთ ყველა შემდეგი კომპონენტი Arduino დაფაზე, შექმნათ მოწყობილობა, რომელიც მიიღებს მონაცემებს გარემოსგან (ხმაური, ტენიანობა, ტემპერატურა და ა.

აუცილებელია ყურადღება მიაქციოთ კონექციებს, რადგან ყველა სენსორს აქვს ადგილები დასაკავშირებლად.

სისტემაში შესაძლებელია მონაცემების შეგროვების ერთზე მეტი მოწყობილობა. რაც უფრო მეტი მოწყობილობა დაინსტალირებული გაქვთ გარემოში, მით უფრო ზუსტი იქნება მონაცემთა დამუშავებით გამოწვეული დიაგნოსტიკა. ვინაიდან შესაძლებელი იქნება ინფორმაციის უფრო ფართო სპექტრის ამოღება, რაც შეიძლება სასარგებლო იყოს.

ჩვენ გადავწყვიტეთ გამოვიყენოთ arduino დაფა, რადგან მას აქვს უფრო თავსებადი სენსორები და შესაძლებელია ამ დისტანციური მოწყობილობების დაყენება სხვადასხვა ადგილას, მეტი ინფორმაციის შეგროვების მიზნით.

ადგილობრივი მოწყობილობა არის DragonBoard 410c, რომელიც ამუშავებს აუდიო, ვიდეო, ციფრულ და ანალოგურ ინფორმაციას თქვენი მძლავრი SnapDragon 410 პროცესორით.

კომპონენტების განთავსება (დისტანციური გაყოფა)

რომელ ერთ ნაწილს აქვს რამდენიმე ქინძისთავები, რომლებიც უნდა იყოს დაკავშირებული arduino pro მინი დაფაზე მარჯვენა ქინძისთავებთან.

Bluetooth მოდულს HC-06 აქვს 4 პინი:

  • TX (გადამცემი) -> დაკავშირებულია RX Arduino– ს პინზე
  • RX (მიმღები) -> დაკავშირებულია TX Arduino– ს პინზე
  • VCC -> დაკავშირებულია 5 ვ -ზე
  • GND

DHT 11 სენსორს აქვს 4 პინი (მაგრამ მხოლოდ 3 გამოიყენება):

  • სიგნალი -> დაკავშირებულია ციფრულ პინზე
  • VCC -> დაკავშირებულია 5 ვ -ზე
  • GND

PIR სენსორს აქვს 3 პინი:

  • სიგნალი -> დაკავშირებულია ციფრულ პინზე
  • VCC -> დაკავშირებულია 5 ვ -ზე
  • GND

გაზის სენსორს (MQ) აქვს 4 პინი:

  • Digital OUT -> ციფრულ პინზე (თუ გსურთ ციფრული ინფორმაცია)
  • ანალოგი OUT -> ჩვენს შემთხვევაში, ჩვენ ვიყენებთ ამას დაკავშირებულ ანალოგიურ პინზე
  • VCC -> დაკავშირებულია 5 ვ -ზე
  • GND

ხმაურის სენსორს (KY-038) აქვს 3 პინი:

  • სიგნალი -> დაკავშირებულია ანალოგიურ პინზე
  • VCC -> დაკავშირებულია 5 ვ -ზე
  • GND

კოდი Arduino დისტანციური მოწყობილობისთვის:

/ * * Arduino აგზავნის მონაცემებს Blutooth– ის საშუალებით * * სენსორების მნიშვნელობა იკითხება, გაერთიანებულია * სიმებიანი და იგზავნება სერიული პორტის საშუალებით. */ #მოიცავს "DHT.h" #განსაზღვრეთ DHTPIN 3 #განსაზღვრეთ DHTTYPE DHT22 #განსაზღვრეთ PIRPIN 9 #განსაზღვრეთ COPIN A6 DHT dht (DHTPIN, DHTTYPE); float ტენიანი, ტემპერატურა; ლოგიკური პირ = 0; int co, მიკროფონი; სიმებიანი msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht. დაწყება (); } void loop () {humidaty = dht.readHumidity (); ტემპერატურა = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); მიკროფონი = analogRead (A0); msg = "#;" + სიმებიანი (ტენიანი) + ";" სიმებიანი (ტემპერატურა)+ ";"+ სიმებიანი (მიკროფონი)+ ";"+ სიმებიანი (პირ)+ ";" + სიმებიანი (co) + ";#" + "\ n"; Serial.print (msg); დაგვიანება (2000); }

კოდის ახსნა:

არდუინოში გამოყენებული ყველა ქინძისთავები მოყვანილია კოდის დასაწყისში და ინიციალიზებულია სენსორების მუშაობისათვის საჭირო შესაბამისი ბიბლიოთეკები. ყველა მონაცემი გადაეცემა შესაბამის ცვლადებს, რომლებიც მიიღებენ თითოეული სენსორიდან წაკითხულ მნიშვნელობებს ყოველ 2000 მილიწამში, შემდეგ ყველა მათგანი გაერთიანებულია სტრიქონში, შემდეგ იწერება სერიულად. იქიდან DragonBoard– ში არსებული პიტონის კოდი ძალიან ადვილია ასეთი მონაცემების გადაღება.

ნაბიჯი 3: პროგრამები და ბიბლიოთეკები

მიღებული მონაცემების დასამუშავებლად და უსაფრთხოების სისტემის გასაკონტროლებლად აუცილებელია გამოიყენოთ რამდენიმე პროგრამული უზრუნველყოფა და ბიბლიოთეკა Qualcomm DragonBoard 410c– ში.

ამ სპეციფიკურ პროექტში ჩვენ ვიყენებთ:

პროგრამები:

  • პითონი
  • არდუინო

პლატფორმები:

  • Amazon AWS -> ონლაინ სერვერი
  • Phant -> მონაცემთა მონაცემების სერვისი

ბიბლიოთეკები:

  • OpenCV-ვიდეო დამუშავება (https://opencv-python-tutroals.readthedocs.io/ka/latest/)
  • PyAudio - აუდიო დამუშავება (https://people.csail.mit.edu/hubert/pyaudio/)
  • ტალღა (https://www.physionet.org/physiotools/wave-installation.shtm)
  • AudioOp (https://docs.python.org9https://scikit-learn.org/stable/install.html/2/library/audioop.html)
  • Numpy (https://www.numpy.org)
  • SciKit1 - ავარჯიშეთ და წინასწარ განსაზღვრეთ მანქანათმცოდნეობა (https://scikit-learn.org/stable/install.html)
  • cPickle - შეინახეთ მანქანათმცოდნეობის პარამეტრები (https://pymotw.com/2/pickle/)
  • MRAA - გამოიყენეთ GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-გამოიყენეთ GPIO (https://github.com/intel-iot-devkit/upm)
  • PySerial - გამოიყენეთ Bluetooth მოწყობილობასთან სერიული კომუნიკაციისთვის (https://pythonhosted.org/pyserial/)

ნაბიჯი 4: SSH– ის გამოყენება და Libs– ის დაყენება

უპირველეს ყოვლისა, თქვენ უნდა მიიღოთ IP მისამართი Dragonboard– დან, ამის გასაკეთებლად თქვენ უნდა ჩართოთ DragonBoard, რომელიც დაკავშირებულია თაგვთან, კლავიატურასთან და HDMI მონიტორთან. როდესაც დაფა ჩართულია, თქვენ უნდა დაუკავშირდეთ ქსელს, შემდეგ გადადით ტერმინალში და გაუშვით ბრძანება:

sudo ifconfig

ამის შემდეგ შეგიძლიათ მიიღოთ IP მისამართი.

IP მისამართის საშუალებით თქვენ შეგიძლიათ შეხვიდეთ Dragonboard– ში SHH– ის საშუალებით, ამისათვის თქვენ გჭირდებათ ტერმინალის გახსნა კომპიუტერში, რომელიც დაკავშირებულია იმავე ქსელში, როგორც დაფა. ტერმინალში შეგიძლიათ გაუშვათ ბრძანება:

ssh linaro@{IP}

(თქვენ უნდა შეცვალოთ {IP} იმ IP მისამართით, რომელსაც მიიღებთ Dragonboard– ში).

პირველი ლიბ რაც თქვენ უნდა დააინსტალიროთ არის mraa lib. ამისათვის თქვენ უნდა შეასრულოთ შემდეგი ბრძანება ტერმინალში:

sudo add-apt-repository ppa: mraa/mraa && sudo apt-ge; t update && sudo apt-get install libmraa1 libmraa-dev mraa-tools python-mraa python3-mraa

პითონისთვის opencv- ს დასაყენებლად საჭიროა მხოლოდ ბრძანების გაშვება:

sudo apt-get დააინსტალირეთ python-opencv

PyAudio– ს დასაყენებლად საჭიროა ბრძანების გაშვება:

sudo apt-get დააინსტალირეთ python-pyaudio python3-pyaudio

Libs WAVE და AudioOp უკვე დამონტაჟებულია დაფაზე. Numpy– ის ინსტალაციისთვის თქვენ უნდა შეასრულოთ ბრძანება:

sudo apt-get დააინსტალირეთ python-numpy python-scipy

ბოლო lib, რომელიც თქვენ უნდა დააინსტალიროთ არის scikit, მისი ინსტალაციისთვის თქვენ უნდა დააინსტალიროთ pip. თქვენ მხოლოდ ბრძანების შესრულება გჭირდებათ:

pip დააინსტალირეთ scikit-lear

ნაბიჯი 5: Bluetooth პროტოკოლი

Bluetooth პროტოკოლი
Bluetooth პროტოკოლი
Bluetooth პროტოკოლი
Bluetooth პროტოკოლი
Bluetooth პროტოკოლი
Bluetooth პროტოკოლი

DragonBoard კავშირი Arduino– სთან Bluetooth– ის საშუალებით

Bluetooth მოდული (HC-06) თავდაპირველად დაუკავშირდა Arduino Nano– ს შემდეგი მაგალითის მიხედვით:

Linaro– ს (ოპერაციული სისტემა გამოიყენება DragonBoard– ის მიმდინარე პროექტში) გრაფიკული ინტერფეისით, ქვედა ბარის მარჯვენა მხარეს დააწკაპუნეთ Bluetooth სიმბოლოზე და შემდეგ დააწკაპუნეთ „ახალი მოწყობილობის დაყენებაზე“და დააკონფიგურირეთ Bluetooth მოდულით და დატოვეთ დაწყვილებული. დარწმუნდით, რომ თქვენი მოდული რეალურად არის დაკავშირებული Bluetooth სიმბოლოზე ხელახლა დაჭერით, დააწკაპუნეთ "მოწყობილობები …" და ნახეთ არის თუ არა თქვენი მოწყობილობის სახელი ჩამოთვლილი და დაკავშირებული. ახლა შეარჩიეთ თქვენი მოწყობილობა "Bluetooth მოწყობილობების" ეკრანზე და დააწკაპუნეთ მასზე მარჯვენა ღილაკით და აღნიშნეთ პორტი, რომელთანაც დაკავშირებულია თქვენი Bluetooth მოდული (მაგ.: "rfcomm0"). შენიშვნა: პორტის სახელი, რომელთანაც დაკავშირებულია თქვენი მოწყობილობა, მნიშვნელოვანი იქნება მომდევნო ეტაპზე მონაცემთა გაცვლის გასააქტიურებლად.

შექმენით DragonBoard მონაცემთა გაცვლა და Bluetooth

ძირითადად ჩვენ მივყვებით ბმულის ეტაპობრივად: https://www.uugear.com/portfolio/bluetooth-communi… მაგრამ ჩვენ არ შევასრულეთ წყვილის ნაწილი მხოლოდ პითონის კოდებისა და არდუინოს შესრულება. პითონში გამოიყენებოდა სერიული ბიბლიოთეკა, რომელიც ინიციალიზებულია bluetooth- თან დაკავშირებულ პორტში, შესაბამისად პითონის კოდი კითხულობს სენსორების მონაცემებს, რომლებიც არდუინოს უკავშირდება bluetooth მოდულის საშუალებით.

ნაბიჯი 6: ანტრესოლის გამოყენება DragonBoard 410c

გამოყენება Mezzanine on DragonBoard 410c
გამოყენება Mezzanine on DragonBoard 410c

დრაკონის დაფასა და კომპონენტებს შორის კავშირის დასამყარებლად, ჩვენ ვიყენებთ ფარის ტიპს, რომელსაც მეზანინი უწოდებს, შემუშავებულია 96 დაფაზე.

ამ ფარის გამოყენებით, პერიფერიული მოწყობილობების დაკავშირება ბევრად უფრო ადვილი ხდება.

კონექტორები იყენებენ გროვის განვითარების ნაკრებიდან, ასე რომ, ის იყენებს სპეციალურ კაბელს, რომელიც აკავშირებს ორივე გზას, ყველა ნაწილი მარტივად შეგიძლიათ ნახოთ ამ ვებგვერდზე:

ჩვენ ვიყენებთ ამ ნაკრებებს ქვემოთ:

  • გროვის სარელეო
  • Grove მზის სენსორი
  • გროვის led სოკეტი
  • გროვის ტემპერატურისა და ჰუმის სენსორი
  • გროვ ბუზერი

ნაბიჯი 7: პროგრამული უზრუნველყოფა DragonBoard 410c

პროგრამის ნაწილი DragonBoard– ში იყო კოდირებული პითონში და Arduino– ზე გამოყენებული პროგრამა შემუშავდა C ++ - ში. ყოველ 2 წუთში Arduino კითხულობს მასზე მიმაგრებულ ყველა სენსორს. ვიდრე არდუინო კითხულობს DragonBoard– ს Bluetooth– ით. DragonBoard აერთიანებს არდუინოს მოსმენილ კითხვას მეზაზინური ფარის მიერ გაკეთებულ კითხვას აუდიოსა და ვიდეო ნიმუშების მახასიათებლებით.

ამ მონაცემებით, საბჭო ცდილობს წინასწარ განსაზღვროს, ხდება თუ არა ეს საგანგებო მდგომარეობა. საბჭო აგზავნის ამაზონის ვებ სერვისს Phant– ის გამოყენებით ნედლეულ მონაცემებს და მის მიერ გაკეთებულ პროგნოზს. თუ დაფა წინასწარმეტყველებს, რომ ეს ხდება უცნაურ სიტუაციაში, ის ცდილობს გააფრთხილოს მომხმარებელი, რომელიც ანათებს led და buzzer ანტრესოლით და აჩვენებს ვებ აპლიკაციას. ვებ აპლიკაციაში ასევე შესაძლებელია ნახოთ უხეში მონაცემები იმის გასაგებად, თუ რა ხდება ამ სფეროში.

გირჩევთ: