Mục lục:

Raspberry Pi Door Notifier: 6 bước (có hình ảnh)
Raspberry Pi Door Notifier: 6 bước (có hình ảnh)

Video: Raspberry Pi Door Notifier: 6 bước (có hình ảnh)

Video: Raspberry Pi Door Notifier: 6 bước (có hình ảnh)
Video: How to make an RFID door lock system with Raspberry Pi board 2024, Tháng Chín
Anonim
Raspberry Pi Door Notifier
Raspberry Pi Door Notifier

Bạn đã bao giờ tự hỏi nếu hoặc khi nào mọi người đang truy cập vào các cửa ra vào? Bạn có muốn một cách kín đáo, rẻ tiền và nhanh chóng để giám sát chuyển động của cửa… và có thể là một dự án nhỏ? Không cần tìm đâu xa! Thiết bị đơn giản này sẽ theo dõi các rung động phát ra từ các cánh cửa di chuyển và báo cáo lại cho người dùng bằng một email đến một địa chỉ email được chỉ định.

Dự án này sẽ cung cấp cho bạn một số thực hành với Flask, Raspberry Pis, cảm biến GPIO và API Mandrill! Nó không chỉ là thú vị để xây dựng mà nó có rất nhiều tiện ích. Những kẻ xâm nhập hãy cẩn thận…

Bước 1: Nguồn cung cấp

Quân nhu
Quân nhu

Vẫn có kế hoạch xây dựng công trình này? Đây là những gì bạn cần:

  • Raspberry Pi 3
  • Thẻ micro SD
  • 3 dây nữ sang nữ
  • 1 cảm biến rung
  • Một ngân hàng điện
  • Dải lệnh

Nếu bạn đang lên kế hoạch xây dựng dự án này cho nhiều cửa, hãy nhân từng nguồn cung cấp với số lượng thiết bị bạn sẽ cần.

Nếu bạn đang trong quá trình xây dựng / thử nghiệm thiết bị này, không nhất thiết phải có những thứ sau… tuy nhiên, nó chắc chắn sẽ rất hữu ích.

  • Một màn hình máy tính
  • Bàn phím USB
  • Bộ sạc micro USB

Bước 2: Đấu dây

Đấu dây
Đấu dây
Đấu dây
Đấu dây

Mặc dù Raspberry Pi là một thiết bị tiện lợi đi kèm với rất nhiều cảm biến và thiết bị ngoại vi khác nhau, nhưng chúng ta cần thêm cảm biến chính vào hệ thống dây của Pi để nó có thể thực hiện các phép đo mà chúng ta cần. Cảm biến chính được sử dụng trong dự án này có thể được nhìn thấy trong hình trên –– đó là cảm biến rung với độ nhạy cao. Mặc dù chúng tôi có thể sử dụng breadboard hoặc một số thiết bị gắn kết khác để đặt cảm biến này lên và chạy dây của chúng tôi qua, nhưng chúng tôi chỉ cần kết nối nó qua dây cái với cái trực tiếp với các chân trên thiết bị Raspberry Pi.

Bạn có thể tìm thấy sơ đồ đi dây ở trên (bắt nguồn từ https://www.piddlerintheroot.com/vibration-sensor/). Chỉ cần kết nối tất cả các dây như thể hiện trong hình ảnh này và cảm biến rung của bạn sẽ hoạt động tốt. Cũng xin lưu ý rằng cuối cùng bạn sẽ cần một bộ pin cho dự án này, nhưng nếu bạn đang thử nghiệm thì việc cắm thiết bị vào ổ cắm trên tường có lẽ rất hữu ích.

Bước 3: Thiết lập nội dung

Chúc mừng! Bạn đã làm cho nó đến nay. Cứ đi đi!

Bây giờ chúng tôi sẽ bắt đầu làm việc trực tiếp với Pi. Tất cả những điều sau đây có thể được thực hiện trên thiết bị có bàn phím và màn hình (hoặc thông qua SSH nếu bạn cảm thấy thoải mái).

Có rất nhiều thiết lập sơ bộ để có được bất kỳ cảm biến GPIO nào hoạt động với Pi và Flask. Kiên nhẫn là một đức tính tốt. Có khá nhiều thư viện Python mà bạn sẽ phải cài đặt trước. Điều này có thể được thực hiện với Pip, một trình quản lý thư viện / gói cho Python. Để sử dụng, hãy nhập vào 'pip install' Để đặt tên cho một số thư viện bạn sẽ cần:

  • yêu cầu
  • RPi. GPIO
  • bình giữ nhiệt
  • flask_restful
  • flask_wtf
  • wtforms
  • e-mail
  • mandrill

Bạn có thể muốn uống một ly cà phê trong khi chờ cài đặt những thứ này –– có thể mất một chút thời gian.

Bây giờ tất cả các thư viện của bạn đã được cài đặt, bạn đã sẵn sàng để bắt đầu dự án Flask của mình. Flask là một khung công tác nhẹ cung cấp các trang từ thiết bị mà nó đang chạy. Trong trường hợp này, Raspberry Pi trở thành một máy chủ. Khá tiện lợi phải không? Bạn có thể tìm hiểu cách thiết lập ứng dụng Flask rất đơn giản tại đây. Vui lòng làm điều này trước khi thử bất kỳ hướng dẫn nào sau đây.

Bước 4: Viết mã và chạy

Khi bạn đã hoàn thành việc này, bạn đã sẵn sàng để bắt đầu xây dựng các tệp dự án. Tôi đã bao gồm tất cả các tệp bạn cần bên dưới –– Tuy nhiên, bạn có thể nên viết lại mã và không chỉ sao chép các tệp đó (BẠN HÃY TÌM HIỂU THÊM!).

Đây là những gì các tổ chức thư mục sẽ trông như thế nào:

+ - iotapp | + - appFolder | + - mẫu | + - index.html | + - _init_.py | + - form.py | + - mcemail.py | + - route.py | + - iotapp.py | + - vibes.py

Đặt tất cả các tệp này theo đúng thứ tự này và bạn sẽ có thể thiết lập và chạy dự án của mình ngay lập tức. Để sau đó chạy máy chủ Flask của bạn, bạn nên điều hướng đến thư mục gốc. Sau đó, bạn nên nhập:

$ export FLASK_APP = iotapp.py

$ python -m chạy bình --host 0.0.0.0

Với điều này, bạn sẽ nhận được thông báo cho biết máy chủ của bạn đang chạy và bạn có thể cung cấp trang từ thiết bị này sang thiết bị khác trên mạng.

Bây giờ sẽ là thời điểm tốt để xem qua các tệp của bạn và thực sự cố gắng nắm bắt những gì mã đang làm. Tất nhiên, không có mã nào được thiết lập sẵn… tất cả đều có thể được cập nhật / thay đổi để phù hợp với nhu cầu cụ thể của dự án. Ví dụ: ngay bây giờ khi thiết bị ĐĂNG khi nhận đầu vào từ cảm biến rung, nó sẽ gửi dấu thời gian về thời điểm đầu vào xảy ra. Tuy nhiên, máy chủ không lưu dữ liệu này. Điều này có thể được thực hiện nếu người dùng muốn giữ thông tin lịch sử và muốn hiển thị nó ở đâu đó.

Một điều bạn có thể nhận thấy là MÃ KHÔNG HOÀN THÀNH. Dự án này sử dụng một API bên ngoài để gửi email thông báo khi có rung động (cửa mở). Để thiết lập điều này, bạn cần tạo tài khoản Mandrill và tạo khóa API.

Khi bạn đã xác minh miền gửi của mình và có khóa API, bạn có thể đặt khóa của mình vào tệp `mcemail.py` (nơi có) và điều chỉnh thông tin gửi (bằng cách thay đổi thông số mặc định trong cùng một tệp hoặc bằng cách chuyển trong một email khác trong tệp `route.py`. Nếu bạn muốn có thêm tài liệu về Mandrill và cách sử dụng nó, bạn có thể tìm thấy tại đây.

Bước 5: Kiểm tra

Thử nghiệm
Thử nghiệm

Trước khi bạn gắn thiết bị vào vị trí cố định của nó, có lẽ bạn nên kiểm tra mọi thứ mà nó đang hoạt động. Đây là cách bạn chạy công cụ.

Thiết bị thực sự đang chạy hai chương trình: `vibes.py` và máy chủ Flask. Trước tiên phải chạy ở chế độ nền và sau đó máy chủ Flask có thể được chạy. `vibes.py` chỉ đơn giản là ĐĂNG lên máy chủ và máy chủ diễn giải yêu cầu ĐĂNG.

$ python vibes.py &

$ python -m chạy bình --host 0.0.0.0

Sau đó, bạn sẽ có thể điều hướng đến đúng URI / IP và đặt địa chỉ email mà bạn muốn gửi tất cả các thông báo của mình. Bạn nên chạm vào cảm biến rung để thử gửi một số email kiểm tra và đảm bảo rằng dự án đang hoạt động.

Mọi thứ có vẻ tốt? Được rồi, chúng tôi đã sẵn sàng kinh doanh!

Bước 6: Gắn kết

Gắn
Gắn

Việc gắn thiết bị khá dễ hiểu. Về cơ bản, bạn chỉ cần đảm bảo rằng thiết bị được kết nối với bộ pin và sử dụng các dải lệnh để dán thiết bị vào cửa.

Lưu ý: phải đặt thiết bị với cảm biến rung vuông góc với cửa để cảm biến bắt được chuyển động của cửa

Sau khi hoàn tất, bạn sẽ có thể SSH vào thiết bị và chạy các chương trình như đã đề cập ở bước trước và chờ những kẻ xâm nhập!

Để có thêm điểm, hãy cố gắng giấu dây / thiết bị để những kẻ xâm nhập không nghi ngờ thiết bị thông minh của bạn!… Hoặc không đặt nó trên cửa kính. ¯ / _ (ツ) _ / ¯

Đề xuất: