Mündəricat:

Fövqəladə vəziyyətlərin aşkarlanması - Qualcomm Dragonboard 410c: 7 addım
Fövqəladə vəziyyətlərin aşkarlanması - Qualcomm Dragonboard 410c: 7 addım

Video: Fövqəladə vəziyyətlərin aşkarlanması - Qualcomm Dragonboard 410c: 7 addım

Video: Fövqəladə vəziyyətlərin aşkarlanması - Qualcomm Dragonboard 410c: 7 addım
Video: Gürcüstanda fövqəladə vəziyyət elan olundu 2024, Noyabr
Anonim
Fövqəladə vəziyyətlərin aşkarlanması - Qualcomm Dragonboard 410c
Fövqəladə vəziyyətlərin aşkarlanması - Qualcomm Dragonboard 410c
Fövqəladə vəziyyətlərin aşkarlanması - Qualcomm Dragonboard 410c
Fövqəladə vəziyyətlərin aşkarlanması - Qualcomm Dragonboard 410c
Fövqəladə vəziyyətlərin aşkarlanması - Qualcomm Dragonboard 410c
Fövqəladə vəziyyətlərin aşkarlanması - Qualcomm Dragonboard 410c

Fövqəladə vəziyyətlərin monitorinqi ilə məşğul olan təhlükəsizlik sistemləri axtararkən, qeyd olunan bütün məlumatları emal etmək çox çətindir. Bunu düşünərək, insanların həyatlarının təhlükədə olduğu vəziyyətləri proqnozlaşdırmağa imkan verən vahid bir sistem yaratmaq üçün biliklərimizi səs/görüntü işləmə, sensorlar və aktuatorlarda istifadə etmək qərarına gəldik.

Bu layihə, məlumatları toplamaq və alınan məlumatlardan əhəmiyyətli məlumatları çıxara bilən emal gücünə malik olan əjdaha taxtasına göndərmək üçün yerli sensor və uzaq cihazlara malikdir.

Uzaqdan idarə olunan cihaz, bütün məlumatları ötürmək mümkün olan HC-06 modulu və çoxlu məlumatı emal edə bilən aşağı qiymətə malik geniş bir şəbəkəyə malik bir Arduino lövhəsidir.

Addım 1: Tələb olunan komponentlər

Əvvəlcə hansı sensor və aktuatlardan istifadə edəcəyinizə qərar verməli və arxitektura eskizini hazırlamalısınız.

Bizim vəziyyətimizdə, aşağıda göstərilən ARDUINO Pro Mini -də birləşdirilmiş bu sensorlardan istifadə edirik:

  • PIR (Passiv İnfraqırmızı-Varlıq sensoru)
  • DHT 11 (Rütubət və temperatur sensoru)
  • CO Sensoru (Karbonmonoksit Sensoru)
  • Səs-küy sensoru

Aktuatorlar:

  • motor servo
  • səs siqnalı

Ünsiyyət:

Bluetooth Modulu HC-06

Dragonboard 410c -də, bütün məlumat girişlərini emal etmək üçün bəzi sensorlar və proqramlar olacaq:

Sensorlar:

  • DHT 11
  • Günəş işığı sensoru

Aktuatorlar:

  • Relay https://www.ebay.com/itm/103020005-Görüldü- Texnologiya…
  • Led statusu
  • Buzzer

Addım 2: Uzaqdan Cihazın Hazırlanması

Uzaqdan Cihazın Hazırlanması
Uzaqdan Cihazın Hazırlanması

İndi ətrafdakı məlumatları (səs-küy, rütubət, temperatur və s.) Alacaq və bluetooth modulu HC-06 ilə Dragonboard-a göndərəcək bir cihaz yaradaraq aşağıdakı bütün komponentləri Arduino Board-a bağlamağın vaxtı gəldi.

Bağlantılara diqqət yetirmək lazımdır, çünki bütün sensorların birləşmə yerləri var.

Sistemdə məlumat toplamaq üçün birdən çox cihazın olması mümkündür. Ətrafınıza nə qədər çox cihaz quraşdırsanız, məlumatların işlənməsi nəticəsində yaranan diaqnostika daha dəqiqdir. Faydalı ola biləcək daha geniş məlumat əldə etmək mümkün olacaq.

Daha uyğun sensorlar olduğu üçün bir arduino lövhəsindən istifadə etmək qərarına gəldik və daha çox məlumat toplayaraq bu uzaq cihazları fərqli yerlərə quraşdırmaq mümkündür.

Yerli cihaz, güclü SnapDragon 410 prosessorunuzla səs, video, rəqəmsal və analoq məlumatları işlədən DragonBoard 410c -dir.

Komponentlərin yerləşdirilməsi (Uzaqdan idarə)

Arduino pro mini lövhəsində düzgün pinlərə bağlanmalı olan bir parça var.

Bluetooth modulu HC-06 4 sancağa malikdir:

  • TX (Transmissor) -> RX Arduino pininə qoşuldu
  • RX (Alıcı) -> TX Arduino pininə qoşulur
  • VCC -> 5v -ə qoşulmuşdur
  • GND

DHT 11 Sensorunun 4 sancağı var (ancaq 3 -ü istifadə olunur):

  • Siqnal -> rəqəmsal bir pin üzərində bağlanmışdır
  • VCC -> 5v -ə qoşulur
  • GND

PIR Sensorunun 3 sancağı var:

  • Siqnal -> rəqəmsal pinlə bağlıdır
  • VCC -> 5v -ə qoşulur
  • GND

Qaz sensoru (MQ) 4 sancağa malikdir:

  • Rəqəmsal Çıxış -> rəqəmsal bir pin üzərində qurulmuşdur (rəqəmsal bir məlumat istəyirsinizsə)
  • Analog Çıxış -> bizim vəziyyətimizdə bunu analog pin üzərində bağlı olaraq istifadə edirik
  • VCC -> 5v -ə qoşulur
  • GND

Səs-küy sensoru (KY-038) 3 sancağa malikdir:

  • Siqnal -> analoq pinlə bağlıdır
  • VCC -> 5v -ə qoşulur
  • GND

Arduino uzaqdan cihaz üçün kod:

/ * * Arduino Blutooth vasitəsilə məlumat göndərir * * Sensorların dəyəri oxunur, * String -də birləşdirilir və serial port vasitəsilə göndərilir. */ #include "DHT.h" #define DHTPIN 3 #dehine DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); rütubət, temperatur; boolean pir = 0; int co, mikrofon; String msg = ""; char adı [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); temperatur = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mikrofon = analogOxu (A0); msg = "#;" + Simli (nəmləndirici) + ";" + String (temperatur)+ ";"+ String (mikrofon)+ ";"+ String (pir)+ ";" + String (co) + ";#" + "\ n"; Serial.print (msg); gecikmə (2000); }

Kodun izahı:

Arduinoda istifadə olunan bütün sancaqlar kodun əvvəlində alınır və sensorların işləməsi üçün lazım olan müvafiq kitabxanalar işə salınır. Bütün məlumatlar hər bir milisaniyədən bir hər sensordan oxunan dəyərləri alacaq müvafiq dəyişənlərə ötürüləcək, sonra hamısı bir sətirdə birləşdirilir və sonra Serial olaraq yazılır. Oradan belə məlumatları əldə etmək üçün DragonBoard -da mövcud olan pyton kodunu əldə etmək çox asandır.

Addım 3: Proqramlar və Kitabxanalar

Alınan bütün məlumatları emal etmək və təhlükəsizlik sistemini idarə etmək üçün Qualcomm DragonBoard 410c -də bəzi proqram və kitabxanalardan istifadə etmək lazımdır.

Bu xüsusi layihədə istifadə edirik:

Proqramlar:

  • Python
  • Arduino

Plataformlar:

  • Amazon AWS -> onlayn server
  • Phant -> Host məlumat xidməti

Kitabxanalar:

  • OpenCV-Video İşlənməsi (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - Səs Qenerasiyası (https://people.csail.mit.edu/hubert/pyaudio/)
  • Dalğa (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 - Maşın öyrənməsini öyrədin və proqnozlaşdırın (https://scikit-learn.org/stable/install.html)
  • cPickle - Maşın öyrənmə parametrlərini qeyd edin (https://pymotw.com/2/pickle/)
  • MRAA - GPIO -dan istifadə edin (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-GPIO-dan istifadə edin (https://github.com/intel-iot-devkit/upm)
  • PySerial - Bluetooth cihazı ilə ardıcıl əlaqə qurmaq üçün istifadə edin (https://pythonhosted.org/pyserial/)

Addım 4: SSH -dən istifadə və Liblərin quraşdırılması

Əvvəlcə Dragonboard -dan IP ünvanı almalısınız, bunun üçün siçan, klaviatura və HDMI monitoru ilə əlaqəli DragonBoard -ı açmalısınız. Lövhə açıldıqda, terminala gedib əmri yerinə yetirməkdənsə, bir şəbəkəyə qoşulmaq lazımdır:

sudo ifconfig

bundan sonra IP ünvanını əldə edə bilərsiniz.

IP ünvanı ilə Dragonboard -a SHH vasitəsilə daxil ola bilərsiniz, bunun üçün lövhə ilə eyni şəbəkəyə qoşulmuş bir kompüterdə bir terminal açmalısınız. Terminalda əmri işlədə bilərsiniz:

ssh linaro@{IP}

(Əjdaha lövhəsində əldə etdiyiniz IP ünvanı ilə {IP} əvəz etməlisiniz).

Quraşdırmanız lazım olan ilk lib mraa libdir. Bunu etmək üçün terminalda aşağıdakı əmri yerinə yetirməlisiniz:

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

Python üçün opencv qurmaq üçün yalnız əmri yerinə yetirməlisiniz:

sudo apt-get install python-opencv

PyAudio qurmaq üçün aşağıdakı əmri yerinə yetirməlisiniz:

sudo apt-get python-pyaudio python3-pyaudio qurun

WAVE və AudioOp libs lövhədə artıq quraşdırılıb. Numpy qurmaq üçün aşağıdakı əmri yerinə yetirməlisiniz:

sudo apt-get python-numpy python-scipy quraşdırın

Yükləməli olduğunuz son lib skikitdir, onu quraşdırmaq üçün pip quraşdırmalısınız. Yalnız bu əmri yerinə yetirməlisiniz:

pip scikit-lear quraşdırın

Addım 5: Bluetooth Protokolu

Bluetooth Protokolu
Bluetooth Protokolu
Bluetooth Protokolu
Bluetooth Protokolu
Bluetooth Protokolu
Bluetooth Protokolu

Bluetooth vasitəsilə Arduino ilə DragonBoard Bağlantısı

Bluetooth modulu (HC-06) əvvəlcə aşağıdakı nümunəyə uyğun olaraq Arduino Nano'ya qoşuldu:

Linaro (Əməliyyat Sistemi DragonBoard -dakı mövcud layihədə istifadə olunur) qrafik interfeysindən istifadə edərək, alt çubuğun sağ tərəfində Bluetooth simvolunu vurun və sonra "Yeni Cihaz Qur" düyməsini basın və Bluetooth modulunuzu qoşularaq tərk edin. Bluetooth simvolunu yenidən tıklayaraq modulunuzun həqiqətən bağlı olduğunu yoxlayın, "Cihazlar …" düyməsini basın və cihazınızın adının siyahıda olub olmadığını yoxlayın. İndi "Bluetooth Cihazları" ekranında cihazınızı seçin və üzərinə sağ vurun və Bluetooth modulunuzun bağlı olduğu portu qeyd edin (məsələn: "rfcomm0"). Qeyd: Cihazınızın bağlı olduğu liman adı, məlumat mübadiləsini təmin etmək üçün növbəti addım üçün əhəmiyyətli olacaq.

DragonBoard Məlumat Mübadiləsi və Bluetooth qurulması

Əsasən linki addım-addım izləyirik: https://www.uugear.com/portfolio/bluetooth-communi… ancaq cütləşmə hissəsini yalnız python kodlarının və Arduinonun icrasını yerinə yetirmədik. Python -da bluetooth -a qoşulan portda başlanğıc verilən kitabxana istifadə edildi, buna görə də python kodu bluetooth modulu vasitəsilə arduino -ya qoşulan sensorlar məlumatlarını oxudu.

Addım 6: DragonBoard 410c -də Mezzanine istifadə edin

DragonBoard 410c -də Mezzanine istifadə etmək
DragonBoard 410c -də Mezzanine istifadə etmək

Əjdaha taxtası və komponentlər arasında əlaqələr qurmaq üçün 96boards tərəfindən hazırlanmış Mezannine adlı bir qalxan istifadə edirik.

Bu qalxandan istifadə edərək ətraf qurğuları birləşdirmək daha da asanlaşır.

Bağlayıcıların istifadəsi Grove inkişaf dəstindəndir, buna görə hər iki yolu birləşdirən xüsusi bir kabel istifadə edir.

Bütün hissələri bu veb saytında asanlıqla tapa bilərsiniz:

Aşağıdakı dəstləri istifadə edirik:

  • Grove Relay
  • Grove Günəş işığı sensoru
  • Grove led priz
  • Grove temperatur və humi sensoru
  • Grove Buzzer

Addım 7: DragonBoard 410c Proqramı

Proqramın DragonBoarddakı hissəsi Pythonda kodlandı və Arduino -da istifadə olunan proqram C ++ da inkişaf etdirildi. Arduino hər 2 dəqiqədən bir ona bağlı olan bütün sensoru oxuyur. Arduinodan daha çox oxunuşu Bluetooth vasitəsilə DragonBoard -a göndərin. DragonBoard, Arduinodan gələn oxunuşu, Mezzanine qalxanının səs və video nümunələrindəki xüsusiyyətləri ilə oxuduğunu birləşdirir.

Bu məlumatlar ilə İdarə Heyəti fövqəladə bir vəziyyətin baş verəcəyini təxmin etməyə çalışır. İdarə Heyəti, Phant istifadə edərək Amazon Web Service -ə xam məlumatları və etdiyi proqnozu göndərir. İdarə heyəti qəribə bir vəziyyətin baş verəcəyini proqnozlaşdırırsa, istifadəçini Mezzanine -də bir LED və səs siqnalı yanıb -sönən və veb tətbiqetmədə göstərdiyi istifadəçiyə xəbərdarlıq etməyə çalışır. Veb tətbiqetməsində, bu sahədə nələrin baş verdiyini anlamaq üçün xam məlumatları da görmək mümkündür.

Tövsiyə: