Სარჩევი:

მოძრაობის გამოვლენის სიგნალიზაციის სისტემა: 11 ნაბიჯი (სურათებით)
მოძრაობის გამოვლენის სიგნალიზაციის სისტემა: 11 ნაბიჯი (სურათებით)

ვიდეო: მოძრაობის გამოვლენის სიგნალიზაციის სისტემა: 11 ნაბიჯი (სურათებით)

ვიდეო: მოძრაობის გამოვლენის სიგნალიზაციის სისტემა: 11 ნაბიჯი (სურათებით)
ვიდეო: GPS აპლიკაციები 2024, ივლისი
Anonim
მოძრაობის გამოვლენის სიგნალიზაციის სისტემა
მოძრაობის გამოვლენის სიგნალიზაციის სისტემა

Შენიშვნა! რეაქტიული ბლოკები ჩამოსატვირთად აღარ არის ხელმისაწვდომი. ძირითადი USB კამერა შეიძლება გამოყენებულ იქნას ოთახში მოძრაობის დასადგენად. მომდევნო ნაბიჯებში ჩვენ გაჩვენებთ, თუ როგორ შეგიძლიათ გამოიყენოთ რეაქტიული ბლოკები, რათა დააინსტალიროთ მზა Java პროგრამა, რომელიც აგზავნის SMS- ს ან ელ.წერილს მოძრაობის გამოვლენისას. Reative Blocks– ით თქვენ ქმნით Java SE პროგრამებს, რათა განგაშის პროგრამა განლაგდეს ნებისმიერ აპარატზე Java SE– ით და კამერით მიმაგრებული ან ინტეგრირებული. პროგრამა ადვილად განლაგებულია Pi– ზე, რადგან Raspbian– ის გამოშვებას აქვს Oracle Java წინასწარ დაინსტალირებული. რა

ეს არის ის, რაც გჭირდებათ:

  1. Raspberry Pi მოდელი B+ Raspbian OS– ით
  2. სტანდარტული USB კამერა
  3. Ethernet კაბელი
  4. ეკრანი და კლავიატურა Pi- სთვის
  5. Windows ან MAC კომპიუტერი JDK– ით
  6. Შენიშვნა! რეაქტიული ბლოკები ჩამოსატვირთად აღარ არის ხელმისაწვდომი. თქვენ დაგჭირდებათ რეაქტიული ბლოკები, Eclipse მოდული, პროგრამის დასაპროგრამებლად.

ეს სიგნალიზაციის პროგრამა არის ერთ -ერთი რამდენიმე მოდიფიცირებადი სისტემის მაგალითი, რომელიც ხელმისაწვდომია რეაქტიული ბლოკების დაყენების შემდეგ. პროგრამა მზად არის ყუთის ამოწურვისთვის და თქვენ არ გჭირდებათ რაიმე Java პროგრამირების უნარი გაკვეთილის დასასრულებლად. იმისათვის, რომ შექმნათ თქვენი საკუთარი რეაქტიული ბლოკის პროგრამები და სამშენებლო ბლოკები, თქვენ უნდა იყოთ ჯავის გამოცდილი პროგრამისტი. უფრო რთული პროგრამების შექმნისას რამდენიმე სენსორით და გამტარებელით, რეაქტიული ბლოკები აადვილებს ლოგიკის და მონაცემთა ნაკადის სწორად მიღებას. Reactive Blocks უფასოა ღია კოდის პროექტებისთვის.

ნაბიჯი 1: დააინსტალირეთ რეაქტიული ბლოკები

რეაქტიული ბლოკები შეწყდა

ნაბიჯი 2: ჩამოტვირთეთ პროგრამა ბიბლიოთეკებიდან

ჩამოტვირთეთ პროგრამა ბიბლიოთეკებიდან
ჩამოტვირთეთ პროგრამა ბიბლიოთეკებიდან

დარწმუნდით, რომ გახსენით რეაქტიული ბლოკების პერსპექტივა და რომ თქვენ ხართ ბლოკების ხედში. ბლოკების ხედიდან აირჩიეთ იმპორტის ღილაკი და აირჩიეთ საცნობარო პროგრამები. შეარჩიეთ პროექტი Motion Detection. ამ დროს თქვენ მოგეთხოვებათ დარეგისტრირდეთ google ID– ით. ეს მოგცემთ დაუყოვნებლივ წვდომას სამშენებლო ბლოკების ბიბლიოთეკებზე და მოდიფიცირებად სისტემებსა და გაკვეთილებზე.

თქვენ მიერ გადმოწერილი Motion Detection პროექტი მოიცავს სამ პროგრამას, სიგნალიზაციის სისტემის SMS- ს, სიგნალიზაციის სისტემის ელ.ფოსტას და სატესტო პროგრამას Test motion detection. ამ გაკვეთილში ჩვენ გაგიწევთ სიგნალიზაციის სისტემის SMS შეტყობინებებს. თუ გსურთ ელ.ფოსტის გაგზავნა, შეგიძლიათ იგივე ნაბიჯები გააკეთოთ სიგნალიზაციის სისტემის ელ.ფოსტის საშუალებით

ნაბიჯი 3: აპლიკაცია უმაღლეს დონეზე

განაცხადი უმაღლეს დონეზე
განაცხადი უმაღლეს დონეზე

ეს ნაბიჯი იძლევა განაცხადის ახსნას. პირველი სურათი გვიჩვენებს დიაგრამას, თუ როგორ გამოიყურება სრული პროგრამა ზედა დონეზე. იგი შედგება 7 სამშენებლო ბლოკისგან; 5 სტანდარტული სამშენებლო ბლოკი ბიბლიოთეკიდან და 2 პერსონალურად დამზადებული ბლოკი, რომელიც დამზადებულია ამ პროგრამისთვის.

IoT ბიბლიოთეკის სტანდარტული ბლოკები არის:

  • გრეიბერი, იღებს სურათებს USB კამერიდან
  • მოძრაობის გამოვლენა, ასრულებს სურათის ნამდვილ გამოვლენას
  • პერიოდული ტაიმერი, იწყება ზუსტი დროის მარკებით და აგზავნის სიგნალს ტკიპის პინზე ყოველ პერიოდში.
  • Buffer Eager, უბიძგებს რიგის პირველ ელემენტს ავტომატურად. ის უზრუნველყოფს, რომ მხოლოდ ერთი შეტყობინება იგზავნება SMS გაგზავნის ბლოკში, რადგან მას შეუძლია მხოლოდ ერთი შეტყობინების დამუშავება ერთდროულად.
  • SMS გაგზავნის ბუფერული, აგზავნის SMS– ს Twilio სერვისის საშუალებით. გასაგზავნი ელემენტები ბუფერულია იმის უზრუნველსაყოფად, რომ მხოლოდ ერთი შეტყობინება იგზავნება ერთდროულად.
  • შემზღუდავი, რათა თავიდან იქნას აცილებული ძალიან ბევრი SMS, როდესაც შემოიჭრება თავდამსხმელი.
  • წაიკითხეთ Java თვისებების ფაილი, კითხულობს კონფიგურაციის მონაცემებს შეყვანის ფაილიდან
  • ნახვა, ეკრანის სურათის ნახვა.

პერიოდული ტაიმერის ბლოკი მუშაობს როგორც სისტემის ძრავა. ის პერიოდულად გასცემს ტკიპას, რომელიც სიგნალს უგზავნის Grabber ბლოკს grab pin- ის საშუალებით. Grabber ბლოკი იყენებს ღია ინტელექტუალური მულტიმედიური ანალიზს Java- სთვის, OpenIMAJ. როდესაც ბლოკი ინიციალიზებულია, ცალკე თემა იწყება კამერის მონაცემების წასაკითხად. თემა უსმენს ბრძანების რიგს. როდესაც ბლოკი მიიღებს ბრძანებას grab pin– ის საშუალებით, ის გადაიღებს ერთ სურათს და გადასცემს მას გამოსახულების პინზე.

შემდეგ სურათი გადაეცემა მოძრაობის გამოვლენის ბლოკს, რომელიც ასრულებს სურათის რეალურ ამოცნობას. მოძრაობის გამოვლენის ბლოკი ასევე იყენებს OpenIMAJ- ს. ამ ბლოკში შემავალი მეთოდი ადარებს ორ სურათს და მოძრაობის გამოვლენისას გამოსახავს ცვლილებებს სურათში. მეთოდი არის ძალიან ინტენსიური CPU და უნდა გაშვებული ცალკე თემა. სურათის გამოვლენისას იგი სიგნალირდება მოძრაობის აღმოჩენილ პინზე, რომელიც გამოიწვევს SMS შეტყობინების გენერირებას.

ღია ცისფერი ყუთები არის ყველა Java პროგრამა, რომელიც სპეციალურად შექმნილია ამ პროგრამისთვის. მეთოდის ბლოკზე დაჭერით იხსნება Java რედაქტორი.

როდესაც დააჭერთ სამშენებლო ბლოკს, შეგიძლიათ იხილოთ ბლოკის შიგნით არსებული ლოგიკის დეტალები. თუ თქვენ, მაგალითად, იხილავთ ReadConfig ბლოკს, დაინახავთ, რომ ის შექმნილია ერთი არსებული სამშენებლო ბლოკისა და 4 Java მეთოდის კომბინაციით.

Limiter ზღუდავს გენერირებული შეტყობინებების რაოდენობას. შენიშნეთ P შენობის ბლოკის მარჯვენა კუთხეში. ეს მიუთითებს იმაზე, რომ თქვენ შეგიძლიათ განსაზღვროთ მინიტერავალი, თუ რამდენი ხანი უნდა დაელოდოს აპლიკაციამ, სანამ ის ახალ SMS- ს გაგზავნის. ნაგულისხმევი პარამეტრია 300000ms, ანუ 5 წუთი. ღირებულების შესაცვლელად. დააწკაპუნეთ მარჯვენა ღილაკით ბლოკზე და აირჩიეთ პარამეტრები და ზოგადი პარამეტრები.

ნაბიჯი 4: ჩართეთ SMS

ჩართეთ SMS
ჩართეთ SMS

ეს სიგნალიზაციის პროგრამა იყენებს Twilio როგორც SMS სერვისს. SMS- ის გასააქტიურებლად თქვენ უნდა შეცვალოთ ფაილი config/alarm-system.properties. თქვენ შეგიძლიათ იპოვოთ ის პაკეტის Explorer ხედში br.ref.motiondetection, იხილეთ სურათი.

ეს ფაილი არის იგივე ფაილი, რომელიც გამოიყენება სიგნალიზაციის სისტემის ელფოსტაში. თუ თქვენ გაქვთ ელ.ფოსტის შეტყობინებები, თქვენ გამოიყენებთ ამ პროგრამას და შეასწორებთ ფაილს თქვენი ელ.ფოსტის მონაცემებით.

თუ თქვენ არ გაქვთ Twilio სერვისი, შეგიძლიათ შეცვალოთ აპლიკაცია თქვენი SMS სერვისის გამოსაყენებლად. ჩვენ ასევე გვაქვს მზადაა გამოვიყენოთ სამშენებლო ბლოკი Clickatell სერვისისთვის. ან შეგიძლიათ დაურთოთ მოდემი SMS– ის გასაგზავნად.

თქვენ შეგიძლიათ იპოვოთ სამშენებლო ბლოკები SMTP ელ.ფოსტის, AirVantage Cloud, IBM Bluemix და Xively დასახელებისთვის.

გაითვალისწინეთ, რომ ცვლილებების შესატანად, ჯერ საკუთარი პროექტი უნდა გააკეთოთ. შემდეგ დააკოპირეთ/გაიმეორეთ პროგრამა თქვენს ახლად შექმნილ პროექტში. თქვენ შეგიძლიათ ნახოთ როგორ კეთდება ეს აქ:

ნუ დააყოვნებთ დამიკავშირდით, თუ დახმარება გჭირდებათ

ნაბიჯი 5: შექმენით და გაუშვით პროგრამა თქვენს ლეპტოპზე

შექმენით და გაუშვით პროგრამა თქვენს ლეპტოპზე
შექმენით და გაუშვით პროგრამა თქვენს ლეპტოპზე

თქვენ უნდა ააწყოთ პროგრამა სანამ გაუშვებთ და განათავსებთ მას Raspberry Pi- ში. ეს კეთდება React Blocks კოდის გენერატორის გამოყენებით, რომელიც ქმნის სრულ Java პროექტს სამშენებლო ბლოკების სტრუქტურიდან. კოდი, რომელიც წარმოადგენს დიაგრამებს, არის სინქრონიზაციის კოდი, რომელიც მართავს მოვლენებს სწორი თანმიმდევრობით და სწორ დროს და, როგორც წესი, ითვალისწინებს თქვენს პროგრამაში კოდის ხაზების 60% -ზე მეტს. ვინაიდან სამშენებლო ბლოკები ზუსტი მათემატიკური სტრუქტურებია, გენერატორს შეუძლია ეს ლოგიკა გარდაქმნას ძალიან ეფექტურ კოდად. ეს არის ძალიან ლამაზი რეაქტიული ბლოკების ფუნქცია, რადგან ასეთი კოდის ხელით დაწერა დამღლელი და რთულია. კოდის შესაქმნელად, ყველაფერი რაც თქვენ გჭირდებათ არის:

დააწკაპუნეთ მარჯვენა ღილაკზე პროექტის სიგნალიზაციის სისტემის SMS პროექტების ჩანართზე და აირჩიეთ Java სტანდარტული გამოცემა. დარწმუნდით, რომ შესვლის ინფორმაცია არის ინფორმაცია. გენერირებული პროექტი შემდეგ ავტომატურად გაიხსნება Package Explorer ჩანართის ქვეშ. დეტალებისთვის იხილეთ ფიგურა.

ნაბიჯი 6: გაუშვით პროგრამა თქვენს კომპიუტერზე

გაუშვით პროგრამა თქვენს კომპიუტერზე
გაუშვით პროგრამა თქვენს კომპიუტერზე
გაუშვით პროგრამა თქვენს კომპიუტერზე
გაუშვით პროგრამა თქვენს კომპიუტერზე

ახლა თქვენ შეგიძლიათ შეასრულოთ გენერირებული პროექტი. Package Explorer- ის ხედში გენერირებული _exe პროექტის ქვეშ, დააწკაპუნეთ მარჯვენა ღილაკით AlarmSystemSMS. გაშვება და აირჩიეთ RunAs და შემდეგ აირჩიეთ AlarmSystemSMS.

უყურეთ ფანჯარას ეკრანზე და კონსოლის ხედს. მეორე სურათის მსგავსი უნდა იყოს.

განაცხადის შეწყვეტა კამერის ფანჯრის დახურვით.

ელ.ფოსტის გაგზავნის აპლიკაციისთვის: თუ ავთენტიფიკაციის შეცდომას მიიღებთ, დარწმუნდით, რომ SMTP გაგზავნა ნებადართულია თქვენი ელ.ფოსტისთვის. იხილეთ პრობლემების მოგვარება ელ.ფოსტის გაკვეთილის ბოლოში:

ნაბიჯი 7: ექსპორტი როგორც გაშვებული JAR ფაილი

ექსპორტი როგორც გაშვებული JAR ფაილი
ექსპორტი როგორც გაშვებული JAR ფაილი

თუ გსურთ პროგრამის გაშვება Raspberry Pi– ზე, შემდეგი ნაბიჯი არის გენერირებული პროექტის ექსპორტი გასაშვებად JAR ფაილში. ამისათვის დააწკაპუნეთ მარჯვენა ღილაკით შემსრულებელ პროექტზე პაკეტის მკვლევარის ხედში და აირჩიეთ ექსპორტი. შემდეგ შეარჩიეთ Runnable JAR ფაილის ვარიანტი და დააჭირეთ შემდეგი. შემდეგ ფანჯარაში შეარჩიეთ დაწყების კონფიგურაცია და ექსპორტის დანიშნულების ადგილი. საექსპორტო დანიშნულების ადგილას გამოიყენეთ დათვალიერების ღილაკი, ასე რომ თქვენ შეგიძლიათ განათავსოთ.jar ფაილი იმ ადგილას, სადაც შეგიძლიათ იპოვოთ იგი.

ნაბიჯი 8: მოამზადეთ თქვენი ჟოლო პი

  • მოამზადეთ SD ბარათი Raspbian– ით (ჩვენ გამოვცადეთ NOOBS– ის გამოყენებით)
  • ჩადეთ SD ბარათი Raspberry pi- ში
  • შეაერთეთ კამერა
  • შეაერთეთ ქსელი
  • შეაერთეთ ეკრანი და კლავიატურა Pi- ს
  • დაიწყეთ Raspberry pi მიკრო USB დენის წყაროს შეერთებით.
  • შეიტყვეთ თქვენი Raspberry Pi– ის IP მისამართი. დაწყებისთანავე, თქვენი Raspberry Pi შეგატყობინებთ რაღაცას "ჩემი IP მისამართი არის 10.10. 15.107"
  • ჩვენ შევამოწმეთ Raspbian– ით (ნაგულისხმევი შესვლა: pi, პაროლი: ჟოლო), რომელიც ნაგულისხმევად მოიცავს ჯავას.

ნაბიჯი 9: განათავსეთ აპლიკაცია თქვენს ჟოლოს პიზე

გასაშვებად jar ფაილის თქვენი კომპიუტერიდან Rapsberry Pi– ზე დასაკოპირებლად მიყევით ამ ნაბიჯებს:

  • გახსენით ტერმინალი თქვენს აპარატზე
  • გადადით დირექტორიაში, სადაც მდებარეობს გენერირებული JAR ფაილი
  • ჩაწერეთ scp alarmsystem.jar [email protected]: ~/
  • თქვენ მოგეთხოვებათ პაროლის კომბინაცია. "pi" არის ნაგულისხმევი მომხმარებლის სახელი და "ჟოლო" ნაგულისხმევი პაროლი
  • გადადით დირექტორიაში, სადაც მდებარეობს კონფიგურაციის ფაილი alarm_system.properties. ჩემთვის ყველაზე ადვილია ფაილის ხელით კოპირება Eclipse რედაქტორიდან იმავე დირექტორიაში, როგორც jar ფაილი.
  • ჩაწერეთ scp motiondetection.ini [email protected]: ~/

10.10.15.107 არის IP მისამართი, შეცვალეთ იგი თქვენი Raspberry Pi– ის IP მისამართით.

- თქვენ, რა თქმა უნდა, შეგიძლიათ გამოიყენოთ მეხსიერების ჯოხი, რომ დააკოპიროთ იგი Pi- ზე

ნაბიჯი 10: გაუშვით აპლიკაცია თქვენს ჟოლოს პიზე

თქვენ ახლა მზად ხართ პროგრამის გასაშვებად.

  • შედით Raspberry Pi– ში პირდაპირ ან დისტანციურად ssh– ის საშუალებით.
  • შექმენით ახალი კონფიგურაციის დირექტორია: mkdir კონფიგურაცია
  • შეამოწმეთ გაშვებული JAR ფაილი და.ini გადაწერილია Raspberry Pi- ში
  • გადაიტანეთ.ini ფაილი კონფიგურაციის დირექტორიაში: mv alarm_system.properties config/
  • ჩაწერეთ sudo java -jar alarmsystem.jar
  • უყურეთ გამომავალს კონსოლზე
  • შეწყვეტა ^C– ით

ნაბიჯი 11: შეცვალეთ თქვენი აპლიკაცია

ახლა თქვენ შეგიძლიათ შეცვალოთ და გააფართოვოთ თქვენი აპლიკაცია, როგორც გსურთ. თუ გსურთ გააფართოვოთ იმპორტირებული სისტემა, როგორიცაა ამ სიგნალიზაციის სისტემა, თქვენ ჯერ უნდა შექმნათ თქვენი საკუთარი პროექტი და გააორმაგოთ სიგნალიზაციის სისტემა თქვენს პროექტზე.

გაითვალისწინეთ, რომ ცვლილებების შესატანად, ჯერ საკუთარი პროექტი უნდა გააკეთოთ. შემდეგ დააკოპირეთ/გაიმეორეთ პროგრამა თქვენს ახლად შექმნილ პროექტში. თქვენ შეგიძლიათ ნახოთ როგორ კეთდება ეს აქ:

მიჰყევით IoT Tuturial ბილიკს, რომ მიიღოთ ნაბიჯ-ნაბიჯ აღწერილობა, თუ როგორ უნდა შექმნათ ან შეცვალოთ კონკრეტული რეაქტიული ბლოკების პროგრამები.

გირჩევთ: