Nhà Thông minh RASPBERRY PI VÀ ARDUINO UNO

0
105
pic-1-5

ARDUINO UNO

Tự động hóa gia đình đề cập đến việc điều khiển tự động và điện tử đối với các tính năng, hoạt động và thiết bị gia dụng. Nó cũng có thể được xem là việc sử dụng một hoặc nhiều máy tính để điều khiển các chức năng và tính năng cơ bản của ngôi nhà một cách tự động và đôi khi từ xa. Các giải pháp chuyên nghiệp khác nhau cho tự động hóa gia đình đã được cung cấp bởi nhiều công ty khổng lồ như Samsung, Google và Apple HomeKit, v.v. Tại sao lại là Tự động hóa gia đình?
Bất kể công nghệ được sử dụng là gì, tự động hóa nhà cung cấp nhiều lợi ích và tầm quan trọng. Sơ lược là một số lợi ích:
Nó làm giảm tiêu thụ năng lượng
An ninh và an toàn
Tiện
Thoải mái
Hỗ trợ khẩn cấp cho người già
Vậy hãy bắt đầu! Raspberry Pi sẽ hoạt động như bộ điều khiển chính. Mỗi phòng sẽ có một Arduino UNO riêng hoạt động như nô lệ của Raspberry Pi. Giao tiếp giữa Raspberry Pi và Arduino UNO sẽ được thực hiện bằng I2C.

Thiết bị Arduino UNO:
Có một số cấu tạo của thiết bị Arduino như Arduino Nano, Arduino Mega, Arduino Mini và Arduino YÙn, v.v. Trong dự án này, Arduino UNO sẽ được sử dụng vì nó có tất cả các chức năng cần thiết cho công việc của dự án. Arduino UNO có bộ vi điều khiển tích hợp dựa trên ATmega328P, đây là bộ vi điều khiển AVR 8-Bit công suất thấp, hiệu suất cao.

Sử dụng các thiết bị nguồn như nguồn flyback

Bảng Arduino có thể được cấp nguồn bằng ba cách cơ bản:
1) Thông qua USB được kết nối với máy tính

2) Sử dụng bộ chuyển đổi điện áp để chuyển đổi điện áp AC sang DC. Nên sử dụng điện áp DC từ 7 – 12V nhưng nó có giới hạn từ 6 – 20V.

3) Nó có thể được cung cấp năng lượng bằng pin.

Arduino IDE chứa thanh menu, thanh công cụ và trình chỉnh sửa. Bản phác thảo được viết trong trình chỉnh sửa, được xác minh và tải lên hội đồng quản trị.

Thiết bị Raspberry Pi 2:
Đây là phiên bản mới nhất của thiết bị Raspberry, được phát hành vào tháng 2 năm 2015. Nó có một số chức năng bổ sung không có trong Raspberry Pi 1 Model B + đầu tiên. Nó sử dụng vi xử lý ARMv7 hệ thống BCM2835 trên chip (SoC) chạy ở bộ vi xử lý 700MHz, do đó nó có thể chạy đầy đủ các bản phân phối ARM GNU / Linux, bao gồm cả Snappy Ubuntu 17 Core, cũng như Microsoft Windows 10 IoT Core . Để sử dụng Raspberry Pi 2 một cách thuận tiện, điều rất quan trọng là phải tuân thủ cẩn thận các bước có hệ thống và tuần tự khác nhau trong việc thiết lập nó. Các bước được cung cấp tại phần thực hiện.

pic-1-5

Cấu hình của Phòng:
Bây giờ xem xét kịch bản phòng, Arduino UNO sẽ điều khiển các thiết bị và đọc dữ liệu cảm biến. Định kỳ, Raspberry Pi yêu cầu dữ liệu cảm biến được Arduino UNO thu thập. Mỗi phòng có nhiều thiết bị có thể điều khiển (ví dụ: Đèn, Quạt, (các) Ổ cắm trên tường, v.v.), một PassiveIR (để phát hiện sự hiện diện của con người trong phòng), một cảm biến nhiệt độ (LM35 để thu thập nhiệt độ phòng) và LDR ( để phát hiện cường độ ánh sáng gần cửa sổ phòng).

Thiết kế mạch snubber

Bản đồ địa chỉ thiết bị
Phần quan trọng nhất là chúng ta sẽ xác định các thiết bị như thế nào? Nó đơn giản. Chúng tôi sẽ tạo địa chỉ thiết bị bằng cách kết hợp số phòng với số thiết bị.

Ví dụ:
Phòng số 1 có ba thiết bị.
Địa chỉ thiết bị sẽ là:

R1 \ Dev0
R1 \ Dev1
R1 \ Dev2

Để dễ dàng hơn, hãy bắt đầu triển khai cho phòng đầu tiên.

Địa chỉ I2C cho Arduino của Phòng 1 là 0x40. Sọc I2C có thể được sử dụng để kết nối nhiều Arduino.

Rơ le được vận hành bởi 5VDC.

pic-2-7

PHẦN MỀM
Dự án của chúng tôi bao gồm Raspberry Pi 2 và Arduino UNO. Phần mềm Raspberry Pi 2 được phát triển trong khung QT sử dụng C ++.

Chúng ta hãy hiểu phần mềm theo hình thức sau:

Giao thức (Cách Raspberry Pi 2 và Arduino nói chuyện)
Cấu trúc lớp (Cách Raspberry Pi 2 duy trì các thiết bị và phòng phức tạp như vậy)
Giao diện người dùng (Khung dây)

Giao thức (Cách Raspberry Pi 2 và Arduino nói chuyện qua I2C)
Trước khi đi xa hơn, trước tiên hãy quyết định cách Raspberry Pi và Arduino nói chuyện. Để tạo ra một giao thức đáng tin cậy, trước tiên chúng ta phải có mục tiêu hoặc mục tiêu rõ ràng cho giao tiếp. Khi xem xét dự án này, các mục tiêu là:

Đọc cảm biến
Đọc trạng thái của thiết bị
Đặt trạng thái thiết bị
Trước tiên, hãy bắt đầu xác định giao thức. Giao thức xác định các quy tắc để giao tiếp qua xe buýt. Giao thức không hơn gì chuỗi byte. Chúng tôi đã xác định giao thức để gửi và nhận byte. Các byte gửi được cố định là ba trong khi mảng byte nhận là mười bốn byte.

Bây giờ, chúng tôi đã xác định một sơ đồ giao tiếp thích hợp có thể cung cấp trạng thái và giá trị của cảm biến, thiết bị và cũng cung cấp khả năng truy cập để thiết lập trạng thái thiết bị.

Cấu trúc lớp (Cách Raspberry Pi 2 duy trì các đối tượng)
Như đã thảo luận trước, dự án này được coi là toàn bộ ngôi nhà. Nhà bao gồm nhiều phòng và phòng bao gồm nhiều thiết bị. Vì vậy, cấu trúc OOP của cấu hình như vậy phải được chuẩn bị.

Lớp sơ cấp “Nhà” bao gồm nhiều đối tượng phòng dưới dạng danh sách chung của phòng (Danh sách <Phòng>). Lớp Home cung cấp phương thức tĩnh để tải và lưu đối tượng home trên Pi để sử dụng chúng sau này.

Phòng bao gồm các thiết bị dưới dạng danh sách thiết bị chung (Danh sách <Device>) và cấu trúc cảm biến để gói gọn tất cả các cảm biến thành một.

pic-3-8

Thiết bị bao gồm thông tin chi tiết về chúng và các chức năng để bật và tắt chúng bằng chế độ giao thức – 2. Lớp AmbientLight, PassiveIR và Nhiệt độ cung cấp quyền truy cập vào dữ liệu môi trường của phòng. Đối tượng phòng duy trì dữ liệu cảm biến và định kỳ làm mới chúng bằng cách sử dụng Chế độ giao thức – 0.

Giao diện người dùng
Bất kỳ ứng dụng nào cũng phải thân thiện với người dùng. Để tạo ứng dụng thân thiện với người dùng, hãy bắt đầu với khung dây. Giả sử rằng bạn sẽ sử dụng ứng dụng của riêng mình và tìm ra các mục tiêu chính và cách tích hợp chúng theo cách mà chúng sẽ dễ dàng cho người dùng cuối nhất.

Do đó, một giao diện người dùng được tạo để truy cập vào các phòng và thiết bị bên trong phòng.

Trong tương lai, chúng tôi có thể thêm khả năng giao tiếp qua các thiết bị từ xa bằng cách sử dụng RadioFrequency hoặc InfraRed thay vì bus I2C. Cổng quản lý web sử dụng Azure có thể được tích hợp cho các thiết bị di động. Hơn nữa, tự động hóa thực sự sẽ được tích hợp như hoạt động dựa trên sự kiện, hoạt động theo thời gian với chip RTC. Ví dụ: bật đèn sân sau lúc 7:00 CH. và tắt chúng lúc 10:00 CH. Vì vậy, không có giới hạn nào đối với nền tảng Windows 10 IoT Core mới này cho Raspberry Pi 2.

pic-4-7

pic-5-6

pic-6-4

LEAVE A REPLY

Please enter your comment!
Please enter your name here