İçindekiler:
- Adım 1: Gerekli Bileşenler
- 2. Adım: Uzak Aygıt Oluşturma
- 3. Adım: Yazılımlar ve Kitaplıklar
- Adım 4: SSH'yi Kullanma ve Lib'leri Yükleme
- Adım 5: Bluetooth Protokolü
- Adım 6: DragonBoard 410c'de Mezzanine'i Kullanma
- 7. Adım: DragonBoard 410c Yazılımı
Video: Acil Durumları Tespit Etme - Qualcomm Dragonboard 410c: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Acil durumları izlemek için çalışan güvenlik sistemleri ararken, kaydedilen tüm bilgileri işlemenin çok zor olduğunu fark etmek mümkündür. Bunu düşünerek, ses/görüntü işleme, sensörler ve aktüatörler konusundaki bilgimizi, insanların hayatlarının tehlikede olduğu durumları tahmin etmeyi mümkün kılan eksiksiz bir sistem oluşturmak için kullanmaya karar verdik.
Bu proje, veri toplamak ve alınan verilerden önemli bilgileri çıkarabilen işleme gücüne sahip dragonboard'a göndermek için yerel sensör ve uzak cihazlara sahiptir.
Uzak cihaz, tüm bilgileri aktarmayı mümkün kılan HC-06 modülüne ve büyük miktarda veriyi işleyebilen düşük maliyetli geniş bir ağa sahip bir Arduino kartıdır.
Adım 1: Gerekli Bileşenler
Öncelikle hangi sensör ve aktüatörleri kullanacağınıza karar vermeli ve mimari krokisini yapmalısınız.
Bizim durumumuzda, aşağıda listelenen ARDUINO Pro Mini'ye bağlı bu sensörleri kullanıyoruz:
- PIR (Pasif Kızılötesi -- Varlık sensörü)
- DHT 11 (Nem ve sıcaklık sensörü)
- CO Sensörü (Karbon Monoksit Sensörü)
- Gürültü sensörü
Aktüatörler:
- motor servo
- buzzer
İletişim:
Bluetooth Modülü HC-06
Dragonboard 410c'ye tüm veri girişlerini işlemek için bazı sensörler ve yazılımlarımız olacak:
Sensörler:
- DHT 11
- Güneş Işığı Sensörü
Aktüatörler:
- Röle
- Led durumu
- Zil
2. Adım: Uzak Aygıt Oluşturma
Şimdi sıra, aşağıdaki tüm bileşenleri Arduino Board'a bağlayarak, ortamdan (gürültü, nem, sıcaklık vb.) verileri alacak ve HC-06 bluetooth modülü ile Dragonboard'a gönderecek bir cihaz oluşturma zamanı.
Bağlantılara dikkat etmek gerekir, çünkü tüm sensörlerin bağlanacak belirli yerleri vardır.
Sistemde veri toplamak için birden fazla cihaz olması mümkündür. Ortama ne kadar çok cihaz kurarsanız, veri işleme ile oluşturulan teşhisler o kadar doğru olur. Yararlı olabilecek daha geniş bir bilgi yelpazesi çıkarmak mümkün olacağından.
Daha uyumlu sensörlere sahip olduğu için bir arduino kartı kullanmaya karar verdik ve bu uzak cihazları farklı yerlere kurarak daha fazla bilgi toplamak mümkün.
Yerel cihaz, güçlü SnapDragon 410 işlemcinizle ses, video, dijital ve analog bilgileri işleyen DragonBoard 410c'dir.
Bileşenlerin yerleştirilmesi (Uzaktan Aygıt)
Hangi tek parça arduino pro mini kart üzerinde doğru pinlere bağlanması gereken pinlere sahiptir.
Bluetooth modülü HC-06'nın 4 pimi vardır:
- TX (İletici) -> RX Arduino'nun pinine bağlı
- RX (Alıcı) -> TX Arduino'nun pinine bağlı
- VCC -> 5v'ye bağlı
- GND
DHT 11 Sensörün 4 pimi vardır (ancak yalnızca 3 tanesi kullanımdadır):
- Sinyal -> dijital bir pime bağlı
- VCC -> 5v'ye bağlı
- GND
PIR Sensörün 3 pini vardır:
- Sinyal -> dijital bir pime bağlı
- VCC -> 5v'ye bağlı
- GND
Gaz sensörü (MQ) 4 pime sahiptir:
- Digital OUT -> bir dijital pin üzerine bağlanır (dijital bir bilgi istiyorsanız)
- Analog OUT -> bizim durumumuzda, bunu bir analog pin üzerinde bağlı olarak kullanıyoruz
- VCC -> 5v'ye bağlı
- GND
Gürültü sensörü (KY-038) 3 pime sahiptir:
- Sinyal -> bir analog pime bağlı
- VCC -> 5v'ye bağlı
- GND
Arduino uzak Cihazı için kod:
/* * Arduino, Blutooth üzerinden veri gönderir * * Sensörlerin değeri okunur, * String üzerinde birleştirilir ve seri port üzerinden gönderilir. */ #include "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht(DHTPIN, DHTTYPE); yüzer nem, sıcaklık; boole pir = 0; int ortak, mikrofon; String msg = ""; karakter adı[40]; geçersiz kurulum() { Serial.begin(9600); dht.begin(); } boşluk döngüsü() { nem = dht.readHumidity(); sıcaklık = dht.readTemperature(); pir = digitalRead(PIRPIN); co = analogRead(COPIN); mikrofon = analogRead(A0); msj = "#;" +String(nem) + ";" + Dize(sıcaklık) +";"+ Dize(mikrofon) +";"+ Dize(pir)+ ";" + String(co) + ";#" +"\n"; Seri.baskı(mesaj); gecikme(2000); }
Kod açıklaması:
Arduino'da kullanılan tüm pinler kodun başında alıntılanır ve sensörlerin çalışması için gerekli olan ilgili kütüphaneler başlatılır. Tüm veriler, her bir sensörden 2000 milisaniyede bir okunan değerleri alacak olan ilgili değişkenlere iletilecektir, daha sonra hepsi bir Dize'de Birleştirilecek, ardından Seri olarak yazılacaktır. Oradan DragonBoard'da bulunan pyton kodunun bu tür verileri yakalaması çok kolaydır.
3. Adım: Yazılımlar ve Kitaplıklar
Alınan tüm verileri işlemek ve güvenlik sistemini kontrol etmek için Qualcomm DragonBoard 410c'deki bazı yazılımları ve kütüphaneleri kullanmak gerekir.
Bu özel projede kullanıyoruz:
Yazılımlar:
- piton
- Arduino
Platformlar:
- Amazon AWS -> çevrimiçi sunucu
- Phant -> Ana veri hizmeti
Kütüphaneler:
- OpenCV - Video İşleme (https://opencv-python-tutroals.readthedocs.io/en/latest/)
- PyAudio - Ses İşleme (https://people.csail.mit.edu/hubert/pyaudio/)
- Dalga (https://www.physicet.org/physictools/wave-installation.shtm)
- AudioOp (https://docs.python.org9https://scikit-learn.org/stable/install.html/2/library/audioop.html)
- Numpy (https://www.numpy.org)
- SciKit1 - Makine öğrenimini eğitin ve tahmin edin (https://scikit-learn.org/stable/install.html)
- cPickle - Makine öğrenimi parametrelerini kaydedin (https://pymotw.com/2/pickle/)
- MRAA - GPIO'ları kullanın (https://iotdk.intel.com/docs/master/mraa/python/)
- UPM - GPIO'ları kullanın(https://github.com/intel-iot-devkit/upm)
- PySerial - Bluetooth cihazıyla seri iletişim için kullanın (https://pythonhosted.org/pyserial/)
Adım 4: SSH'yi Kullanma ve Lib'leri Yükleme
Öncelikle Dragonboard'dan IP adresini almanız gerekiyor, bunun için fare, klavye ve HDMI monitör ile bağlı DragonBoard'u açmanız gerekiyor. Kart açıldığında, bir ağa bağlanmanız gerekir, ardından terminale gidin ve şu komutu çalıştırın:
sudo ifconfig
bundan sonra IP adresini alabilirsiniz.
IP adresi ile Dragonboard'a SHH üzerinden erişebilirsiniz, bunun için board ile aynı ağa bağlı bir bilgisayarda bir terminal açmanız gerekir. Terminalde şu komutu çalıştırabilirsiniz:
ssh linaro@{IP}
({IP}'yi Dragonboard'da aldığınız IP adresiyle değiştirmelisiniz).
Yüklemeniz gereken ilk lib, mraa lib'dir. Bunu yapmak için terminalde aşağıdaki komutu çalıştırmanız gerekir:
sudo eklenti-apt-deposu ppa:mraa/mraa && sudo apt-ge;t güncelleme && sudo apt-get kurulumu libmraa1 libmraa-dev mraa-tools python-mraa python3-mraa
Python için opencv'yi kurmak için sadece şu komutu çalıştırmanız gerekir:
sudo apt-get install python-opencv
PyAudio'yu kurmak için şu komutu çalıştırmanız gerekir:
sudo apt-get kurulum python-pyaudio python3-pyaudio
WAVE ve AudioOp kitaplıkları zaten panoya kuruludur. Numpy'yi yüklemek için şu komutu çalıştırmanız gerekir:
sudo apt-get kurulum python-numpy python-scipy
Kurmanız gereken son lib scikit'tir, kurmak için pip'in kurulu olması gerekir. Yalnızca şu komutu çalıştırmanız gerekir:
pip kurulum scikit-lear
Adım 5: Bluetooth Protokolü
Bluetooth aracılığıyla Arduino ile DragonBoard Bağlantısı
Bluetooth modülü (HC-06) başlangıçta aşağıdaki örneğe göre Arduino Nano'ya bağlandı:
Linaro (DragonBoard'daki mevcut projede kullanılan İşletim Sistemi) grafik arayüzünü kullanarak, alt çubuğun sağ tarafında Bluetooth sembolüne tıklayın ve ardından "Yeni Cihaz Kur" üzerine tıklayın ve Bluetooth modülünüzü eşleştirerek yapılandırın. Bluetooth sembolüne tekrar tıklayarak modülünüzün gerçekten bağlı olduğunu doğrulayın, "Cihazlar…" üzerine tıklayın ve cihazınızın adının listelenip bağlı olup olmadığına bakın. Şimdi "Bluetooth Devices" ekranında cihazınızı seçin ve üzerine sağ tıklayın ve Bluetooth modülünüzün bağlı olduğu portu not edin (ör.: "rfcomm0"). Not: Veri alışverişini etkinleştirmek için bir sonraki adım için cihazınızın bağlı olduğu bağlantı noktası adı önemli olacaktır.
DragonBoard Veri Değişimi ve Bluetooth'un Kurulması
Temel olarak https://www.uugear.com/portfolio/bluetooth-communi… linkini adım adım takip ediyoruz ancak eşleştirme kısmını sadece python kodlarının ve Arduino'nun yürütülmesini gerçekleştirmedik. Python'da bluetooth'a bağlı portta başlatılan seri kitaplık kullanıldı, bu nedenle python kodu, bluetooth modülü aracılığıyla arduino'ya bağlanan sensörlerin verilerini okudu.
Adım 6: DragonBoard 410c'de Mezzanine'i Kullanma
Dragonboard ve bileşenler arasındaki bağlantıları yapmak için 96boards tarafından geliştirilen Mezannine adlı bir tür kalkan kullanıyoruz.
Bu kalkanı kullanarak çevre birimlerini bağlamak çok daha kolay hale gelir.
Konnektörlerin kullanımı korunun geliştirme kitindendir, bu yüzden sadece her iki yolu birbirine bağlayan özel bir kablo kullanıyor, Tüm parçalar bu web sitesinde kolayca bulunabilir:
Aşağıdaki kitleri kullanıyoruz:
- Koru Rölesi
- Grove Güneş ışığı sensörü
- Grove led soket
- Grove sıcaklık ve humi sensörü
- koru zili
7. Adım: DragonBoard 410c Yazılımı
Programın DragonBoard içindeki kısmı Python ile kodlanmış ve Arduino üzerinde kullanılan program C++ ile geliştirilmiştir. Her 2 dakikada bir Arduino, kendisine bağlı tüm sensörü okur. Arduino daha sonra okumayı Bluetooth ile DragonBoard'a gönderir. DragonBoard, Arduino'dan gelen okuma ile Mezzanine kalkanı tarafından yaptığı okuma ile ses ve video örneklerinden gelen özellikleri birleştirir.
Kurul, bu verilerle acil bir durumun oluşup oluşmadığını tahmin etmeye çalışır. Kurul, Phant'ı kullanarak ham verileri ve yaptığı tahminleri Amazon Web Hizmetine gönderir. Eğer pano garip bir durum olduğunu tahmin ederse, Ara Katta led ve buzzer yanıp sönerek kullanıcıyı uyarmaya çalışır ve web uygulamasında gösterir. Web uygulamasında bu alanda neler olduğunu anlamak için ham verileri görmek de mümkündür.
Önerilen:
Dragonboard 410c Usando IDE Eclipse Para Bir Dragonboard ile Desenvolvendo Uygulamaları Uzaktan Kumanda: 17 Adım
Desenvolvendo Uygulamaları Remotamente Para a Dragonboard 410c Usando IDE Eclipse: O objetivo deste documento é HostPC (Bilgisayar / Dizüstü Bilgisayar) için ortam yapılandırması için gerekli olan en uygun koşullar, HostPC (Bilgisayar / Defter), Alvo (Sürükle
Evde Ultrasonik Tespit ve Mesafe Tespit Cihazı Yapın: 7 Adım (Resimlerle)
Evde Ultrasonik Tespit ve Mesafe Ölçüm Cihazı Yapın: Merhaba! Ben Sourabh Kumar, Alarm verici bir radar yapmaya hevesliydim ama başarısız oldu, tekrar deneyeceğim ama bugün size Evde Ultrasonik Sensör (Alıcı) kullanarak Ultrasonik Algılama ve mesafe cihazı yapma konusunda rehberlik edeceğim. profesyonel
Acil Durum Güç Bankası - DIY Araç Kutusu Solar: Radyo+ Şarj Cihazı+ Acil Durum için Işık!: 4 Adım
Acil Durum Güç Bankası - Kendin Yap Araç Kutusu Solar: Radyo+ Şarj Cihazı+ Acil Durum için Işık!: Ekle 28 Mart 2015: Alet kutumu acil durumlar için yaptım ve şimdi şehrim çamura gömüldüğü için kullanıyorum. Tecrübe olarak telefon şarj etmek ve radyo dinlemek için hizmet ettiğimi söyleyebilirim. Eski bir alet çantası mı? eski bir bilgisayar hoparlörü? kullanılmayan 12 voltluk bir pil mi? Yapabilirsiniz
Arduino Su Seviyesini Ultrasonik Sensör ve Funduino Su Sensörü Kullanarak Tespit Etme Yöntemleri: 4 Adım
Ultrasonik Sensör ve Funduino Su Sensörü Kullanarak Arduino Su Seviyesini Tespit Etme Yöntemleri: Bu projede, size iki yöntemi kullanarak nasıl ucuz bir su dedektörü oluşturacağınızı göstereceğim:1. Ultrasonik sensör (HC-SR04).2. Funduino su sensörü
Epe Kordonunu Test Etme ve Tamir Etme: 9 Adım (Resimlerle)
Bir Epe Bodycord'un Test Edilmesi ve Onarılması: Modern, Olimpik tarzdaki eskrim sporunda, puanlama elektrikle yapılır. Elektrik sinyalinin silahınızdan puanlama makinesine gitmesi için, sinyalin silahınızdaki bir tel aracılığıyla (kılıç hariç) kolunuzdan yukarı ve aşağı hareket etmesi gerekir