Mục lục:

Hệ thống cảnh báo phát hiện chuyển động: 11 bước (có hình ảnh)
Hệ thống cảnh báo phát hiện chuyển động: 11 bước (có hình ảnh)

Video: Hệ thống cảnh báo phát hiện chuyển động: 11 bước (có hình ảnh)

Video: Hệ thống cảnh báo phát hiện chuyển động: 11 bước (có hình ảnh)
Video: Cuộc chiến của đội cảnh sát cơ động 2024, Tháng bảy
Anonim
Hệ thống báo động phát hiện chuyển động
Hệ thống báo động phát hiện chuyển động

Ghi chú! Khối phản ứng không còn có sẵn để tải xuống. Một máy ảnh USB cơ bản có thể được sử dụng để phát hiện chuyển động trong phòng. Trong các bước sau, chúng tôi sẽ chỉ cho bạn cách bạn có thể sử dụng Khối phản ứng để lập trình một ứng dụng Java sẵn sàng chạy để gửi SMS hoặc Email khi phát hiện chuyển động. Với Reative Blocks, bạn tạo các ứng dụng Java SE để ứng dụng cảnh báo có thể được triển khai trên bất kỳ máy nào có Java SE và máy ảnh được gắn hoặc tích hợp. Ứng dụng được triển khai dễ dàng trên Pi vì bản phát hành Raspbian đã được cài đặt sẵn Oracle Java..

Đây là những gì bạn cần:

  1. Raspberry Pi Model B + với Hệ điều hành Raspbian
  2. Máy ảnh USB tiêu chuẩn
  3. Cáp Ethernet
  4. Màn hình và bàn phím cho Pi
  5. Máy tính Windows hoặc MAC với JDK
  6. Ghi chú! Khối phản ứng không còn có sẵn để tải xuống. Bạn sẽ cần Reactive Blocks, một plugin Eclipse, để lập trình ứng dụng.

Ứng dụng cảnh báo này là một trong một số hệ thống ví dụ có thể sửa đổi có thể truy cập được sau khi bạn cài đặt Khối phản ứng. Ứng dụng này đã sẵn sàng để sử dụng và bạn sẽ không cần bất kỳ kỹ năng lập trình Java nào để hoàn thành hướng dẫn. Để tạo các ứng dụng và khối xây dựng Reactive Blocks của riêng bạn, bạn cần phải là một lập trình viên Java thành thạo. Khi xây dựng các ứng dụng phức tạp hơn với một số cảm biến và bộ truyền động, Khối phản ứng giúp bạn dễ dàng thực hiện đúng logic và luồng dữ liệu. Reactive Blocks miễn phí cho các dự án mã nguồn mở.

Bước 1: Cài đặt các khối phản ứng

Các khối phản ứng đã bị ngừng hoạt động

Bước 2: Tải xuống ứng dụng từ thư viện

Tải xuống ứng dụng từ các thư viện
Tải xuống ứng dụng từ các thư viện

Đảm bảo rằng bạn đã mở phối cảnh Khối phản ứng và bạn đang ở chế độ xem Khối. Từ chế độ xem Khối, hãy chọn nút nhập và chọn Ứng dụng tham chiếu. Chọn dự án Phát hiện chuyển động. Tại thời điểm này, bạn sẽ được yêu cầu đăng ký với một ID google. Điều này sẽ cung cấp cho bạn quyền truy cập ngay lập tức vào thư viện khối xây dựng cũng như các hệ thống và hướng dẫn có thể sửa đổi.

Dự án Phát hiện chuyển động bạn đã tải xuống bao gồm ba ứng dụng, SMS Hệ thống cảnh báo, Email Hệ thống cảnh báo và một ứng dụng thử nghiệm Kiểm tra phát hiện chuyển động. Trong hướng dẫn này, chúng tôi hướng dẫn bạn thông qua SMS Hệ thống báo động. Nếu bạn muốn gửi Email, bạn có thể thực hiện các bước tương tự với Email của hệ thống báo động

Bước 3: Ứng dụng ở Cấp cao nhất

Ứng dụng ở cấp cao nhất
Ứng dụng ở cấp cao nhất

Bước này đưa ra lời giải thích về ứng dụng. Hình ảnh đầu tiên cho thấy sơ đồ của ứng dụng hoàn chỉnh trông như thế nào ở cấp cao nhất. Nó bao gồm 7 khối xây dựng; 5 khối xây dựng tiêu chuẩn từ các thư viện và 2 khối tùy chỉnh được tạo cho ứng dụng này.

Các Khối tiêu chuẩn từ thư viện IoT là:

  • Grabber, lấy hình ảnh từ máy ảnh USB
  • Phát hiện chuyển động, thực hiện phát hiện hình ảnh thực tế
  • Hẹn giờ định kỳ, bắt đầu từ các dấu thời gian chính xác và gửi tín hiệu trên chân đánh dấu mỗi kỳ.
  • Buffer Eager, tự động đẩy ra phần tử đầu tiên trong hàng đợi. Bộ đệm đảm bảo rằng chỉ một tin nhắn được gửi đến khối Gửi SMS vì nó chỉ có thể xử lý một tin nhắn tại một thời điểm.
  • SMS Send Buffered, gửi SMS thông qua dịch vụ Twilio. Các phần tử được gửi được lưu vào bộ đệm để đảm bảo rằng chỉ có một thư được gửi tại một thời điểm.
  • Giới hạn, để tránh quá nhiều SMS khi phát hiện kẻ xâm nhập.
  • Đọc tệp Thuộc tính Java, đọc dữ liệu cấu hình từ tệp đầu vào
  • Xem, xem một hình ảnh trên màn hình.

Khối Hẹn giờ định kỳ hoạt động như một động cơ hệ thống. Nó sẽ định kỳ phát ra một đánh dấu gửi tín hiệu đến khối Grabber thông qua chốt lấy. Khối Grabber sử dụng Phân tích Đa phương tiện Thông minh Mở cho Java, OpenIMAJ. Khi khối được khởi tạo, một luồng riêng biệt sẽ được bắt đầu để đọc dữ liệu từ máy ảnh. Luồng lắng nghe một hàng đợi lệnh. Khi khối nhận được lệnh qua chốt lấy, nó sẽ chụp một ảnh và gửi nó trên chốt e hình ảnh.

Sau đó, hình ảnh được chuyển đến khối Phát hiện chuyển động thực hiện việc phát hiện hình ảnh thực tế. Khối phát hiện chuyển động cũng sử dụng OpenIMAJ. Một phương thức trong khối này so sánh hai hình ảnh và sẽ gắn cờ các thay đổi trong hình ảnh khi phát hiện chuyển động. Phương pháp này rất tốn CPU và phải chạy trong một luồng riêng biệt. Khi một hình ảnh được phát hiện, nó được báo hiệu trên pin motionDetected sẽ kích hoạt tạo một tin nhắn SMS.

Các hộp màu xanh nhạt là tất cả các phương thức Java được tạo riêng cho ứng dụng này. Nhấp vào một khối phương thức sẽ mở trình soạn thảo Java.

Khi bạn nhấp vào một khối xây dựng, bạn có thể xem chi tiết logic bên trong khối. Ví dụ, nếu bạn nhìn vào bên trong khối ReadConfig, bạn sẽ thấy nó được tạo ra bằng cách kết hợp một khối xây dựng hiện có và 4 phương thức Java.

Giới hạn đặt giới hạn về số lượng tin nhắn được tạo. Chú ý chữ P ở góc bên phải của khối nhà. Nó chỉ ra rằng bạn có thể đặt thời gian ngắn hạn thời gian mà ứng dụng phải đợi trước khi nó gửi một tin nhắn SMS mới. Cài đặt mặc định là 300000ms, tức là 5 phút. Để thay đổi giá trị. Nhấp chuột phải vào khối và chọn các tham số và số liệu chung.

Bước 4: Bật SMS

Bật SMS
Bật SMS

Ứng dụng báo thức này sử dụng Twilio làm dịch vụ SMS. Để bật SMS, bạn phải chỉnh sửa cấu hình tệp / alert-system.properties. Bạn có thể tìm thấy nó trong dạng xem trình khám phá gói dưới br.ref.motiondetection, xem hình ảnh.

Tệp này là cùng một tệp được sử dụng trong Email Hệ thống Báo động. Nếu bạn muốn có thông báo qua email, bạn sẽ sử dụng ứng dụng này và chỉnh sửa tệp bằng thông tin đăng nhập email của bạn.

Nếu bạn không có dịch vụ Twilio, bạn có thể sửa đổi ứng dụng để sử dụng dịch vụ SMS của riêng bạn. Chúng tôi cũng có một khối xây dựng sẵn sàng để sử dụng cho dịch vụ Clickatell. Hoặc bạn có thể gắn modem để gửi SMS.

Bạn có thể tìm thấy các khối xây dựng cho email SMTP, AirVantage Cloud, IBM Bluemix và Xively.

Lưu ý rằng để thực hiện các thay đổi, trước tiên bạn cần thực hiện dự án của riêng mình. Sau đó sao chép / nhân bản ứng dụng vào dự án mới tạo của bạn. Bạn có thể xem cách thực hiện điều này tại đây:

Đừng ngần ngại liên hệ với tôi nếu bạn cần trợ giúp

Bước 5: Xây dựng và chạy ứng dụng trên máy tính xách tay của bạn

Xây dựng và chạy ứng dụng trên máy tính xách tay của bạn
Xây dựng và chạy ứng dụng trên máy tính xách tay của bạn

Bạn cần xây dựng ứng dụng trước khi chạy và triển khai ứng dụng đó với Raspberry Pi. Điều này được thực hiện bằng cách sử dụng trình tạo mã Khối phản ứng tạo ra một dự án Java hoàn chỉnh từ cấu trúc của các khối xây dựng. Mã đại diện cho các sơ đồ là mã đồng bộ hóa xử lý các sự kiện theo đúng thứ tự và vào đúng thời điểm, và thường chiếm hơn 60% số dòng mã trong chương trình của bạn. Vì các khối xây dựng là các cấu trúc toán học chính xác, bộ tạo có thể biến đổi logic này thành mã rất hiệu quả. Đây là tính năng Khối phản ứng rất hay vì để viết mã như vậy theo cách thủ công rất tẻ nhạt và khó khăn. Để tạo mã, đây là tất cả những gì bạn cần làm:

Nhấp chuột phải vào dự án Hệ thống báo động SMS trong tab Dự án và Chọn phiên bản tiêu chuẩn Java. Đảm bảo thông tin ghi nhật ký là THÔNG TIN. Sau đó, dự án được tạo sẽ tự động mở trong tab Trình khám phá gói. Xem hình để biết chi tiết.

Bước 6: Chạy ứng dụng trên máy tính của bạn

Chạy ứng dụng trên máy tính của bạn
Chạy ứng dụng trên máy tính của bạn
Chạy ứng dụng trên máy tính của bạn
Chạy ứng dụng trên máy tính của bạn

Bây giờ bạn có thể thực hiện dự án đã tạo. Trong dạng xem Package Explorer dưới dự án _exe được tạo, bấm chuột phải vào AlarmSystemSMS.launch và chọn RunAs rồi chọn AlarmSystemSMS.

Xem cửa sổ trên màn hình và giao diện Console. Nên trông giống như hình thứ hai.

Chấm dứt ứng dụng bằng cách đóng cửa sổ camera.

Đối với ứng dụng gửi email: Nếu bạn gặp lỗi xác thực, hãy đảm bảo rằng email của bạn được phép gửi SMTP. Xem cách khắc phục sự cố ở cuối hướng dẫn qua email:

Bước 7: Xuất dưới dạng tệp JAR có thể chạy được

Xuất dưới dạng tệp JAR có thể chạy được
Xuất dưới dạng tệp JAR có thể chạy được

Nếu bạn muốn chạy ứng dụng trên Raspberry Pi, bước tiếp theo là xuất dự án đã tạo thành tệp JAR có thể chạy được. Để thực hiện việc này, hãy nhấp chuột phải vào dự án thực thi trong chế độ xem trình khám phá gói và chọn xuất. Sau đó chọn tùy chọn tệp JAR Runnable và nhấn tiếp theo. Trong cửa sổ sau, chọn cấu hình khởi chạy và đích xuất phù hợp. Trong đích xuất, sử dụng nút duyệt để bạn có thể đặt tệp.jar ở nơi bạn có thể tìm thấy nó.

Bước 8: Chuẩn bị Raspberry Pi của bạn

  • Chuẩn bị thẻ SD với Raspbian (chúng tôi đã thử nghiệm bằng NOOBS)
  • Gắn thẻ SD vào Raspberry pi
  • Kết nối máy ảnh
  • Kết nối mạng
  • Kết nối màn hình và bàn phím với Pi
  • Khởi động Raspberry pi bằng cách kết nối micro USB để cấp nguồn.
  • Tìm địa chỉ IP của Raspberry Pi của bạn. Khi khởi động, Raspberry Pi của bạn sẽ báo một thứ như "Địa chỉ IP của tôi là 10.10. 15.107"
  • Chúng tôi đã thử nghiệm với Raspbian (đăng nhập mặc định: pi, mật khẩu: raspberry), bao gồm Java theo mặc định.

Bước 9: Triển khai ứng dụng cho Raspberry Pi của bạn

Để sao chép tệp jar chạy được từ máy tính của bạn sang Rapsberry Pi, hãy làm theo các bước sau:

  • Mở một thiết bị đầu cuối trên máy của bạn
  • Chuyển đến thư mục chứa tệp JAR đã tạo
  • Nhập scp alertmsystem.jar [email protected]: ~ /
  • Bạn sẽ được yêu cầu kết hợp mật khẩu. "pi" là tên người dùng mặc định và "raspberry" là mật khẩu mặc định
  • Đi tới thư mục chứa tệp cấu hình alert_system.properties. Đối với tôi, dễ nhất là sao chép thủ công tệp từ trình soạn thảo Eclipse vào cùng một thư mục với tệp jar.
  • Nhập scp motiondetection.ini [email protected]: ~ /

10.10.15.107 là địa chỉ IP, hãy thay thế nó bằng địa chỉ IP của Raspberry Pi của bạn.

- Tất nhiên, bạn cũng có thể sử dụng thẻ nhớ để sao chép nó sang Pi

Bước 10: Chạy ứng dụng trên Raspberry Pi của bạn

Bây giờ bạn đã sẵn sàng để chạy ứng dụng.

  • Đăng nhập vào Raspberry Pi trực tiếp hoặc từ xa qua ssh.
  • Tạo một thư mục cấu hình mới: mkdir config
  • Kiểm tra xem tệp JAR có thể chạy và.ini đã được sao chép vào Raspberry Pi hay chưa
  • Di chuyển tệp.ini vào thư mục cấu hình: mv alert_system.properties config /
  • Nhập sudo java -jar alertmsystem.jar
  • Xem đầu ra trên bảng điều khiển
  • Chấm dứt bằng ^ C

Bước 11: Sửa đổi ứng dụng của bạn

Bây giờ bạn có thể sửa đổi và mở rộng ứng dụng của mình theo ý muốn. Nếu bạn muốn mở rộng một hệ thống nhập khẩu như hệ thống báo động này, trước tiên bạn cần tạo dự án của riêng mình và nhân bản hệ thống báo động vào dự án của riêng bạn.

Lưu ý rằng để thực hiện các thay đổi, trước tiên bạn cần thực hiện dự án của riêng mình. Sau đó sao chép / nhân bản ứng dụng vào dự án mới tạo của bạn. Bạn có thể xem cách thực hiện điều này tại đây:

Thực hiện theo đường mòn IoT Tuturial để nhận mô tả từng bước về cách xây dựng hoặc sửa đổi các ứng dụng Khối phản ứng cụ thể.

Đề xuất: