Mục lục:

IOT CA2 Nhà thông minh an toàn / Phòng: 8 bước
IOT CA2 Nhà thông minh an toàn / Phòng: 8 bước

Video: IOT CA2 Nhà thông minh an toàn / Phòng: 8 bước

Video: IOT CA2 Nhà thông minh an toàn / Phòng: 8 bước
Video: HIEUTHUHAI - Exit Sign (prod. by Kewtiie) ft. marzuz [Official Lyric Video] 2024, Tháng bảy
Anonim
Phòng / Nhà thông minh an toàn IOT CA2
Phòng / Nhà thông minh an toàn IOT CA2
Phòng / Nhà thông minh an toàn IOT CA2
Phòng / Nhà thông minh an toàn IOT CA2

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

Yêu cầu phần cứng + Thiết lập
Yêu cầu phần cứng + Thiết lập
Yêu cầu phần cứng + Thiết lập
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

Yêu cầu phần mềm + Thiết lập
Yêu cầu phần mềm + Thiết lập
Yêu cầu phần mềm + Thiết lập
Yêu cầu phần mềm + Thiết lập
Yêu cầu phần mềm + Thiết lập
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

Đăng ký một điều
Đăng ký một điều
Đăng ký một điều
Đăng ký một điều
Đăng ký một điều
Đăng ký một điều
Đăng ký một điều
Đăng ký một đ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

Tạo Nhóm S3
Tạo Nhóm S3
Tạo nhóm S3
Tạo nhóm S3
Tạo Nhóm S3
Tạo Nhóm S3
Tạo Nhóm S3
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

Tạo bảng DynamoDB và đặt quy tắc
Tạo bảng DynamoDB và đặt quy tắc
Tạo bảng DynamoDB và đặt quy tắc
Tạo bảng DynamoDB và đặt quy tắc
Tạo bảng DynamoDB và đặt quy tắc
Tạo bảng DynamoDB và đặt quy tắc
Tạo bảng DynamoDB và đặt quy tắc
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

Kết quả dự kiến
Kết quả dự kiến
Kết quả dự kiến
Kết quả dự kiến

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)

Mã nguồn (Pastebin)
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

Người giới thiệu
Người giới thiệu

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: