สารบัญ:

ระบบตรวจจับความเคลื่อนไหว: 11 ขั้นตอน (พร้อมรูปภาพ)
ระบบตรวจจับความเคลื่อนไหว: 11 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ระบบตรวจจับความเคลื่อนไหว: 11 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ระบบตรวจจับความเคลื่อนไหว: 11 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ตั้งค่ากล้อง Vstarcam ตรวจจับความเคลื่อนไหว บางพื้นที่ (ตรวจจับ PIR เฉพาะบริเวณประตู) ทำงานเร็วขึ้น 2024, กรกฎาคม
Anonim
ระบบเตือนภัยตรวจจับการเคลื่อนไหว
ระบบเตือนภัยตรวจจับการเคลื่อนไหว

บันทึก! ไม่สามารถดาวน์โหลด Reactive Blocks ได้อีกต่อไป สามารถใช้กล้อง USB พื้นฐานเพื่อตรวจจับการเคลื่อนไหวในห้องได้ ในขั้นตอนต่อไปนี้ เราจะแสดงให้คุณเห็นถึงวิธีที่คุณสามารถใช้ Reactive Blocks เพื่อตั้งโปรแกรมแอปพลิเคชัน Java ที่พร้อมใช้งานซึ่งส่ง SMS หรืออีเมลเมื่อตรวจพบการเคลื่อนไหว ด้วย Reative Blocks คุณสร้างแอปพลิเคชัน Java SE เพื่อให้สามารถปรับใช้แอปพลิเคชันการเตือนบนเครื่องใดก็ได้ที่มี Java SE และติดกล้องหรือรวมเข้าด้วยกัน แอปพลิเคชั่นนี้ใช้งานได้ง่ายบน Pi เนื่องจาก Raspbian รีลีสมี Oracle Java ติดตั้งไว้ล่วงหน้า.

นี่คือสิ่งที่คุณต้องการ:

  1. Raspberry Pi รุ่น B+ พร้อม Raspbian OS
  2. กล้อง USB มาตรฐาน
  3. สายอีเธอร์เน็ต
  4. หน้าจอและแป้นพิมพ์สำหรับ Pi
  5. คอมพิวเตอร์ Windows หรือ MAC ที่มี JDK
  6. บันทึก! ไม่สามารถดาวน์โหลด Reactive Blocks ได้อีกต่อไป คุณจะต้องใช้ Reactive Blocks ซึ่งเป็นปลั๊กอิน Eclipse เพื่อตั้งโปรแกรมแอปพลิเคชัน

แอปพลิเคชันการเตือนนี้เป็นหนึ่งในระบบตัวอย่างที่ปรับเปลี่ยนได้หลายระบบ ซึ่งสามารถเข้าถึงได้หลังจากที่คุณติดตั้ง Reactive Blocks แอปพลิเคชันนี้พร้อมให้ใช้งานแล้ว และคุณไม่จำเป็นต้องมีทักษะการเขียนโปรแกรม Java ใดๆ เพื่อทำการสอนให้เสร็จสิ้น ในการสร้างแอปพลิเคชัน Reactive Blocks และบล็อคการสร้าง คุณต้องเป็นโปรแกรมเมอร์ Java ที่เชี่ยวชาญ เมื่อสร้างแอปพลิเคชันที่ซับซ้อนมากขึ้นด้วยเซ็นเซอร์และแอคทูเอเตอร์หลายตัว Reactive Blocks ทำให้ง่ายต่อการรับตรรกะและการไหลของข้อมูล Reactive Blocks ฟรีสำหรับโครงการโอเพ่นซอร์ส

ขั้นตอนที่ 1: ติดตั้ง Reactive Blocks

บล็อกปฏิกิริยาถูกยกเลิก

ขั้นตอนที่ 2: ดาวน์โหลดแอปพลิเคชันจากห้องสมุด

ดาวน์โหลดใบสมัครจากห้องสมุด
ดาวน์โหลดใบสมัครจากห้องสมุด

ตรวจสอบให้แน่ใจว่าคุณได้เปิดเปอร์สเปคทีฟของ Reactive Blocks และคุณอยู่ในมุมมอง Blocks จากมุมมอง Blocks ให้เลือกปุ่มนำเข้าและเลือก แอปพลิเคชันอ้างอิง เลือกโครงการตรวจจับการเคลื่อนไหว ณ จุดนี้คุณจะถูกขอให้ลงทะเบียนด้วย google ID วิธีนี้จะทำให้คุณเข้าถึงไลบรารีบล็อคสำเร็จรูป และระบบและบทช่วยสอนที่ปรับเปลี่ยนได้ได้ทันที

โปรเจ็กต์การตรวจจับการเคลื่อนไหวที่คุณดาวน์โหลดประกอบด้วยสามแอปพลิเคชัน ได้แก่ Alarm System SMS อีเมล Alarm System และแอปพลิเคชันทดสอบการทดสอบการตรวจจับการเคลื่อนไหว ในบทช่วยสอนนี้ เราจะแนะนำคุณเกี่ยวกับ Alarm System SMS หากคุณต้องการส่งอีเมล คุณสามารถทำตามขั้นตอนเดียวกันกับ Alarm System Email

ขั้นตอนที่ 3: แอปพลิเคชันที่ระดับบนสุด

แอปพลิเคชันระดับบนสุด
แอปพลิเคชันระดับบนสุด

ขั้นตอนนี้ให้คำอธิบายของแอปพลิเคชัน ภาพแรกแสดงไดอะแกรมของลักษณะแอปพลิเคชันที่สมบูรณ์ที่ระดับบนสุด ประกอบด้วย 7 บล็อคการสร้าง; เอกสารสำเร็จรูปมาตรฐาน 5 รายการจากไลบรารีและ 2 บล็อกที่สร้างขึ้นเองสำหรับแอปพลิเคชันนี้

Standard Blocks จากไลบรารี IoT คือ:

  • Grabber คว้าภาพจากกล้อง USB
  • การตรวจจับการเคลื่อนไหว ดำเนินการตรวจจับภาพจริง
  • ตัวจับเวลาแบบเป็นงวด เริ่มที่การประทับเวลาที่แม่นยำและส่งสัญญาณที่เข็มหมุดทุกช่วงเวลา
  • Buffer Eager ผลักองค์ประกอบแรกในคิวออกโดยอัตโนมัติ บัฟเฟอร์ช่วยให้แน่ใจว่ามีเพียงข้อความเดียวเท่านั้นที่ถูกส่งไปยังบล็อกการส่ง SMS เนื่องจากสามารถประมวลผลได้ครั้งละหนึ่งข้อความเท่านั้น
  • SMS Send Buffered ส่ง SMS ผ่านบริการ Twilio องค์ประกอบที่จะส่งได้รับการบัฟเฟอร์เพื่อให้แน่ใจว่ามีการส่งข้อความครั้งละหนึ่งข้อความเท่านั้น
  • Limiter เพื่อหลีกเลี่ยง SMS มากเกินไปเมื่อตรวจพบผู้บุกรุก
  • อ่านไฟล์คุณสมบัติ Java อ่านข้อมูลการกำหนดค่าจากไฟล์อินพุต
  • ดู ดูภาพบนหน้าจอ

บล็อกตัวจับเวลาเป็นระยะทำงานเป็นกลไกของระบบ จะมีการทำเครื่องหมายติ๊กที่ส่งสัญญาณไปยังบล็อก Grabber ผ่านหมุดจับ บล็อก Grabber ใช้ Open Intelligent Multimedia Analysis สำหรับ Java, OpenIMAJ เมื่อเริ่มต้นบล็อก เธรดที่แยกต่างหากจะเริ่มอ่านข้อมูลจากกล้อง เธรดรับฟังคิวคำสั่ง เมื่อบล็อกได้รับคำสั่งผ่านหมุดยึด จะถ่ายภาพหนึ่งภาพและส่งไปที่พินอิมเมจ

จากนั้นรูปภาพจะถูกส่งไปยังบล็อก Motion Detection ที่ทำการตรวจจับภาพจริง บล็อกการตรวจจับการเคลื่อนไหวยังใช้ OpenIMAJ วิธีการภายในบล็อกนี้เปรียบเทียบภาพสองภาพและจะตั้งค่าสถานะการเปลี่ยนแปลงของภาพเมื่อตรวจพบการเคลื่อนไหว วิธีนี้ใช้ CPU มาก และต้องรันในเธรดแยกต่างหาก เมื่อตรวจพบภาพ จะมีการส่งสัญญาณบนพิน MotionDetected ซึ่งจะกระตุ้นการสร้างข้อความ SMS

กล่องสีฟ้าอ่อนเป็นวิธี Java ทั้งหมดที่สร้างขึ้นสำหรับแอปพลิเคชันนี้โดยเฉพาะ การคลิกที่บล็อกเมธอดจะเป็นการเปิดเอดิเตอร์ Java

เมื่อคุณคลิกที่บล็อคส่วนประกอบ คุณจะเห็นรายละเอียดของตรรกะภายในบล็อก ตัวอย่างเช่น ถ้าคุณดูภายในบล็อก ReadConfig คุณจะเห็นว่ามันถูกสร้างขึ้นโดยการรวมบล็อคการสร้างที่มีอยู่หนึ่งรายการและ 4 เมธอด Java

Limiter กำหนดขีดจำกัดจำนวนข้อความที่สร้างขึ้น สังเกต P ที่มุมขวาของแบบเอกสารสำเร็จรูป แสดงว่าคุณสามารถตั้งค่าระยะเวลาขั้นต่ำที่แอปพลิเคชันต้องรอก่อนที่จะส่ง SMS ใหม่ ค่าเริ่มต้นคือ 300,000ms นั่นคือ 5 นาที เพื่อเปลี่ยนค่า คลิกขวาที่บล็อกและเลือกพารามิเตอร์และชื่อสามัญ

ขั้นตอนที่ 4: เปิดใช้งาน SMS

เปิดใช้งาน SMS
เปิดใช้งาน SMS

แอปพลิเคชั่นการเตือนนี้ใช้ Twilio เป็นบริการ SMS หากต้องการเปิดใช้งาน SMS คุณต้องแก้ไขไฟล์ config/alarm-system.properties คุณสามารถค้นหาได้ในมุมมอง package explorer ภายใต้ br.ref.motiondetection ดูรูป

ไฟล์นี้เป็นไฟล์เดียวกับที่ใช้ใน Alarm System Email หากคุณต้องการรับการแจ้งเตือนทางอีเมล คุณจะใช้แอปพลิเคชันนี้และแก้ไขไฟล์ด้วยข้อมูลรับรองอีเมลของคุณ

หากคุณไม่มีบริการ Twilio คุณสามารถแก้ไขแอปพลิเคชันเพื่อใช้บริการ SMS ของคุณเองได้ นอกจากนี้เรายังมี Building Block ที่พร้อมใช้งานสำหรับบริการ Clickatell หรือคุณสามารถแนบโมเด็มเพื่อส่ง SMS

คุณสามารถค้นหาข้อมูลพื้นฐานสำหรับอีเมล SMTP, AirVantage Cloud, IBM Bluemix และ Xively ได้

โปรดทราบว่าในการเปลี่ยนแปลง คุณต้องสร้างโครงการของคุณเองก่อน จากนั้นคัดลอก/ทำซ้ำแอปพลิเคชันลงในโครงการที่คุณสร้างขึ้นใหม่ คุณสามารถดูวิธีการทำได้ที่นี่:

อย่าลังเลที่จะติดต่อฉันหากคุณต้องการความช่วยเหลือ

ขั้นตอนที่ 5: สร้างและเรียกใช้แอปพลิเคชันบนแล็ปท็อปของคุณ

สร้างและเรียกใช้แอปพลิเคชันบนแล็ปท็อปของคุณ
สร้างและเรียกใช้แอปพลิเคชันบนแล็ปท็อปของคุณ

คุณต้องสร้างแอปพลิเคชันก่อนที่จะเรียกใช้ และปรับใช้กับ Raspberry Pi ซึ่งทำได้โดยใช้ตัวสร้างโค้ด Reactive Blocks ที่สร้างโปรเจ็กต์ Java ที่สมบูรณ์จากโครงสร้างของบล็อคการสร้าง รหัสที่แสดงไดอะแกรมคือรหัสการซิงโครไนซ์ที่จัดการเหตุการณ์ในลำดับที่ถูกต้องและในเวลาที่เหมาะสม และโดยทั่วไปแล้วจะคิดเป็นสัดส่วนมากกว่า 60% ของบรรทัดของรหัสในโปรแกรมของคุณ เนื่องจากหน่วยการสร้างเป็นโครงสร้างทางคณิตศาสตร์ที่แม่นยำ เครื่องกำเนิดจึงสามารถแปลงตรรกะนี้เป็นโค้ดที่มีประสิทธิภาพมาก นี่เป็นคุณสมบัติ Reactive Blocks ที่ดีมากเพราะการเขียนโค้ดด้วยตนเองนั้นน่าเบื่อและยาก ในการสร้างโค้ด คุณต้องทำสิ่งนี้ทั้งหมด:

คลิกขวาที่โครงการ Alarm System SMS ใต้แท็บ Projects และเลือก Java standard edition ตรวจสอบให้แน่ใจว่าข้อมูลการบันทึกเป็น INFO โครงการที่สร้างขึ้นจะเปิดขึ้นโดยอัตโนมัติภายใต้แท็บ Package Explorer ดูรูปสำหรับรายละเอียด

ขั้นตอนที่ 6: เรียกใช้แอปพลิเคชันบนคอมพิวเตอร์ของคุณ

เรียกใช้แอปพลิเคชันบนคอมพิวเตอร์ของคุณ
เรียกใช้แอปพลิเคชันบนคอมพิวเตอร์ของคุณ
เรียกใช้แอปพลิเคชันบนคอมพิวเตอร์ของคุณ
เรียกใช้แอปพลิเคชันบนคอมพิวเตอร์ของคุณ

ตอนนี้คุณสามารถดำเนินการโครงการที่สร้างขึ้น ในมุมมอง Package Explorer ภายใต้โปรเจ็กต์ _exe ที่สร้างขึ้น ให้คลิกขวาที่ AlarmSystemSMS.launch แล้วเลือก RunAs จากนั้นเลือก AlarmSystemSMS

ดูหน้าต่างบนหน้าจอและมุมมองคอนโซล ควรมีลักษณะเหมือนภาพที่สอง

ยุติแอปพลิเคชันโดยปิดหน้าต่างกล้อง

สำหรับแอปพลิเคชันส่งอีเมล: หากคุณได้รับข้อผิดพลาดในการตรวจสอบสิทธิ์ ตรวจสอบให้แน่ใจว่าอนุญาตให้ส่ง SMTP สำหรับอีเมลของคุณ ดูการแก้ไขปัญหาที่ด้านล่างของบทแนะนำอีเมล:

ขั้นตอนที่ 7: ส่งออกเป็นไฟล์ JAR ที่รันได้

ส่งออกเป็นไฟล์ JAR ที่รันได้
ส่งออกเป็นไฟล์ JAR ที่รันได้

หากคุณต้องการเรียกใช้แอปพลิเคชันบน Raspberry Pi ขั้นตอนต่อไปคือการส่งออกโครงการที่สร้างขึ้นไปยังไฟล์ JAR ที่รันได้ ในการดำเนินการนี้ ให้คลิกขวาที่โปรเจ็กต์ที่เรียกใช้งานได้ในมุมมอง package explorer แล้วเลือกส่งออก จากนั้นเลือกตัวเลือกไฟล์ Runnable JAR และกดถัดไป ในหน้าต่างต่อไปนี้ ให้เลือกการกำหนดค่าการเปิดใช้ที่เหมาะสมและปลายทางการส่งออก ในปลายทางการส่งออก ใช้ปุ่มเรียกดูเพื่อให้คุณสามารถวางไฟล์.jar ไว้ในที่ที่คุณสามารถหาได้

ขั้นตอนที่ 8: เตรียม Raspberry Pi. ของคุณ

  • เตรียมการ์ด SD ด้วย Raspbian (เราได้ทดสอบโดยใช้ NOOBS)
  • ใส่การ์ด SD ลงใน Raspberry pi
  • เชื่อมต่อกล้อง
  • เชื่อมต่อเครือข่าย
  • เชื่อมต่อหน้าจอและคีย์บอร์ดเข้ากับ Pi
  • เริ่ม Raspberry pi โดยเชื่อมต่อ micro USB สำหรับแหล่งจ่ายไฟ
  • ค้นหาที่อยู่ IP ของ Raspberry Pi ของคุณ เมื่อเริ่มต้นระบบ Raspberry Pi ของคุณจะรายงานบางอย่างเช่น "ที่อยู่ IP ของฉันคือ 10.10, 15.107"
  • เราได้ทดสอบกับ Raspbian (การเข้าสู่ระบบเริ่มต้น: pi, รหัสผ่าน: raspberry) ซึ่งรวมถึง Java โดยค่าเริ่มต้น

ขั้นตอนที่ 9: ปรับใช้แอปพลิเคชันกับ Raspberry Pi ของคุณ

ในการคัดลอกไฟล์ jar ที่รันได้จากคอมพิวเตอร์ของคุณไปยัง Rapsberry Pi ให้ทำตามขั้นตอนเหล่านี้:

  • เปิดเทอร์มินัลบนเครื่องของคุณ
  • ไปที่ไดเร็กทอรีที่มีไฟล์ JAR ที่สร้างขึ้น
  • พิมพ์ scp alarmsystem.jar [email protected]:~/
  • คุณจะถูกถามถึงชุดรหัสผ่าน "pi" เป็นชื่อผู้ใช้เริ่มต้นและ "raspberry" เป็นรหัสผ่านเริ่มต้น
  • ไปที่ไดเร็กทอรีที่มีไฟล์การกำหนดค่า alarm_system.properties ง่ายที่สุดสำหรับฉันคือการคัดลอกไฟล์ด้วยตนเองจากโปรแกรมแก้ไข Eclipse ไปยังไดเร็กทอรีเดียวกันกับไฟล์ jar
  • พิมพ์ scp motiondetection.ini [email protected]:~/

10.10.15.107 คือที่อยู่ IP แทนที่ด้วยที่อยู่ IP ของ Raspberry Pi ของคุณ

- แน่นอน คุณสามารถใช้เมมโมรี่สติ๊กเพื่อคัดลอกไปยัง Pi. ได้

ขั้นตอนที่ 10: เรียกใช้แอปพลิเคชันบน Raspberry Pi. ของคุณ

ตอนนี้คุณพร้อมที่จะเรียกใช้แอปพลิเคชันแล้ว

  • เข้าสู่ระบบ Raspberry Pi โดยตรงหรือจากระยะไกลผ่าน ssh
  • สร้างไดเร็กทอรี config ใหม่: mkdir config
  • ตรวจสอบว่าไฟล์ JAR ที่รันได้และ.ini ถูกคัดลอกไปยัง Raspberry Pi. หรือไม่
  • ย้ายไฟล์.ini ไปยังไดเร็กทอรี config: mv alarm_system.properties config/
  • พิมพ์ sudo java -jar alarmsystem.jar
  • ดูเอาต์พุตบนคอนโซล
  • ยุติด้วย ^C

ขั้นตอนที่ 11: แก้ไขใบสมัครของคุณ

ตอนนี้คุณสามารถแก้ไขและขยายแอปพลิเคชันของคุณได้ตามต้องการ หากคุณต้องการขยายระบบที่นำเข้าเช่นระบบเตือนภัยนี้ ก่อนอื่นคุณต้องสร้างโครงการของคุณเองและทำซ้ำระบบเตือนภัยกับโครงการของคุณเอง

โปรดทราบว่าในการเปลี่ยนแปลง คุณต้องสร้างโครงการของคุณเองก่อน จากนั้นคัดลอก/ทำซ้ำแอปพลิเคชันลงในโครงการที่คุณสร้างขึ้นใหม่ คุณสามารถดูวิธีการทำได้ที่นี่:

ทำตามเส้นทาง IoT Tuturial เพื่อรับคำอธิบายทีละขั้นตอนเกี่ยวกับวิธีสร้างหรือแก้ไขแอปพลิเคชัน Reactive Blocks ที่เฉพาะเจาะจง

แนะนำ: