Turinys:

Judesio aptikimo signalizacijos sistema: 11 žingsnių (su nuotraukomis)
Judesio aptikimo signalizacijos sistema: 11 žingsnių (su nuotraukomis)

Video: Judesio aptikimo signalizacijos sistema: 11 žingsnių (su nuotraukomis)

Video: Judesio aptikimo signalizacijos sistema: 11 žingsnių (su nuotraukomis)
Video: 🟡 POCO X5 PRO – IŠSAMUSIAUSIA APŽVALGA ir TESTAI 2024, Lapkritis
Anonim
Judėjimo aptikimo signalizacijos sistema
Judėjimo aptikimo signalizacijos sistema

Pastaba! Reaktyvių blokų nebegalima atsisiųsti. Pagrindinė USB kamera gali būti naudojama judesiui kambaryje aptikti. Tolesniuose veiksmuose parodysime, kaip galite naudoti reaktyvius blokus, kad užprogramuotumėte paruoštą veikti „Java“programą, kuri siunčia SMS arba el. Laišką, kai aptinkamas judesys. Naudodami „Reative Blocks“kuriate „Java SE“programas, kad pavojaus signalą būtų galima įdiegti bet kuriame kompiuteryje su „Java SE“ir prijungta arba integruota kamera. Programa lengvai diegiama „Pi“, nes „Raspbian“leidime iš anksto įdiegta „Oracle Java“..

Štai ko jums reikia:

  1. „Raspberry Pi Model B+“su „Raspbian“OS
  2. Standartinė USB kamera
  3. Ethernet kabelis
  4. „Pi“ekranas ir klaviatūra
  5. „Windows“arba MAC kompiuteris su JDK
  6. Pastaba! Reaktyvių blokų nebegalima atsisiųsti. Norėdami užprogramuoti programą, jums reikės „React Blocks“, „Eclipse“papildinio.

Ši pavojaus programa yra viena iš kelių modifikuojamų pavyzdinių sistemų, prieinamų įdiegus reaktyvius blokus. Programa paruošta paleisti ir jums nereikės jokių „Java“programavimo įgūdžių, kad užbaigtumėte pamoką. Norėdami sukurti „Reactive Blocks“programas ir kurti blokus, turite būti patyręs „Java“programuotojas. Kurdami sudėtingesnes programas su keliais jutikliais ir pavaromis, „Reactive Blocks“leidžia lengvai suprasti logiką ir duomenų srautą. „Reactive Blocks“yra nemokama atviro kodo projektams.

1 veiksmas: įdiekite reaktyvius blokus

Reaktyvių blokų gamyba nutraukta

2 veiksmas: atsisiųskite programą iš bibliotekų

Atsisiųskite programą iš bibliotekų
Atsisiųskite programą iš bibliotekų

Įsitikinkite, kad atidarėte reaktyviųjų blokų perspektyvą ir esate blokų rodinyje. Blokų rodinyje pasirinkite importavimo mygtuką ir pasirinkite Nuorodos programos. Pasirinkite judesio aptikimo projektą. Šiuo metu jūsų bus paprašyta užsiregistruoti naudojant „Google“ID. Tai suteiks jums tiesioginę prieigą prie statybinių blokų bibliotekų ir keičiamų sistemų bei vadovėlių.

Atsisiunčiamas judesio aptikimo projektas apima tris programas: signalizacijos sistemos SMS, signalizacijos sistemos el. Paštą ir bandomąją programą - bandymo judesio aptikimas. Šioje pamokoje mes jums pasakysime apie signalizacijos sistemos SMS. Jei verčiau siunčiate el. Laišką, tuos pačius veiksmus galite atlikti naudodami aliarmo sistemos el

3 žingsnis: aukščiausio lygio programa

Paraiška aukščiausiu lygiu
Paraiška aukščiausiu lygiu

Šiame žingsnyje pateikiamas programos paaiškinimas. Pirmajame paveikslėlyje parodyta schema, kaip visa programa atrodo aukščiausiame lygyje. Jį sudaro 7 statybiniai blokai; 5 standartiniai statybiniai blokai iš bibliotekų ir 2 pagal užsakymą pagaminti blokai, sukurti šiai programai.

Standartiniai blokai iš daiktų interneto bibliotekos yra šie:

  • Griebėjas, paima vaizdus iš USB kameros
  • Judesio aptikimas, atlieka tikro vaizdo aptikimą
  • Periodinis laikmatis, prasideda nuo tikslių laiko žymų ir kiekvieną laikotarpį siunčia signalą ant varnelės.
  • „Buffer Eager“automatiškai išstumia pirmąjį eilės elementą. Buferis užtikrina, kad į SMS siuntimo bloką būtų siunčiamas tik vienas pranešimas, nes jis vienu metu gali apdoroti tik vieną pranešimą.
  • SMS siuntimas buferiniu būdu, siunčia SMS per „Twilio“paslaugą. Siunčiami elementai yra buferiniai, kad vienu metu būtų siunčiamas tik vienas pranešimas.
  • Limiter, kad išvengtumėte per daug SMS, kai aptinkamas įsibrovėlis.
  • Skaityti „Java“ypatybių failą, nuskaityti konfigūracijos duomenis iš įvesties failo
  • View, peržiūri vaizdą ekrane.

Periodinio laikmačio blokas veikia kaip sistemos variklis. Jis periodiškai išduos varnelę, kuri siunčia signalą į „Grabber“bloką per griebtuvą. „Grabber“bloke naudojama „Open Intelligent Multimedia Analysis for Java“, „OpenIMAJ“. Kai blokas inicijuojamas, pradedama atskira gija, skirta duomenims iš fotoaparato skaityti. Siūlas klausosi komandų eilės. Kai blokas gauna komandą per patraukimo kaištį, jis nufotografuos vieną nuotrauką ir pateiks ją į vaizdinį kaištį.

Tada vaizdas perduodamas į judesio aptikimo bloką, kuris atlieka faktinį vaizdo aptikimą. Judesio aptikimo blokas taip pat naudoja „OpenIMAJ“. Šio bloko metodas lygina du vaizdus ir pažymi vaizdo pokyčius, kai aptinkamas judesys. Metodas reikalauja daug procesoriaus ir turi būti vykdomas atskiroje temoje. Aptikus vaizdą, jis signalizuojamas ant judesio aptikto kaiščio, kuris sukurs SMS žinutę.

Šviesiai mėlynos dėžės yra visi „Java“metodai, specialiai sukurti šiai programai. Spustelėjus metodo bloką, atidaromas „Java“redaktorius.

Spustelėję statybinį bloką, galite pamatyti bloko viduje esančios logikos detales. Jei, pavyzdžiui, pažvelgsite į „ReadConfig“bloką, pamatysite, kad jis sukurtas derinant vieną esamą bloką ir 4 „Java“metodus.

Ribotojas riboja generuojamų pranešimų kiekį. Atkreipkite dėmesį į P dešiniajame statybinio bloko kampe. Tai rodo, kad galite nustatyti, kiek laiko programa turi palaukti, kol ji išsiųs naują SMS. Numatytasis nustatymas yra 300 000 ms, ty 5 minutės. Norėdami pakeisti vertę. Dešiniuoju pelės mygtuku spustelėkite bloką ir pasirinkite parametrus bei bendrinius.

4 veiksmas: įjunkite SMS

Įgalinti SMS
Įgalinti SMS

Ši signalizacijos programa naudoja „Twilio“kaip SMS paslaugą. Norėdami įjungti SMS, turite redaguoti failą config/alarm-system.properties. Jį galite rasti paketų naršyklės rodinyje, esančiame br.ref.motiondetection, žr. Paveikslėlį.

Šis failas yra tas pats, kuris naudojamas aliarmo sistemos el. Jei norite gauti el. Pašto pranešimus, naudosite šią programą ir redaguosite failą naudodami el. Pašto kredencialus.

Jei neturite „Twilio“paslaugos, galite pakeisti programą, kad galėtumėte naudoti savo SMS paslaugą. Taip pat turime paruoštą naudoti „Clickatell“paslaugos bloką. Arba galite prijungti modemą SMS siuntimui.

Galite rasti SMTP el. Pašto, „AirVantage Cloud“, „IBM Bluemix“ir „Xively“elementų.

Atminkite, kad norėdami atlikti pakeitimus, pirmiausia turite sukurti savo projektą. Tada nukopijuokite/nukopijuokite programą į naujai sukurtą projektą. Kaip tai padaryti, galite pamatyti čia:

Nedvejodami susisiekite su manimi, jei jums reikia pagalbos

5 veiksmas: sukurkite ir paleiskite programą savo nešiojamajame kompiuteryje

Sukurkite ir paleiskite programą savo nešiojamajame kompiuteryje
Sukurkite ir paleiskite programą savo nešiojamajame kompiuteryje

Prieš paleisdami turite sukurti programą ir įdiegti ją į „Raspberry Pi“. Tai daroma naudojant „Reactive Blocks“kodų generatorių, kuris sukuria pilną „Java“projektą iš statybinių blokų struktūros. Kodas, vaizduojantis diagramas, yra sinchronizavimo kodas, kuris tvarko įvykius tinkama tvarka ir tinkamu laiku ir paprastai sudaro daugiau nei 60% jūsų programos kodo eilučių. Kadangi statybiniai blokai yra tikslios matematinės struktūros, generatorius gali pakeisti šią logiką į labai efektyvų kodą. Tai labai graži reaktyviųjų blokų funkcija, nes rankiniu būdu rašyti tokį kodą yra nuobodu ir sunku. Norėdami sugeneruoti kodą, viskas, ką jums reikia padaryti:

Dešiniuoju pelės mygtuku spustelėkite projekto signalizacijos sistemos SMS skirtuką Projektai ir pasirinkite standartinį „Java“leidimą. Įsitikinkite, kad registravimo informacija yra INFO. Sukurtas projektas bus automatiškai atidarytas skirtuke „Paketų naršyklė“. Išsamesnės informacijos rasite paveikslėlyje.

6 veiksmas: paleiskite programą savo kompiuteryje

Paleiskite programą savo kompiuteryje
Paleiskite programą savo kompiuteryje
Paleiskite programą savo kompiuteryje
Paleiskite programą savo kompiuteryje

Dabar galite vykdyti sukurtą projektą. Paketų naršyklės rodinyje, sugeneruotame _exe projekte, dešiniuoju pelės mygtuku spustelėkite AlarmSystemSMS.launch ir pasirinkite RunAs, tada pasirinkite AlarmSystemSMS.

Stebėkite langą ekrane ir konsolės vaizdą. Turi atrodyti kaip antra nuotrauka.

Uždarykite fotoaparato langą ir nutraukite programą.

El. Pašto siuntimo programai: jei gaunate autentifikavimo klaidą, įsitikinkite, kad el. Paštui leidžiama siųsti SMTP. Žr. Trikčių šalinimą el. Pašto vadovo apačioje:

7 veiksmas: eksportuokite kaip paleidžiamą JAR failą

Eksportuoti kaip paleidžiamą JAR failą
Eksportuoti kaip paleidžiamą JAR failą

Jei norite paleisti programą „Raspberry Pi“, kitas žingsnis yra eksportuoti sukurtą projektą į paleidžiamą JAR failą. Norėdami tai padaryti, paketų naršyklės rodinyje dešiniuoju pelės mygtuku spustelėkite vykdomąjį projektą ir pasirinkite eksportuoti. Tada pasirinkite „Runnable JAR“failo parinktį ir paspauskite „Kitas“. Kitame lange pasirinkite tinkamą paleidimo konfigūraciją ir eksporto paskirtį. Eksporto paskirties vietoje naudokite naršymo mygtuką, kad galėtumėte įdėti.jar failą į vietą, kur jį rasite.

8 žingsnis: Paruoškite „Raspberry Pi“

  • Paruoškite SD kortelę su „Raspbian“(mes išbandėme naudodami NOOBS)
  • Įdėkite SD kortelę į Raspberry pi
  • Prijunkite fotoaparatą
  • Prijunkite tinklą
  • Prijunkite ekraną ir klaviatūrą prie „Pi“
  • Paleiskite „Raspberry pi“prijungę „micro USB“maitinimo šaltinį.
  • Sužinokite savo Raspberry Pi IP adresą. Kai paleisite, jūsų „Raspberry Pi“praneš apie kažką panašaus: „Mano IP adresas yra 10.10. 15.107“
  • Mes išbandėme naudodami „Raspbian“(numatytasis prisijungimas: pi, slaptažodis: avietė), kuri pagal numatytuosius nustatymus apima „Java“.

9 veiksmas: įdiekite programą į savo „Raspberry Pi“

Norėdami nukopijuoti paleidžiamą stiklainį iš savo kompiuterio į „Rapsberry Pi“, atlikite šiuos veiksmus:

  • Atidarykite terminalą savo kompiuteryje
  • Eikite į katalogą, kuriame yra sukurtas JAR failas
  • Įveskite scp alarmsystem.jar [email protected]: ~/
  • Jūsų paprašys slaptažodžio derinio. „pi“yra numatytasis vartotojo vardas, o „avietinis“- numatytasis slaptažodis
  • Eikite į katalogą, kuriame yra konfigūracijos failas alarm_system.properties. Lengviausia man rankiniu būdu nukopijuoti failą iš „Eclipse“redaktoriaus į tą patį katalogą, kuriame yra stiklainis.
  • Įveskite scp motiondetection.ini [email protected]: ~/

10.10.15.107 yra IP adresas, pakeiskite jį „Raspberry Pi“IP adresu.

- Žinoma, taip pat galite naudoti atminties kortelę, kad nukopijuotumėte ją į „Pi“

10 veiksmas: paleiskite programą savo „Raspberry Pi“

Dabar esate pasiruošę paleisti programą.

  • Prisijunkite prie „Raspberry Pi“tiesiogiai arba nuotoliniu būdu per ssh.
  • Sukurkite naują konfigūracijos katalogą: mkdir config
  • Patikrinkite, ar paleidžiamas JAR failas ir.ini buvo nukopijuotas į „Raspberry Pi“
  • Perkelkite.ini failą į konfigūracijos katalogą: mv alarm_system.properties config/
  • Įveskite sudo java -jar alarmsystem.jar
  • Stebėkite išvestį konsolėje
  • Baigti ^C

11 veiksmas: pakeiskite savo programą

Dabar galite keisti ir išplėsti savo programą, kaip jums patinka. Jei norite išplėsti tokią importuotą sistemą kaip ši signalizacijos sistema, pirmiausia turite sukurti savo projektą ir dubliuoti signalizacijos sistemą savo projektui.

Atminkite, kad norėdami atlikti pakeitimus, pirmiausia turite sukurti savo projektą. Tada nukopijuokite/nukopijuokite programą į naujai sukurtą projektą. Kaip tai padaryti, galite pamatyti čia:

Sekite „IoT Tutorial“takelį, kad gautumėte nuoseklius aprašymus, kaip sukurti ar modifikuoti konkrečias „Reactive Blocks“programas.

Rekomenduojamas: