Talaan ng mga Nilalaman:

Motion Detection Alarm System: 11 Mga Hakbang (na may Mga Larawan)
Motion Detection Alarm System: 11 Mga Hakbang (na may Mga Larawan)

Video: Motion Detection Alarm System: 11 Mga Hakbang (na may Mga Larawan)

Video: Motion Detection Alarm System: 11 Mga Hakbang (na may Mga Larawan)
Video: TWO-EYED CAMERA SURPRISED AFTER UPDATE!!! 2024, Hulyo
Anonim
Sistema ng Alarma sa Pagtuklas ng Paggalaw
Sistema ng Alarma sa Pagtuklas ng Paggalaw

Tandaan! Ang mga reaktibo na bloke ay hindi na magagamit para sa pag-download. Ang isang pangunahing USB camera ay maaaring magamit upang makita ang paggalaw sa isang silid. Sa mga sumusunod na hakbang ipapakita namin sa iyo kung paano mo magagamit ang Mga Reaktibo na Bloke upang mai-program ang isang handa na patakbuhin ang Java application na nagpapadala ng SMS o Email kapag nakita ang paggalaw. Sa Reative Blocks gumawa ka ng mga application ng Java SE kaya ang application ng alarm ay maaaring ma-deploy sa anumang makina na may Java SE at isang camera na nakakabit o isinama. Ang application ay madaling na-deploy sa Pi dahil ang paglabas ng Raspbian ay may paunang naka-install na Oracle Java..

Ito ang kailangan mo:

  1. Raspberry Pi Model B + na may Raspbian OS
  2. Karaniwang USB camera
  3. Ethernet cable
  4. Screen at keyboard para sa Pi
  5. Windows o MAC computer na may JDK
  6. Tandaan! Ang mga reaktibo na bloke ay hindi na magagamit para sa pag-download. Kakailanganin mo ang mga Reactive Blocks, isang plugin ng Eclipse, upang mai-program ang application.

Ang application na ito ng alarma ay isa sa maraming nababago na mga halimbawa ng mga system na naa-access pagkatapos mong mai-install ang Reactive Blocks. Ang application ay handa na upang maubusan ng kahon at hindi mo kailangan ng anumang mga kasanayan sa pagprograma ng Java upang makumpleto ang tutorial. Upang makagawa ng iyong sariling mga aplikasyon ng Reactive Blocks at mga bloke ng gusali, kailangan mong maging isang bihasang programmer ng Java. Kapag nagtatayo ng mas kumplikadong mga application na may maraming mga sensor at actuator, ginagawang madali ng Reactive Blocks na makuha ang tama ang lohika at ang daloy ng data. Ang mga reaktibo na bloke ay libre para sa mga proyektong bukas na mapagkukunan.

Hakbang 1: Mag-install ng Mga Reaktibong Bloke

Ang mga reaktibo na bloke ay hindi na ipinagpatuloy

Hakbang 2: I-download ang Application Mula sa Mga Aklatan

I-download ang Application Mula sa Mga Aklatan
I-download ang Application Mula sa Mga Aklatan

Siguraduhing binuksan mo ang pananaw ng Mga Reaktibo na Bloke at nasa view ka ng Mga Bloke. Mula sa view ng Mga Blocks piliin ang pindutan ng pag-import at piliin ang Mga application ng Sanggunian. Piliin ang proyekto sa Pagtuklas ng Paggalaw. Sa puntong ito hihilingin sa iyo na magparehistro sa isang google ID. Bibigyan ka nito ng agarang pag-access sa mga library ng mga bloke ng gusali at mababago na mga system at tutorial.

Ang proyekto ng Motion Detection na na-download mo ay may kasamang tatlong mga application, ang Alarm System SMS, ang Alarm System Email at isang application ng pagsubok ang Pagtuklas ng paggalaw ng pagsubok. Sa tutorial na ito, gagabayan ka namin sa pamamagitan ng SMS ng Alarm System. Kung mas gusto mong magpadala ng Email maaari mong gawin ang parehong mga hakbang sa Email System ng Alarm

Hakbang 3: Ang Application sa Nangungunang Antas

Ang Aplikasyon sa Nangungunang Antas
Ang Aplikasyon sa Nangungunang Antas

Ang hakbang na ito ay nagbibigay ng isang paliwanag ng application. Ipinapakita ng unang larawan ang diagram kung ano ang hitsura ng kumpletong application sa tuktok na antas. Ito ay binubuo ng 7 mga bloke ng gusali; 5 karaniwang mga bloke ng gusali mula sa mga aklatan at 2 pasadyang mga ginawang bloke na ginawa para sa application na ito.

Ang mga Karaniwang Bloke mula sa IoT library ay:

  • Grabber, kumukuha ng mga imahe mula sa USB camera
  • Pagtuklas ng paggalaw, gumaganap ng aktwal na pagtuklas ng imahe
  • Periodic Timer, nagsisimula sa tumpak na mga selyo ng oras at nagpapadala ng isang senyas sa tick pin bawat panahon.
  • Buffer Eager, awtomatikong itinutulak ang unang elemento sa pila. Ang mga bufferensure na isang mensahe lamang ang ipinadala sa SMS Send block dahil maaari lamang nito maproseso ang isang mensahe nang paisa-isa.
  • SMS Magpadala ng Buffered, nagpapadala ng SMS sa pamamagitan ng serbisyo ng Twilio. Ang mga elementong ipapadala ay buffered upang matiyak na iisa lamang ang mensahe na ipinapadala nang paisa-isa.
  • Limiter, upang maiwasan ang masyadong maraming SMS kapag nakakita ng isang nanghihimasok.
  • Basahin ang Java Properties file, binabasa ang data ng config mula sa input file
  • Tingnan, tinitingnan ang isang imahe sa screen.

Ang Periodic Timer block ay gumagana bilang isang engine ng system. Pana-panahong maglalabas ito ng isang tik na nagpapadala ng isang senyas sa Grabber block sa pamamagitan ng grab pin. Ang Grabber block ay gumagamit ng Open Intelligent Multimedia Analysis para sa Java, OpenIMAJ. Kapag na-initialize ang bloke, nagsisimula ang isang hiwalay na thread upang mabasa ang data mula sa camera. Ang thread ay nakikinig sa isang pila ng utos. Kapag nakatanggap ang block ng isang utos sa pamamagitan ng grab pin ay kukuha ito ng isang larawan at ihahatid ito sa imag e pin.

Pagkatapos ay ipinapasa ang imahe sa block ng Motion Detection na nagsasagawa ng aktwal na pagtuklas ng imahe. Gumagamit din ang block ng Motion detection ng OpenIMAJ. Ang isang pamamaraan sa loob ng bloke na ito ay naghahambing ng dalawang mga imahe at i-flag ang mga pagbabago sa imahe kapag nakita ang paggalaw. Ang pamamaraan ay napaka-intensive CPU at kailangang patakbuhin sa isang hiwalay na thread. Kapag napansin ang isang imahe ay nasenyasan ito sa galaw na Natukoy na pin na magpapalitaw sa pagbuo ng isang mensahe sa SMS.

Ang light blue box ay ang lahat ng mga pamamaraan ng Java na partikular na ginawa para sa application na ito. Ang pag-click sa isang block ng pamamaraan ay magbubukas sa Java editor.

Kapag nag-click ka sa isang bloke ng gusali maaari mong makita ang mga detalye ng lohika sa loob ng bloke. Kung halimbawa kang tumingin sa loob ng ReadConfig block makikita mo ito ay ginawa sa pamamagitan ng pagsasama ng isang mayroon nang mga bloke ng gusali at 4 na mga pamamaraan ng Java.

Ang Limiter ay naglalagay ng isang limitasyon sa dami ng mga nabuong mensahe. Pansinin ang P sa kanang sulok ng gusali ng gusali. Ipinapahiwatig nito na maaari mong itakda ang miniterval ng kung gaano katagal dapat maghintay ang application bago magpadala ng isang bagong SMS. Ang setting ng default ay 300000ms, ibig sabihin 5 minuto. Upang baguhin ang halaga. Mag-right click sa block at pumili ng mga parameter at generics.

Hakbang 4: Paganahin ang SMS

Paganahin ang SMS
Paganahin ang SMS

Ang alarm application na ito ay gumagamit ng Twilio bilang serbisyo sa SMS. Upang paganahin ang SMS dapat mong i-edit ang file config / alarm-system.properties. Mahahanap mo ito sa view ng explorer ng package sa ilalim ng br.ref.motiondetection, tingnan ang larawan.

Ang file na ito ay ang parehong file na ginamit sa Email System ng Alarm. Kung mayroon kang mga notification sa email gagamitin mo ang application na ito at i-e-edit ang file sa iyong mga kredensyal sa email.

Kung wala kang serbisyo na Twilio maaari mong baguhin ang application upang magamit ang iyong sariling serbisyo sa SMS. Mayroon din kaming handa na gamitin na bloke ng gusali para sa serbisyo ng Clickatell. O maaari kang maglakip ng isang modem upang magpadala ng SMS.

Maaari kang makahanap ng mga bloke ng gusali para sa SMTP email, AirVantage Cloud, IBM Bluemix at Xively upang pangalanan ang ilan.

Tandaan na upang makagawa ng mga pagbabago, kailangan mo munang gumawa ng iyong sariling proyekto. Pagkatapos kopyahin / dobleng ang application sa iyong bagong nilikha na proyekto. Maaari mong makita kung paano ito ginagawa dito:

Huwag mag-atubiling makipag-ugnay sa akin kung kailangan mo ng tulong

Hakbang 5: Buuin at Patakbuhin ang Application sa Iyong Laptop

Buuin at Patakbuhin ang Application sa Iyong Laptop
Buuin at Patakbuhin ang Application sa Iyong Laptop

Kailangan mong buuin ang application bago mo ito patakbuhin, at i-deploy ito sa Raspberry Pi. Ginagawa ito gamit ang Reactive Blocks code generator na lumilikha ng isang kumpletong proyekto ng Java mula sa istraktura ng mga bloke ng gusali. Ang code na kumakatawan sa mga diagram ay ang code ng pagsasabay na humahawak ng mga kaganapan sa tamang pagkakasunud-sunod at sa tamang oras, at karaniwang nagbibigay ng higit sa 60% ng mga linya ng code sa iyong programa. Dahil ang mga bloke ng gusali ay tumpak na mga istruktura ng matematika, maaaring ibahin ng generator ang lohika na ito sa napakahusay na code. Napakaganda ng tampok na Mga Reaktibo na Bloke dahil upang maisulat ang naturang code nang manu-mano ay nakakapagod at mahirap. Upang makabuo ng code, ito lang ang kailangan mong gawin:

Mag-right click sa proyekto Alarm System SMS sa ilalim ng tab na Mga Proyekto at Piliin ang pamantayang edisyon ng Java. Tiyaking ang impormasyon sa pag-log ay INFO. Pagkatapos ay awtomatikong magbubukas ang nabuong proyekto sa ilalim ng tab na Explorer. Tingnan ang pigura para sa mga detalye.

Hakbang 6: Patakbuhin ang Application sa Iyong Computer

Patakbuhin ang Application sa Iyong Computer
Patakbuhin ang Application sa Iyong Computer
Patakbuhin ang Application sa Iyong Computer
Patakbuhin ang Application sa Iyong Computer

Ngayon ay maaari mo nang maisagawa ang nabuong proyekto. Sa view ng Package Explorer sa ilalim ng nabuong proyekto ng _exe, i-right click ang AlarmSystemSMS.launch at piliin ang RunAs at pagkatapos ay piliin ang AlarmSystemSMS.

Panoorin ang window sa screen at ang view ng Console. Dapat magmukhang katulad ng pangalawang larawan.

Tapusin ang application sa pamamagitan ng pagsara ng window ng camera.

Para sa application ng send email: Kung nakakuha ka ng error sa pagpapatotoo, tiyaking pinapayagan ang pagpapadala ng SMTP para sa iyong email. Tingnan ang pag-troubleshoot sa ilalim ng tutorial sa email:

Hakbang 7: I-export Bilang Runnable JAR File

I-export Bilang Runnable JAR File
I-export Bilang Runnable JAR File

Kung nais mong patakbuhin ang application sa isang Raspberry Pi, ang susunod na hakbang ay upang i-export ang nabuong proyekto sa isang napapatakbo na JAR file. Upang magawa ito, i-right click ang maipapatupad na proyekto sa view ng explorer ng package at piliin ang i-export. Pagkatapos piliin ang Runnable JAR file na pagpipilian at pindutin ang susunod. Sa sumusunod na window piliin ang tamang pagsasaayos ng paglulunsad at patutunguhan sa pag-export. Sa patutunguhang pag-export, gamitin ang pindutang mag-browse upang mailagay mo ang.jar file sa isang lugar kung saan mo ito mahahanap.

Hakbang 8: Ihanda ang Iyong Raspberry Pi

  • Ihanda ang SD card kasama ang Raspbian (nasubukan namin ang paggamit ng NOOBS)
  • Ipasok ang SD card sa Raspberry pi
  • Ikonekta ang camera
  • Ikonekta ang network
  • Ikonekta ang isang screen at keyboard sa Pi
  • Simulan ang Raspberry pi sa pamamagitan ng pagkonekta sa micro USB para sa power supply.
  • Alamin ang IP address ng iyong Raspberry Pi. Kapag nagsimula na, mag-uulat ang iyong Raspberry Pi ng isang bagay tulad ng "Ang aking IP address ay 10.10. 15.107"
  • Sinubukan namin kasama ang Raspbian (default na pag-login: pi, password: raspberry), na kasama ang Java bilang default.

Hakbang 9: I-deploy ang Application sa Iyong Raspberry Pi

Upang makopya ang natakbo na file ng garapon mula sa iyong computer papunta sa Rapsberry Pi sundin ang mga hakbang na ito:

  • Magbukas ng isang terminal sa iyong machine
  • Pumunta sa direktoryo kung saan matatagpuan ang nabuong JAR file
  • I-type ang scp alarmsystem.jar [email protected]: ~ /
  • Hihilingin sa iyo ang kombinasyon ng password. Ang "pi" ay ang default na pangalan ng gumagamit at "raspberry" ang default na password
  • Pumunta sa direktoryo kung saan matatagpuan ang file ng pagsasaayos alarm_system.properties. Ang pinakamadali para sa akin ay manu-manong kopyahin ang file mula sa Eclipse editor sa parehong direktoryo ng jar file.
  • I-type ang scp motiondetection.ini [email protected]: ~ /

10.10.15.107 ang IP address, palitan ito ng IP address ng iyong Raspberry Pi.

- Maaari mo ring syempre gumamit ng isang memory stick upang kopyahin ito sa Pi

Hakbang 10: Patakbuhin ang Application sa Iyong Raspberry Pi

Handa ka na ngayong patakbuhin ang application.

  • Mag-login sa Raspberry Pi alinman sa direkta o malayuan sa pamamagitan ng ssh.
  • Gumawa ng isang bagong direktoryo ng config: mkdir config
  • Suriin kung ang natakbo na JAR file at.ini ay nakopya sa Raspberry Pi
  • Ilipat ang.ini file sa direktoryo ng config: mv alarm_system.properties config /
  • I-type ang sudo java -jar alarmsystem.jar
  • Panoorin ang output sa console
  • Tapusin sa ^ C

Hakbang 11: Baguhin ang Iyong Application

Maaari mo na ngayong baguhin at palawakin ang iyong aplikasyon ayon sa gusto mo. Kung nais mong pahabain ang isang na-import na system tulad ng alarm system na ito, kailangan mo munang gumawa ng iyong sariling proyekto at doblehin ang alarm system sa iyong sariling proyekto.

Tandaan na upang makagawa ng mga pagbabago, kailangan mo munang gumawa ng iyong sariling proyekto. Pagkatapos kopyahin / dobleng ang application sa iyong bagong nilikha na proyekto. Maaari mong makita kung paano ito ginagawa dito:

Sundin ang IoT Tuturial trail upang makakuha ng mga sunud-sunod na paglalarawan sa kung paano bumuo o magbago ng mga tukoy na application ng Reactive Blocks.

Inirerekumendang: