Mündəricat:
- Addım 1: Tələb olunan komponentlər
- Addım 2: Uzaqdan Cihazın Hazırlanması
- Addım 3: Proqramlar və Kitabxanalar
- Addım 4: SSH -dən istifadə və Liblərin quraşdırılması
- Addım 5: Bluetooth Protokolu
- Addım 6: DragonBoard 410c -də Mezzanine istifadə edin
- Addım 7: DragonBoard 410c Proqramı
Video: Fövqəladə vəziyyətlərin aşkarlanması - Qualcomm Dragonboard 410c: 7 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
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ı
İ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 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
Ə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ə:
Toxunmayan qapı zəngi, bədən istiliyinin aşkarlanması, Arduino istifadə edərək GY-906, 433MHz necə edilir: 3 addım
Toxunmayan Qapı Zəngi, Bədən İstiliyi Algılama, GY-906, 433MHz Arduino istifadə edərək: Bu gün toxunulmaz bir qapı zəngi hazırlayacağıq, bədən istiliyinizi aşkar edəcək. İndiki vəziyyətdə, kiminsə vurduğu zaman, bədən istiliyinin normaldan daha yüksək olub olmadığını bilmək çox vacibdir
Fövqəladə Şarj edilə bilən Flaş: 7 addım
Təcili Şarj Edilə bilən Flaş: Salam! İlk təlimatçılığa xoş gəldiniz … Bu gün sizə xəyalları qorxutmaq üçün kifayət qədər parlaq olan həm də son dərəcə portativ olan çox xüsusi bir fənər gətirdim. Bu məşəli bu ssenarilərdə istifadə edə bilərsiniz, məsələn, ilişib qalmısınız
Təcili Enerji Bankı - DIY Alətlər Qutusu Günəş: Radio+ Şarj Cihazı+ Fövqəladə hallar üçün İşıq !: 4 addım
Təcili Enerji Bankı - DIY Alətlər Qutusu Günəş: Radio+ Şarj Cihazı+ Fövqəladə hallar üçün İşıq !: 28 mart 2015 -ci ili əlavə edin: Fövqəladə hallar üçün alətlər qutumu etdim və şəhərimin palçığa basdırıldığını indi istifadə etdim. Təcrübə olaraq deyə bilərəm ki, telefonları doldurmaq və radio dinləmək üçün xidmət etmişəm. Köhnə bir alət qutusu? köhnə bir kompüter dinamik? istifadə olunmamış 12 voltluq bir batareya?
Yenidən şarj edilə bilən Led Fövqəladə İşığı necə etmək olar: 5 addım
Şarj Edilə bilən Led Fövqəladə İşıq Necə Hazırlanır: Bu təlimatlarda sizə bir neçə köhnə noutbuk batareyasından istifadə edərək yenidən doldurula bilən fövqəladə işığın necə ediləcəyini göstərəcəyəm
Arduino Layihəsi // Simon Söylədi (Fövqəladə Nəticə ilə): 5 Addım
Arduino Layihəsi // Simon Söylədi: Bu layihəni hal -hazırda izlədiyim "Əgər bu o zaman" adlanan kursu keçmək üçün yaratdım