Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-23 15:15
Mục lục
1 Tổng quan về Ngôi nhà an toàn thông minh
2 Yêu cầu phần cứng + Thiết lập
3 Yêu cầu phần mềm + Thiết lập
4 Đăng ký raspberrypi như một thứ
5 Tạo nhóm S3
6 Thiết lập DynamoDB + Quy tắc
7 Kết quả mong đợi
8 mã (Từ Pastebin)
9 Tài liệu tham khảo
Tổng quat
Chào mừng! Dự án Raspberry Pi này là một hệ thống quản lý "nhà thông minh", với một số tính năng bảo mật nhất định. Dự án có thể đo các giá trị khác nhau như nhiệt độ và ánh sáng. Phần an ninh bao gồm Buzzer, hệ thống quét thẻ (Authorizes card), camera trong nhà và ngoài trời cũng như hệ thống cảnh báo SMS. Các hướng dẫn sau đây sẽ bao gồm việc thiết lập toàn bộ dự án.
Về cơ bản, chúng ta có một điện trở diode ánh sáng và một cảm biến DHT11 để lấy các giá trị nhiệt độ cũng như ánh sáng. Sau đó, các giá trị sẽ được xuất bản lên ‘smartroom / sensor / values’ và sẽ có đăng ký chủ đề để kiểm tra xem các giá trị có đang được xuất bản hay không. Khi các giá trị đang được xuất bản, các giá trị cũng sẽ được gửi đến bảng DynamoDB của chúng tôi. Các giá trị được lưu trữ bên trong DynamoDB có thể được trích xuất và được vẽ thành biểu đồ hiển thị các giá trị thời gian thực trong giao diện web của chúng tôi. (Đồ thị ánh sáng) Bên cạnh việc sử dụng các cảm biến để nhận các giá trị để vẽ biểu đồ của chúng tôi cho mục đích phân tích, cảm biến dht11 của chúng tôi cũng được sử dụng như một thiết bị phát hiện "cháy" tiềm năng. Khi nó chạm đến một nhiệt độ nhất định có thể gây hỏa hoạn, chúng tôi có một tập lệnh có tên là PublishingHeat.py sẽ xuất bản nhiệt độ đó cho một chủ đề 'phòng thông minh / cảm biến / lửa', bảng phân vùng tượng trưng cho bên ngoài căn hộ sau đó sẽ đăng ký chủ đề đó chủ đề và có đèn LED sáng lên để chỉ ra rằng có thể có một đám cháy tiềm ẩn. Chuông báo động cũng sẽ phát ra cũng như một tin nhắn SMS để cảnh báo cho chủ sở hữu ngôi nhà khi có thể có hỏa hoạn.
Để vào nhà / phòng, người dùng sẽ phải gõ thẻ của họ vào máy quét RFID. Nếu thẻ được khai thác không chính xác, cảnh báo sẽ phát ra âm thanh cho đến khi một thẻ có thông tin xác thực phù hợp được nhấn. Ngoài ra, khi gõ sai thẻ, camera giám sát bên ngoài sẽ chụp ảnh người dùng gõ thẻ và tải hình ảnh lên thùng S3. Chủ sở hữu ngôi nhà cũng sẽ nhận được một tin nhắn SMS thông báo rằng ai đó đã cố gắng vào nhà của họ. Căn phòng cũng có đèn LED chỉ báo bên ngoài để ghi nhãn nếu cửa được mở / khóa. Khi cửa được khóa, đèn LED màu vàng sáng. Khi mở khóa, đèn LED màu xanh lá cây sẽ sáng. Khi chạm vào thẻ được ủy quyền, cửa sẽ được mở khóa trong 15 giây và với đèn LED màu xanh lá cây sáng, sau đó trở lại chế độ mở khóa với đèn LED màu vàng sáng.
Người dùng có thể xem dữ liệu được thu thập thông qua Bảng điều khiển trong Node-Red hiển thị các giá trị đo lường hiện tại cùng với biểu diễn đồ họa của máy đo và biểu đồ lịch sử. Bảng điều khiển cũng bao gồm các tính năng bổ sung như đồng hồ hiển thị dữ liệu và thời gian hiện tại và công tắc để điều khiển từ xa các thiết bị điện khác nhau, được biểu thị dưới dạng đèn LED và còi.
Cuối cùng, chúng tôi cũng có một tính năng bot điện tín. Bot telegram có thể chụp ảnh từ xa bất cứ điều gì đang xảy ra bên trong phòng và lưu trữ nó vào thùng S3. Những bức ảnh này sẽ được gắn nhãn bên trong một thư mục có tên “Homed / User. Bot điện tín cũng sẽ có thể điều khiển từ xa đèn LED trong phòng.
Bước 1: Yêu cầu phần cứng + Thiết lập
Kết nối các thành phần sau với 2 quả mâm xôi của bạn như được hiển thị trong sơ đồ fritzing ở trên.
2 x Raspberry Pi
3 x Breadboard
1 x MCP3008 ADC
1 x cảm biến DhT 11
1 x LDR
1 x Đầu đọc thẻ RFID / NFC MFRC522
4 x đèn LED
1 x màn hình LCD
Điện trở 3 x 10k
Điện trở 4 x 220/330
1 x nút
1 x Buzzer
34 x Cáp nam sang cáp nam
11 x cáp nam sang cáp nữ
Bước 2: Yêu cầu phần mềm + Thiết lập
Nhập các lệnh sau vào thiết bị đầu cuối raspberry pi của bạn để đảm bảo rằng chúng đã được cài đặt.
Nếu bất kỳ phần mềm nào sau đây đã được tải xuống pi của bạn, cài đặt sudo pip (Tên phần mềm) - nâng cấp sẽ thực hiện thủ thuật cập nhật nó.
- sudo pip cài đặt gevent
- bình cài đặt sudo pip
- sudo pip cài đặt nexmo
- sudo pip install - nâng cấp --force-reinstall pip == 9.0.3
- sudo pip cài đặt AWSIoTPythonSDK - nâng cấp - vô hiệu hóa-pip-phiên bản-kiểm tra
- cài đặt pip sudo - nâng cấp pip
- sudo apt-get install python-dev
- sudo pip cài đặt boto3
- sudo pip cài đặt botocore
- sudo pip cài đặt numpy
- cd ~
git clone
cd ~ / SPI-Py
sudo python setup.py install"
- cd ~
git clone
cd ~ / MFRC522-python
sudo python setup.py install"
- sudo nano /boot/config.txt, kiểm tra xem dòng device_tree_param = spi = on
dtoverlay = spi-bcm2835 đang ở bên trong, người khác thêm vào.
Bước 3: Đăng ký Điều
a) Trước tiên, điều hướng đến IoT Core trong trang web AWS bằng cách nhấp vào dịch vụ, sau đó nhấp vào IoT Core.
b) Tại thanh điều hướng được quản lý, chọn các thứ và chọn đăng ký một thứ.
c) Chọn Tạo một thứ duy nhất.
d) Nhập tên cho thiết bị của bạn, ví dụ: MyRaspberryPi2. Để phần còn lại của các trường theo giá trị mặc định của chúng. Nhấp vào tiếp theo ở cuối trang.
e) Nhấp vào tạo chứng chỉ. Tải xuống tất cả bốn tệp. Đối với tệp CA gốc, hãy tải xuống Amazon Root CA 1 và lưu nó trong sổ ghi chú.
f) Sau khi hoàn tất, hãy chuyển bốn tệp vào một thư mục trong raspberry pi.
g) Nhấp vào kích hoạt.
h) Sau khi nhấp vào chính sách đính kèm, bạn sẽ được đưa đến trang sau. Bấm đăng ký điều, chính sách sẽ được tạo sau.
i) Trên trang tổng quan iot, điều hướng đến các chính sách trong phần bảo mật. Nhấp vào tạo chính sách.
j) Nhập tên cho chính sách của bạn, ví dụ này sẽ là MyRaspberryPiSecurityPolicy và nhập vào phần sau trong Thêm câu lệnh. Sau đó nhấp vào Tạo.
k) Trên trang tổng quan iot, điều hướng đến chứng chỉ trong phần an toàn. Chọn chứng chỉ bạn đã tạo trước đó và nhấp vào đính kèm chính sách từ trình đơn thả xuống hành động. Đính kèm chính sách bạn đã tạo trước đó.
l) Chọn lại chứng chỉ bạn đã tạo trước đó và nhấp vào đính kèm thứ. Đính kèm chính sách bạn đã tạo trước đó. Đính kèm thứ bạn đã tạo trước đó.
Bước 4: Tạo Nhóm S3
a) Chúng tôi sẽ bắt đầu bằng việc sử dụng chức năng tìm kiếm trong bảng điều khiển quản lý AWS và tìm kiếm “s3”.
b) Nhấp vào tạo nhóm.
c) Nhập tên cho thùng. Đối với ví dụ này, chúng tôi sẽ sử dụng tên “sp-p1703263”. Chúng tôi sẽ chọn khu vực "US EAST (N. VIRGINIA)" là chúng tôi-đông-1. Sau khi hoàn tất, hãy nhấp vào Tạo.
d) Nhóm mới được tạo sẽ xuất hiện trong trang tổng quan.
Bước 5: Tạo bảng DynamoDB và đặt quy tắc
a) Đầu tiên, điều hướng đến các dịch vụ AWS bằng cách nhấp vào
các dịch vụ, sau đó là DynamoDB. Bấm tạo bảng.
b) Nhập tên bảng “iotdata” và khóa chính “deviceid” với khóa sắp xếp “datetimeid”, sau đó nhấp vào tạo ở cuối trang.
c) Sau đó, điều hướng trở lại trang IoT Core. Nhấp vào Hành động, sau đó nhấp vào tạo quy tắc mới.
d) Tạo quy tắc với tên “MyDynamoDBRule”. Trong chủ đề câu lệnh truy vấn quy tắc, hãy nhập “cảm biến / ánh sáng”.
e) Trong phần Đặt một hoặc nhiều hành động, nhấp vào thêm hành động, nhấp vào “chia thư thành nhiều cột của bảng cơ sở dữ liệu”. Nhấp vào cấu hình hành động. Dưới tên bảng, chọn iotdata. Dưới tên vai trò IAM, hãy chọn vai trò bạn đã tạo trước đó là “dynamicodb_role”. Nhấp vào thêm hành động, sau đó tạo quy tắc.
f) Nhấp vào tạo quy tắc.
Bước 6: Kết quả mong đợi
Ngoài trời
đối với số pi đại diện cho bên ngoài của căn phòng, các tập lệnh heatdetector.py và AccessDoor.py sẽ được chạy. Nếu thẻ không chính xác chạm vào máy quét RFID, cảnh báo sẽ tắt, với đèn LED màu vàng vẫn sáng. Một tin nhắn SMS sẽ được gửi đến điện thoại của chủ nhân ngôi nhà để thông báo về khả năng bị đột nhập. Báo thức cũng sẽ phát ra âm thanh. Một bức ảnh cũng sẽ được chụp và tải lên ngay lập tức vào S3 Bucket. Nếu thẻ được khai thác được cho phép, đèn LED màu xanh lá cây sẽ sáng và người dùng có thể vào. Cửa sẽ được khóa lại sau 15 giây (Đèn LED màu xanh lá cây sẽ tắt và đèn LED màu vàng sáng trở lại). Nếu nhiệt độ bên trong phòng / nhà quá cao (Đến nhiệt độ mà chúng tôi cho là nhà / phòng có khả năng xảy ra cháy), chúng tôi sẽ gửi cảnh báo qua SMS cho chủ nhà. Báo thức cũng sẽ phát ra âm thanh với đèn LED màu đỏ bên ngoài sáng.
Trong nhà
đối với số pi đại diện cho bên trong của căn phòng, các tập lệnh printHeat.py, server.py, pubsub.py, telegrambot.py sẽ được chạy. Pubsub.py sẽ lưu trữ các giá trị thời gian thực vào DynamoDB. khi server.py được chạy, hãy nhập địa chỉ ip của rpi: 5000 vào trình duyệt, bạn sẽ được dẫn đến giao diện web của chúng tôi. Chúng tôi có một biểu đồ hiển thị các giá trị ánh sáng thời gian thực thu được từ các cảm biến của chúng tôi trong pubsub.py vào DynamoDB. Ngoài ra, các giá trị ánh sáng lịch sử cũng sẽ được hiển thị trong giao diện web của chúng tôi. PublishingHeat.py sẽ xuất bản các giá trị nhiệt độ lên breadboard ngoài trời cho các mục đích cảm biến lửa. telegrambot.py sẽ cho phép người dùng điều khiển từ xa việc bật / tắt đèn LED trong phòng / nhà cũng như chụp ảnh những gì đang xảy ra bên trong và tải ảnh lên thùng S3.
Để hình dung rõ hơn về kết quả dự kiến sẽ như thế nào:
Bước 7: Mã nguồn (Pastebin)
Nhấp vào đường dẫn. Bao gồm tất cả các mã nguồn cần thiết:
Bước 8: Tham khảo
Iotguider. (2019). Gửi SMS từ Raspberry Pi bằng Python. [trực tuyến] Có tại: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Truy cập ngày 21 tháng 8 năm 2019].
Đề xuất:
Máy pha cà phê thông minh - Một phần của Hệ sinh thái Nhà thông minh: 4 bước
Máy pha cà phê thông minh - Một phần của Hệ sinh thái SmartHome: Máy pha cà phê bị tấn công, biến nó thành một phần của Hệ sinh thái nhà thông minh Tôi sở hữu một Máy pha cà phê Delonghi cũ tốt (DCM) (không phải là một chương trình khuyến mãi và muốn nó “thông minh”. Vì vậy, tôi đã hack nó bằng cách cài đặt ESP8266) mô-đun có giao diện với bộ não / bộ vi điều khiển của nó sử dụng
SmartBox - Hệ thống nhà thông minh cho căn phòng của bạn: 6 bước
SmartBox - Hệ thống nhà thông minh cho căn phòng của bạn: Xin chào các bạn! Trong phần hướng dẫn này, tôi sẽ giải thích cho các bạn cách tạo một hệ thống phòng thông minh. Hệ thống này bao gồm hai thiết bị, một thiết bị chung với cảm biến độ ẩm và cảm biến nhiệt độ để đo chất lượng cuộc sống hiện tại trong phòng của bạn. Bạn đang
Bảo mật thông minh cho ngôi nhà thông minh của bạn: 14 bước
Bảo mật thông minh Ngôi nhà thông minh của bạn: Tôi đang tham gia cuộc thi an toàn và bảo mật. Nếu bạn thích tài liệu hướng dẫn của tôi, vui lòng bỏ phiếu cho nó! Tôi sẽ chỉ cho bạn cách dễ dàng và rẻ tiền để bảo vệ hoàn toàn ngôi nhà của bạn và môi trường của nó. Định cấu hình y
Quay số thông minh - Điện thoại truyền thống thông minh tự động sửa lỗi: 8 bước
Smart Dial - Điện thoại truyền thống thông minh tự động sửa lỗi: Smart Dial là điện thoại tự động sửa lỗi thông minh được tạo ra cho người cao tuổi có nhu cầu đặc biệt và nó cho phép người cao tuổi quay số trực tiếp từ điện thoại truyền thống mà họ quen dùng. Chỉ nhờ hoạt động tình nguyện tại một trung tâm chăm sóc người cao niên địa phương mà tôi
Âm nhạc thông minh trong phòng ngủ và phòng tắm với Raspberry Pi - Tích hợp Multiroom, Báo thức, Điều khiển nút và Tự động hóa nhà: 7 bước
Âm nhạc thông minh trong phòng ngủ và phòng tắm với Raspberry Pi - Tích hợp nhiều phòng, báo thức, điều khiển bằng nút bấm và tự động hóa gia đình: Hôm nay chúng tôi muốn cung cấp cho bạn hai ví dụ về cách bạn có thể sử dụng Raspberry Pi với phần mềm Max2Play của chúng tôi để tự động hóa gia đình: trong phòng tắm và phòng ngủ . Cả hai dự án đều giống nhau ở chỗ, nhạc có độ trung thực cao từ nhiều nguồn khác nhau có thể được phát trực tiếp