Mục lục:
- Bước 1: Hãy nhìn vào Tổng quan
- Bước 2: Thiết lập cho Raspberry Pi 1 (Office)
- Bước 3: Thiết lập cho Raspberry Pi 2 (Cửa)
- Bước 4: Thiết lập Telegram Bot
- Bước 5: Thiết lập DynamoDB
- Bước 6: Thiết lập Nhóm AWS S3
- Bước 7: Thiết lập AWS SNS
- Bước 8: Tạo quy tắc
- Bước 9: Tạo giao diện web
- Bước 10: Tập lệnh chính
Video: Raspberry Pi - Văn phòng thông minh: 10 bước (có hình ảnh)
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Ứng dụng nói về cái gì?
OfficeHelperBOT là một ứng dụng hướng tới một thiết lập văn phòng thông minh. 2 Raspberry Pi 3 Model B sẽ được thiết lập cho việc này.
Raspberry Pi 1 sẽ là máy chính sẽ nhận tất cả các giá trị từ các cảm biến, xuất bản dữ liệu qua MQTT, lưu trữ dữ liệu vào cơ sở dữ liệu đám mây mà chúng tôi đang sử dụng DynamoDB và chạy máy chủ cổng web.
Raspberry Pi 2 sẽ được sử dụng ngay tại cửa. Nó sẽ yêu cầu nhân viên xác minh danh tính của họ trước khi họ được phép vào văn phòng. Có hai phương pháp để thực hiện việc này là thông qua chuỗi mã pin và xác minh mã QR. Trong trường hợp quy trình xác minh có thể bị lạm dụng, chúng tôi sẽ chụp ảnh bất kỳ ai đang có quy trình xác minh không thành công và lưu trữ hình ảnh của người đó vào Nhóm AWS S3.
Một trang web sẽ có thể xem DHT, ánh sáng, hình ảnh phát hiện chuyển động và video của văn phòng. Trang web cũng có thể điều khiển đèn văn phòng và cũng có thể xem một luồng trực tiếp camera quan sát của văn phòng.
Cũng sẽ có một bot Telegram cho phép điều khiển đèn LED trong văn phòng, kiểm tra giá trị của các giá trị cảm biến như nhiệt độ và cũng cho phép nhân viên lấy hình ảnh mã QR của họ nếu họ vô tình làm mất hình ảnh mã QR hoặc quên mã pin bằng cách yêu cầu và nhận hình ảnh mã QR của họ từ Nhóm AWS S3.
Bước 1: Hãy nhìn vào Tổng quan
Sơ đồ kiến trúc hệ thống
Cách các máy sẽ giao tiếp với nhau
Kết quả phần cứng
Nhìn vào cuối cùng hai Raspberry Pi sẽ trông như thế nào
Cổng thông tin điện tử
Xem cổng web được tạo bằng Python qua Flask
Telegram Bot
Tìm Bot chúng tôi đã tạo
trực tiếp
Sử dụng 1 trong số PiCam làm camera quan sát và phát trực tiếp cảnh quay
Yêu cầu phần cứng
- 2x Raspberry Pi
- 2x Ban GPIO
- 1x LDR
- 1x DHT11
- Cảm biến chuyển động 1x
- LED 4x
- Nút 7x
- 2x Buzzer
- Màn hình LCD 2x
- 1x Webcam
Bước 2: Thiết lập cho Raspberry Pi 1 (Office)
- Tạo một thư mục để lưu trữ html của bạn được gọi là các mẫu
- Tạo một thư mục để lưu trữ các tệp css / javascript của bạn được gọi là tĩnh
- Tạo một thư mục để lưu trữ các tập tin máy ảnh của bạn có tên là camera với 3 thư mục con là capture_photos, motion_photos, motion_videos
mkdir ~ / ca2
mkdir ~ / ca2 / mẫu
mkdir ~ / ca2 / static
mkdir ~ / ca2 / static / camera
mkdir ~ / ca2 / static / camera / capture_photos
mkdir ~ / ca2 / static / camera / motion_photos
mkdir ~ / ca2 / static / camera / motion_Videos
Bước 3: Thiết lập cho Raspberry Pi 2 (Cửa)
- Tạo một thư mục để lưu trữ các tệp của bạn có tên là cửa
- Tạo một thư mục để lưu trữ hình ảnh Mã QR của bạn được gọi là qr_code
mkdir ~ / cửa
mkdir ~ / door / qr_code
Bước 4: Thiết lập Telegram Bot
- Mở Telegram
- Tìm "BotFather"
- Gõ "/ start"
- Nhập "/ newbot"
- Làm theo hướng dẫn, tên cho bot, tên người dùng cho bot, ghi lại mã thông báo xác thực bot
Bước 5: Thiết lập DynamoDB
- Đăng ký AWS
- Tìm kiếm DynamoDB trong Dịch vụ AWS
- Nhấp vào "Tạo bảng"
- Điền tên bảng
- Đặt khóa phân vùng là 'id' (Chuỗi) và Thêm khóa sắp xếp làm 'ngày giờ' (Chuỗi)
- Làm điều đó cho 4 bảng, dht, đèn, phòng trưng bày, nhân viên
Xem trước 4 bảng
Bước 6: Thiết lập Nhóm AWS S3
- Tìm kiếm AWS S3
- Nhấp vào "Tạo nhóm"
- Tuân theo các quy tắc để đặt tên cho nhóm
- Theo dõi ảnh chụp màn hình
- Tạo nhóm
Làm cách nào để tải lên bộ chứa S3?
Chúng tôi không có cổng quản trị vì vậy chúng tôi sẽ nhập hình ảnh Mã QR theo cách thủ công qua giao diện người dùng đồ họa AWS. Làm theo ảnh chụp màn hình để tạo nhóm. Đoạn mã là logic cần thiết để tải hình ảnh lên S3 Bucket
Bước 7: Thiết lập AWS SNS
- Tìm kiếm AWS SNS
- Theo dõi thẻ chủ đề
- Tạo chủ đề mới
- Đặt tên chủ đề và tên hiển thị
- Chỉnh sửa chính sách để cho phép mọi người xuất bản
- Đăng ký chủ đề được tạo
- Đặt email trong trường điểm cuối để nhận email khi giá trị đạt đến một giá trị nhất định
Bước 8: Tạo quy tắc
- Nhấp vào "Tạo quy tắc"
- Viết tên và mô tả ngắn gọn
- Chọn phiên bản SQL mới nhất để gửi toàn bộ tin nhắn MQTT
- Công cụ quy tắc sử dụng bộ lọc chủ đề để xác định quy tắc nào sẽ kích hoạt khi nhận được thông báo MQTT
- Nhấp vào "Thêm hành động"
- Chọn gửi tin nhắn qua thông báo đẩy SNS
Bước 9: Tạo giao diện web
Tạo các tệp html mới này được gọi là
- cái đầu
- đăng nhập
- nhật ký
- dht
- soi rọi
- bộ sưu tập
- cử động
- dẫn đến
Sao chép và dán từ tệp Google Drive vào html tương ứng.
drive.google.com/file/d/1zd-x21G7P5JeZyPGZp1mdUJsfjoclYJ_/view?usp=sharing
Bước 10: Tập lệnh chính
Có 3 tập lệnh chính
- server.py - Tạo một Cổng thông tin điện tử
- working.py - Logic cho Raspberry Pi 1 (Office)
- door.py Logic cho Raspberry Pi 2 (Cửa)
Chúng tôi chỉ cần chạy tất cả 3 mã để có được kết quả chúng tôi muốn
Chúng tôi có thể lấy nó từ Google drive theo Main.zip
drive.google.com/open?id=1xZRjqvFi7Ntna9_KzLzhroyEs8Wryp7g