Obsah:

Alarmový systém detekce pohybu: 11 kroků (s obrázky)
Alarmový systém detekce pohybu: 11 kroků (s obrázky)

Video: Alarmový systém detekce pohybu: 11 kroků (s obrázky)

Video: Alarmový systém detekce pohybu: 11 kroků (s obrázky)
Video: Kamerový systém - detekce pohybu 2024, Listopad
Anonim
Alarmový systém detekce pohybu
Alarmový systém detekce pohybu

Poznámka! Reactive Blocks již není k dispozici ke stažení. K detekci pohybu v místnosti lze použít základní USB kameru. V následujících krocích vám ukážeme, jak můžete pomocí reaktivních bloků naprogramovat připravenou aplikaci Java, která při detekci pohybu odešle SMS nebo e -mail. S Reative Blocks vytváříte aplikace Java SE, takže alarmovou aplikaci lze nasadit na jakýkoli počítač s připojenou nebo integrovanou kamerou Java SE a kamerou. Aplikaci lze snadno nasadit na Pi, protože ve verzi Raspbian je předinstalována Oracle Java..

To je to, co potřebujete:

  1. Raspberry Pi Model B+ s OS Raspbian
  2. Standardní USB kamera
  3. ethernetový kabel
  4. Obrazovka a klávesnice pro Pi
  5. Počítač se systémem Windows nebo MAC s JDK
  6. Poznámka! Reactive Blocks již není k dispozici ke stažení. K programování aplikace budete potřebovat Reactive Blocks, plugin Eclipse.

Tato aplikace alarmu je jedním z několika příkladů modifikovatelných systémů, které jsou přístupné po instalaci reaktivních bloků. Aplikace je připravena k vyběhnutí z krabice a k dokončení výukového programu nebudete potřebovat žádné znalosti programování v jazyce Java. Chcete -li vytvářet vlastní aplikace a stavební bloky Reactive Blocks, musíte být zdatný programátor Java. Při vytváření složitějších aplikací s několika senzory a akčními členy Reactive Blocks usnadňuje správnou logiku a tok dat. Reactive Blocks je zdarma pro open source projekty.

Krok 1: Nainstalujte reaktivní bloky

Reaktivní bloky byly ukončeny

Krok 2: Stáhněte si aplikaci z knihoven

Stáhněte si aplikaci z knihoven
Stáhněte si aplikaci z knihoven

Ujistěte se, že jste otevřeli perspektivu Reaktivní bloky a že jste v zobrazení Bloky. V zobrazení Bloky vyberte tlačítko importu a zvolte Referenční aplikace. Vyberte projekt detekce pohybu. V tomto okamžiku budete požádáni o registraci pomocí Google ID. To vám poskytne okamžitý přístup ke knihovnám stavebních bloků a upravitelným systémům a výukovým programům.

Stažený projekt detekce pohybu obsahuje tři aplikace, SMS poplachového systému, e -mail poplašného systému a testovací aplikaci Test detekce pohybu. V tomto tutoriálu vás provedeme SMS poplachového systému. Pokud raději odesíláte e -maily, můžete stejné kroky provést s e -mailem poplachového systému

Krok 3: Aplikace na nejvyšší úrovni

Aplikace na nejvyšší úrovni
Aplikace na nejvyšší úrovni

Tento krok poskytuje vysvětlení aplikace. První obrázek ukazuje schéma, jak vypadá kompletní aplikace na nejvyšší úrovni. Skládá se ze 7 stavebních bloků; 5 standardních stavebních bloků z knihoven a 2 bloky na míru, které byly vytvořeny pro tuto aplikaci.

Standardní bloky z knihovny IoT jsou:

  • Grabber, pořizuje snímky z USB kamery
  • Detekce pohybu, provádí skutečnou detekci obrazu
  • Periodický časovač, začíná s přesnými časovými razítky a každé období vysílá signál na kolík.
  • Buffer Eager, automaticky vytlačí první prvek ve frontě. Vyrovnávací paměť zajišťuje, že do bloku Odeslat SMS je odeslána pouze jedna zpráva, protože může zpracovávat pouze jednu zprávu najednou.
  • Odesílání SMS do vyrovnávací paměti, odesílá SMS prostřednictvím služby Twilio. Prvky, které mají být odeslány, jsou ukládány do vyrovnávací paměti, aby bylo zajištěno, že bude odeslána vždy pouze jedna zpráva.
  • Omezovač, aby se zabránilo příliš mnoha SMS, když je detekován vetřelec.
  • Přečíst soubor vlastností Java, načíst konfigurační data ze vstupního souboru
  • Zobrazit, zobrazí obrázek na obrazovce.

Blok periodického časovače funguje jako systémový motor. Pravidelně bude vydávat zaškrtnutí, které odešle signál do bloku Grabber prostřednictvím uchopovacího kolíku. Blok Grabber používá Open Intelligent Multimedia Analysis for Java, OpenIMAJ. Když je blok inicializován, spustí se samostatné vlákno pro čtení dat z kamery. Vlákno naslouchá frontě příkazů. Když blok přijme příkaz přes záchytný kolík, pořídí jeden obrázek a doručí jej na kolík obrázku.

Obraz je poté předán do bloku detekce pohybu, který provádí skutečnou detekci obrazu. Blok detekce pohybu také používá OpenIMAJ. Metoda v tomto bloku porovnává dva obrazy a při detekci pohybu označí změny v obrazu. Tato metoda je velmi náročná na CPU a musí být spuštěna v samostatném vlákně. Když je detekován obraz, je signalizován na pinu motionDetected, který spustí generování SMS zprávy.

Světle modré rámečky jsou všechny metody Java speciálně vytvořené pro tuto aplikaci. Kliknutím na blok metod otevřete editor Java.

Když kliknete na stavební blok, uvidíte detaily logiky uvnitř bloku. Pokud se například podíváte dovnitř bloku ReadConfig, uvidíte, že je vytvořen kombinací jednoho stávajícího stavebního bloku a 4 metod Java.

Omezovač omezuje množství generovaných zpráv. Všimněte si P v pravém rohu stavebního bloku. Udává, že můžete nastavit miniterval, jak dlouho musí aplikace čekat, než odešle novou SMS. Výchozí nastavení je 300 000 ms, tj. 5 minut. Chcete -li změnit hodnotu. Klikněte pravým tlačítkem na blok a vyberte parametry a generika.

Krok 4: Povolte SMS

Povolit SMS
Povolit SMS

Tato aplikace alarmu používá Twilio jako službu SMS. Chcete-li povolit SMS, musíte upravit soubor config/alarm-system.properties. Najdete ho v pohledu průzkumníka balíčků pod br.ref.motiondetection, viz obrázek.

Tento soubor je stejný jako soubor použitý v e -mailu systému Alarm. Pokud máte spíše e -mailová oznámení, použijete tuto aplikaci a upravíte soubor pomocí svých e -mailových pověření.

Pokud službu Twilio nemáte, můžete aplikaci upravit tak, aby používala vlastní službu SMS. Máme také připraven použít stavební blok pro službu Clickatell. Nebo můžete k odesílání SMS připojit modem.

Můžete najít stavební bloky pro e -maily SMTP, AirVantage Cloud, IBM Bluemix a Xively, abychom jmenovali alespoň některé.

Pamatujte, že k provedení změn je třeba nejprve vytvořit vlastní projekt. Poté zkopírujte/duplikujte aplikaci do nově vytvořeného projektu. Jak to probíhá se můžete podívat zde:

V případě potřeby mě neváhejte kontaktovat

Krok 5: Vytvořte a spusťte aplikaci na svém notebooku

Sestavte a spusťte aplikaci na svém notebooku
Sestavte a spusťte aplikaci na svém notebooku

Před spuštěním je nutné aplikaci sestavit a nasadit na Raspberry Pi. To se provádí pomocí generátoru kódu Reactive Blocks, který ze struktury stavebních bloků vytvoří kompletní projekt Java. Kód, který představuje diagramy, je synchronizační kód, který zpracovává události ve správném pořadí a ve správný čas a obvykle tvoří více než 60% řádků kódu ve vašem programu. Protože stavební bloky jsou přesné matematické struktury, generátor může tuto logiku transformovat na velmi účinný kód. To je velmi pěkná funkce Reactive Blocks, protože ruční psaní takového kódu je únavné a obtížné. K vygenerování kódu stačí provést toto:

Klepněte pravým tlačítkem myši na projekt Alarm System SMS na kartě Projekty a vyberte Standardní verzi Java. Ujistěte se, že informace o přihlášení jsou INFO. Vygenerovaný projekt se pak automaticky otevře na kartě Průzkumník balíčků. Podrobnosti viz obrázek.

Krok 6: Spusťte aplikaci na počítači

Spusťte aplikaci na počítači
Spusťte aplikaci na počítači
Spusťte aplikaci na počítači
Spusťte aplikaci na počítači

Nyní můžete vygenerovaný projekt spustit. V zobrazení Průzkumník balíčků pod vygenerovaným projektem _exe klikněte pravým tlačítkem na AlarmSystemSMS.launch a vyberte RunAs a pak zvolte AlarmSystemSMS.

Sledujte okno na obrazovce a zobrazení konzoly. Mělo by to vypadat jako druhý obrázek.

Ukončete aplikaci zavřením okna kamery.

Pro aplikaci pro odeslání e -mailu: Pokud se vám zobrazí chyba ověřování, zkontrolujte, zda je pro váš e -mail povoleno odesílání SMTP. Podívejte se na řešení potíží v dolní části e-mailového kurzu:

Krok 7: Exportovat jako spustitelný soubor JAR

Exportovat jako spustitelný soubor JAR
Exportovat jako spustitelný soubor JAR

Pokud chcete spustit aplikaci na Raspberry Pi, dalším krokem je export vygenerovaného projektu do spustitelného souboru JAR. Chcete -li to provést, klepněte pravým tlačítkem na spustitelný projekt v zobrazení Průzkumník balíčků a zvolte export. Poté vyberte možnost Spustit soubor JAR a stiskněte Další. V následujícím okně vyberte správnou konfiguraci spuštění a cíl exportu. V cíli exportu použijte tlačítko Procházet, abyste mohli soubor.jar umístit na místo, kde jej najdete.

Krok 8: Připravte si Raspberry Pi

  • Připravte si SD kartu s Raspbianem (testovali jsme pomocí NOOBS)
  • Vložte kartu SD do Raspberry pi
  • Připojte kameru
  • Připojte síť
  • Připojte k Pi obrazovku a klávesnici
  • Spusťte Raspberry pi připojením micro USB k napájení.
  • Zjistěte IP adresu vašeho Raspberry Pi. Po spuštění bude váš Raspberry Pi hlásit něco jako „Moje IP adresa je 10.10. 15.107“
  • Testovali jsme s Raspbianem (výchozí přihlašovací jméno: pi, heslo: malina), které standardně obsahuje Javu.

Krok 9: Nasazení aplikace na váš Raspberry Pi

Chcete -li zkopírovat spustitelný soubor jar z počítače na Rapsberry Pi, postupujte takto:

  • Otevřete terminál na vašem počítači
  • Přejděte do adresáře, kde se nachází generovaný soubor JAR
  • Zadejte scp alarmsystem.jar [email protected]: ~/
  • Budete požádáni o kombinaci hesla. „pi“je výchozí uživatelské jméno a „malina“výchozí heslo
  • Přejděte do adresáře, kde je umístěn konfigurační soubor alarm_system.properties. Nejjednodušší je ručně zkopírovat soubor z editoru Eclipse do stejného adresáře jako soubor jar.
  • Zadejte scp motiondetection.ini [email protected]: ~/

10.10.15.107 je IP adresa, nahraďte ji IP adresou vašeho Raspberry Pi.

- Ke zkopírování na Pi můžete samozřejmě také použít paměťovou kartu

Krok 10: Spusťte aplikaci na svém Raspberry Pi

Nyní jste připraveni spustit aplikaci.

  • Přihlaste se k Raspberry Pi buď přímo, nebo vzdáleně pomocí ssh.
  • Vytvořte nový konfigurační adresář: mkdir config
  • Zkontrolujte, zda byl spustitelný soubor JAR a.ini zkopírovány do Raspberry Pi
  • Přesuňte soubor.ini do konfiguračního adresáře: mv alarm_system.properties config/
  • Zadejte sudo java -jar alarmsystem.jar
  • Sledujte výstup na konzole
  • Ukončit s ^C

Krok 11: Upravte svou aplikaci

Nyní můžete svou aplikaci libovolně upravovat a rozšiřovat. Pokud chcete rozšířit importovaný systém, jako je tento poplašný systém, musíte nejprve vytvořit vlastní projekt a duplikovat zabezpečovací systém do svého vlastního projektu.

Pamatujte, že k provedení změn je třeba nejprve vytvořit vlastní projekt. Poté zkopírujte/duplikujte aplikaci do nově vytvořeného projektu. Jak to probíhá, se můžete podívat zde:

Postupujte podle pokynů IoT Tuturial a získejte podrobné popisy, jak vytvářet nebo upravovat konkrétní aplikace Reactive Blocks.

Doporučuje: