İçindekiler:

Hareket Algılama Alarm Sistemi: 11 Adım (Resimli)
Hareket Algılama Alarm Sistemi: 11 Adım (Resimli)

Video: Hareket Algılama Alarm Sistemi: 11 Adım (Resimli)

Video: Hareket Algılama Alarm Sistemi: 11 Adım (Resimli)
Video: RASPBERRY Pİ İLE HAREKET ALGILAMA VE ALARM SİSTEMİ 2024, Kasım
Anonim
Hareket Algılama Alarm Sistemi
Hareket Algılama Alarm Sistemi

Not! Reaktif Bloklar artık indirilemez. Bir odadaki hareketi algılamak için temel bir USB kamera kullanılabilir. Aşağıdaki adımlarda, hareket algılandığında SMS veya E-posta gönderen, çalışmaya hazır bir Java uygulamasını programlamak için Reaktif Blokları nasıl kullanabileceğinizi göstereceğiz. Reative Blocks ile Java SE uygulamaları yaparsınız, böylece alarm uygulaması Java SE ve bir kamera takılı veya entegre edilmiş herhangi bir makineye yerleştirilebilir. Raspbian sürümünde Oracle Java önceden yüklenmiş olduğundan, uygulama Pi üzerinde kolayca dağıtılır..

İhtiyacın olan şey bu:

  1. Raspbian OS ile Raspberry Pi Model B+
  2. Standart USB kamera
  3. Ethernet kablosu
  4. Pi için ekran ve klavye
  5. JDK ile Windows veya MAC bilgisayar
  6. Not! Reaktif Bloklar artık indirilemez. Uygulamayı programlamak için bir Eclipse eklentisi olan Reactive Blocks'a ihtiyacınız olacak.

Bu alarm uygulaması, Reaktif Blokları kurduktan sonra erişilebilen birkaç değiştirilebilir örnek sistemden biridir. Uygulama kutudan çıktığı gibi kullanıma hazır hale getirilmiştir ve öğreticiyi tamamlamak için herhangi bir Java programlama becerisine ihtiyacınız olmayacaktır. Kendi Reaktif Blok uygulamalarınızı ve yapı taşlarınızı yapmak için, yetkin bir Java programcısı olmanız gerekir. Birkaç sensör ve aktüatör ile daha karmaşık uygulamalar oluştururken, Reaktif Bloklar, mantığı ve veri akışını doğru bir şekilde elde etmeyi kolaylaştırır. Reaktif Bloklar, açık kaynaklı projeler için ücretsizdir.

Adım 1: Reaktif Blokları Kurun

Reaktif Bloklar durduruldu

Adım 2: Uygulamayı Kütüphanelerden İndirin

Uygulamayı Kütüphanelerden İndirin
Uygulamayı Kütüphanelerden İndirin

Reaktif Bloklar perspektifini açtığınızdan ve Bloklar görünümünde olduğunuzdan emin olun. Bloklar görünümünden içe aktar düğmesini seçin ve Referans uygulamalar'ı seçin. Hareket Algılama projesini seçin. Bu noktada bir google kimliği ile kaydolmanız istenecektir. Bu, yapı taşları kitaplıklarına ve değiştirilebilir sistemlere ve öğreticilere anında erişmenizi sağlayacaktır.

İndirdiğiniz Hareket Algılama projesi, Alarm Sistemi SMS'i, Alarm Sistemi E-postası ve Hareket algılama Testi adlı bir test uygulaması olmak üzere üç uygulama içerir. Bu eğitimde, Alarm Sistemi SMS'inde size rehberlik ediyoruz. E-posta göndermeyi tercih ederseniz, aynı adımları Alarm Sistemi E-postası ile de yapabilirsiniz.

3. Adım: Uygulama En Üst Düzeyde

Uygulama Üst Düzeyde
Uygulama Üst Düzeyde

Bu adım, uygulamanın bir açıklamasını verir. İlk resim, eksiksiz uygulamanın en üst düzeyde nasıl göründüğünün şemasını göstermektedir. 7 yapı taşından oluşur; Kütüphanelerden 5 adet standart yapı taşı ve bu uygulama için yapılmış 2 adet özel yapım blok.

IoT kitaplığındaki Standart Bloklar şunlardır:

  • Grabber, USB kameradan görüntü alır
  • Hareket algılama, gerçek görüntü algılamayı gerçekleştirir
  • Periyodik Zamanlayıcı, doğru zaman damgalarında başlar ve her periyotta tik pinine bir sinyal gönderir.
  • Buffer Eager, kuyruktaki ilk elemanı otomatik olarak dışarı iter. Arabellek, bir seferde yalnızca bir mesajı işleyebildiğinden, SMS Gönderme bloğuna yalnızca bir mesajın gönderilmesini sağlar.
  • SMS Gönder Arabelleğe Alındı, Twilio servisi aracılığıyla SMS gönderir. Gönderilecek öğeler, bir seferde yalnızca bir mesajın gönderilmesini sağlamak için arabelleğe alınır.
  • Sınırlayıcı, bir davetsiz misafir algılandığında çok fazla SMS'i önlemek için.
  • Java Özellikleri dosyasını oku, giriş dosyasından yapılandırma verilerini okur
  • Görüntüle, ekranda bir görüntü görüntüler.

Periyodik Zamanlayıcı bloğu bir sistem motoru olarak çalışır. Periyodik olarak, tutma pimi aracılığıyla Grabber bloğuna bir sinyal gönderen bir onay işareti yayınlayacaktır. Grabber bloğu, Open Intelligent Multimedia Analysis for Java, OpenIMAJ'ı kullanır. Blok başlatıldığında, kameradan veri okumak için ayrı bir iş parçacığı başlatılır. İş parçacığı bir komut kuyruğunu dinler. Blok, tutma pimi aracılığıyla bir komut aldığında, bir resim çekecek ve onu görüntü pimine iletecektir.

Görüntü daha sonra gerçek görüntü algılamayı gerçekleştiren Hareket Algılama bloğuna iletilir. Hareket algılama bloğu ayrıca OpenIMAJ kullanır. Bu blok içindeki bir yöntem, iki görüntüyü karşılaştırır ve hareket algılandığında görüntüdeki değişiklikleri işaretler. Yöntem çok CPU yoğundur ve ayrı bir iş parçacığında çalıştırılması gerekir. Bir görüntü algılandığında, bir SMS mesajının oluşturulmasını tetikleyecek olan motionDetected pininde sinyal verilir.

Açık mavi kutuların tümü, bu uygulama için özel olarak yapılmış Java yöntemleridir. Bir yöntem bloğuna tıklamak Java düzenleyicisini açar.

Bir yapı taşına tıkladığınızda, bloğun içindeki mantığın ayrıntılarını görebilirsiniz. Örneğin ReadConfig bloğunun içine bakarsanız, mevcut bir yapı taşı ve 4 Java yönteminin birleştirilmesiyle yapıldığını göreceksiniz.

Sınırlayıcı, oluşturulan mesajların miktarına bir sınır koyar. Yapı bloğunun sağ köşesindeki P'ye dikkat edin. Uygulamanın yeni bir SMS göndermeden önce ne kadar beklemesi gerektiğine ilişkin mini aralığı ayarlayabileceğinizi belirtir. Varsayılan ayar 300000ms, yani 5 dakikadır. Değeri değiştirmek için. Bloğu sağ tıklayın ve parametreleri ve jenerikleri seçin.

4. Adım: SMS'i Etkinleştirin

SMS'i etkinleştir
SMS'i etkinleştir

Bu alarm uygulaması Twilio'yu SMS hizmeti olarak kullanır. SMS'i etkinleştirmek için config/alarm-system.properties dosyasını düzenlemelisiniz. Paket gezgini görünümünde br.ref.motiondetection altında bulabilirsiniz, resme bakın.

Bu dosya, Alarm Sistemi E-postasında kullanılan dosyanın aynısıdır. E-posta bildirimlerini tercih ediyorsanız, bu uygulamayı kullanacak ve dosyayı e-posta kimlik bilgilerinizle düzenleyeceksiniz.

Twilio servisiniz yoksa, uygulamayı kendi SMS servisinizi kullanacak şekilde değiştirebilirsiniz. Ayrıca Clickatell hizmeti için kullanıma hazır bir yapı taşımız var. Veya SMS göndermek için bir modem ekleyebilirsiniz.

SMTP e-postası, AirVantage Cloud, IBM Bluemix ve Xively için yapı taşları bulabilirsiniz.

Değişiklik yapmak için önce kendi projenizi yapmanız gerektiğini unutmayın. Ardından uygulamayı yeni oluşturduğunuz projenize kopyalayın/çoğaltın. Bunun nasıl yapıldığını burada görebilirsiniz:

Yardıma ihtiyacınız olursa benimle iletişime geçmekten çekinmeyin

Adım 5: Uygulamayı Dizüstü Bilgisayarınızda Oluşturun ve Çalıştırın

Uygulamayı Dizüstü Bilgisayarınızda Oluşturun ve Çalıştırın
Uygulamayı Dizüstü Bilgisayarınızda Oluşturun ve Çalıştırın

Uygulamayı çalıştırmadan önce derlemeniz ve Raspberry Pi'ye dağıtmanız gerekir. Bu, yapı taşlarının yapısından eksiksiz bir Java projesi oluşturan Reaktif Bloklar kod üreticisi kullanılarak yapılır. Diyagramları temsil eden kod, olayları doğru sırada ve doğru zamanda işleyen senkronizasyon kodudur ve genellikle programınızdaki kod satırlarının %60'ından fazlasını oluşturur. Yapı taşları kesin matematiksel yapılar olduğundan, üretici bu mantığı çok verimli koda dönüştürebilir. Bu çok güzel bir Reactive Blocks özelliği çünkü böyle bir kodu manuel olarak yazmak sıkıcı ve zor. Kodu oluşturmak için yapmanız gereken tek şey bu:

Projeler sekmesi altındaki Alarm Sistemi SMS projesine sağ tıklayın ve Java standart sürümünü seçin. Günlük bilgilerinin INFO olduğundan emin olun. Oluşturulan proje daha sonra Paket Gezgini sekmesi altında otomatik olarak açılacaktır. Ayrıntılar için şekle bakın.

Adım 6: Uygulamayı Bilgisayarınızda Çalıştırın

Uygulamayı Bilgisayarınızda Çalıştırın
Uygulamayı Bilgisayarınızda Çalıştırın
Uygulamayı Bilgisayarınızda Çalıştırın
Uygulamayı Bilgisayarınızda Çalıştırın

Artık oluşturulan projeyi çalıştırabilirsiniz. Oluşturulan _exe projesinin altındaki Paket Gezgini görünümünde, AlarmSystemSMS.launch'a sağ tıklayın ve RunAs'ı seçin ve ardından AlarmSystemSMS'i seçin.

Ekrandaki pencereyi ve Konsol görünümünü izleyin. İkinci resimdeki gibi görünmelidir.

Kamera penceresini kapatarak uygulamayı sonlandırın.

E-posta gönder uygulaması için: Kimlik doğrulama hatası alırsanız, e-postanız için SMTP göndermeye izin verildiğinden emin olun. E-posta öğreticisinin altındaki sorun giderme bölümüne bakın:

7. Adım: Çalıştırılabilir JAR Dosyası Olarak Dışa Aktarın

Çalıştırılabilir JAR Dosyası Olarak Dışa Aktar
Çalıştırılabilir JAR Dosyası Olarak Dışa Aktar

Uygulamayı bir Raspberry Pi üzerinde çalıştırmak istiyorsanız, bir sonraki adım, oluşturulan projeyi çalıştırılabilir bir JAR dosyasına aktarmaktır. Bunu yapmak için, paket gezgini görünümünde yürütülebilir projeye sağ tıklayın ve dışa aktar'ı seçin. Ardından Çalıştırılabilir JAR dosyası seçeneğini seçin ve ileri düğmesine basın. Aşağıdaki pencerede uygun başlatma yapılandırmasını ve dışa aktarma hedefini seçin. Dışa aktarma hedefinde,.jar dosyasını bulabileceğiniz bir yere koyabilmeniz için gözat düğmesini kullanın.

8. Adım: Raspberry Pi'nizi Hazırlayın

  • SD kartı Raspbian ile hazırlayın (NOOBS kullanarak test ettik)
  • SD kartı Raspberry pi'ye takın
  • kamerayı bağlayın
  • Ağı bağlayın
  • Pi'ye bir ekran ve klavye bağlayın
  • Güç kaynağı için mikro USB'yi bağlayarak Raspberry pi'yi başlatın.
  • Raspberry Pi'nizin IP adresini öğrenin. Ahududu Pi'niz başlatıldığında, "IP adresim 10.10. 15.107" gibi bir şey bildirecektir.
  • Varsayılan olarak Java içeren Raspbian (varsayılan oturum açma: pi, parola: ahududu) ile test ettik.

9. Adım: Uygulamayı Raspberry Pi'nize Dağıtın

Çalıştırılabilir jar dosyasını bilgisayarınızdan Rapsberry Pi'ye kopyalamak için şu adımları izleyin:

  • Makinenizde bir terminal açın
  • Oluşturulan JAR dosyasının bulunduğu dizine gidin
  • scp alarmsystem.jar yazın [email protected]:~/
  • Sizden şifre kombinasyonu istenecektir. "pi" varsayılan kullanıcı adıdır ve "ahududu" varsayılan paroladır
  • alarm_system.properties yapılandırma dosyasının bulunduğu dizine gidin. Benim için en kolayı, dosyayı Eclipse düzenleyicisinden jar dosyasıyla aynı dizine manuel olarak kopyalamaktır.
  • scp motiondetection.ini yazın [email protected]:~/

10.10.15.107 IP adresidir, Raspberry Pi'nizin IP adresi ile değiştirin.

- Elbette, onu Pi'ye kopyalamak için bir hafıza çubuğu da kullanabilirsiniz.

Adım 10: Uygulamayı Raspberry Pi'nizde Çalıştırın

Artık uygulamayı çalıştırmaya hazırsınız.

  • Raspberry Pi'ye doğrudan veya uzaktan ssh ile giriş yapın.
  • Yeni bir yapılandırma dizini oluşturun: mkdir config
  • Çalıştırılabilir JAR dosyasının ve.ini'nin Raspberry Pi'ye kopyalanıp kopyalanmadığını kontrol edin
  • .ini dosyasını yapılandırma dizinine taşıyın: mv alarm_system.properties config/
  • sudo java -jar alarmsystem.jar yazın
  • Çıktıyı konsolda izleyin
  • ^C ile sonlandır

Adım 11: Uygulamanızı Değiştirin

Artık uygulamanızı istediğiniz gibi değiştirebilir ve genişletebilirsiniz. Bu alarm sistemi gibi ithal bir sistemi genişletmek istiyorsanız, öncelikle kendi projenizi yapmanız ve alarm sistemini kendi projenize kopyalamanız gerekir.

Değişiklik yapmak için önce kendi projenizi yapmanız gerektiğini unutmayın. Ardından uygulamayı yeni oluşturduğunuz projeye kopyalayın/çoğaltın. Bunun nasıl yapıldığını burada görebilirsiniz:

Belirli Reaktif Blok uygulamalarının nasıl oluşturulacağına veya değiştirileceğine ilişkin adım adım açıklamalar almak için IoT Tuturial yolunu izleyin.

Önerilen: