1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỒ án môn học hệ THỐNG NHÚNG đề tài thiết kế hệ thống cảm biến chuyển động và relay

64 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP KHOA ĐIỆN TỬ BỘ MƠN KỸ THUẬT MÁY TÍNH ĐỒ ÁN MƠN HỌC HỆ THỐNG NHÚNG Đề tài : Thiết Kế Hệ thống Cảm Biến Chuyển Động Và ReLay Nhóm sinh viên thực : Vũ Tiến Hoàng - K195520207026 : Phạm Minh Hùng- K195520207028 Lớp : 55ĐVT.01 Giáo viên hướng dẫn : ThS Đỗ Duy Cốp Thái Nguyên – 2022 KHOA ĐIỆN TỬ CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự Hạnh phúc BỘ MÔN KỸ THUẬT MÁY TÍNH PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN MƠN HỌC HỆ THỐNG NHÚNG Nhóm sinh viên: : Vũ Tiến Hoàng K195520207026 Phạm Minh Hùng K195520207028 Lớp: 55ĐVT.01 Ngành: Kỹ Thuật Điện Tử Ngày giao đề: Ngày hoàn thành: Tên đề tài Thiết kế cảm biến chuyển độn Yêu cầu bước thực 1- Giới thiệu phân tích u cầu tốn thiế 2- Trình bày tổng quan cơng nghệ 3- Mơ tả cụ thể trình tự bước thiết kế, kết m 4- Kết luận hướng phát triển TRƯỞNG BỘ MÔN (Ký ghi rõ họ tên) NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Thái Nguyên, ngày….tháng… năm 2022 GIÁO VIÊN HƯỚNG DẪN (Ký ghi rõ họ tên) NHẬN XÉT CỦA GIÁO VIÊN CHẤM ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Thái Nguyên, ngày….tháng… năm 2022 GIÁO VIÊN CHẤM (Ký ghi rõ họ tên) MỤC LỤC CHƯƠNG 1: LÝ THUYẾT TỔNG QUAN 1.1 Khái niệm nhà thông minh 1.2 Cơ sở hình thành hệ thống tắt bật đèn thông minh 1.3 Yêu cầu công nghệ hệ thống tắt bật đèn thông minh 1.3.1 Tính tự động 1.3.2 Tính thơng minh 1.3.3 Tính đơn giản 1.3.4 Tính thẩm mỹ 1.3.5 Tính thuận tiện CHƯƠNG 2: NỀN TẢNG GIAO TIẾP 2.1 Home Assistant 2.2 Các tính Home Assitant 2.3 Giao thức MQTT 2.3.1 MQTT gì? 2.3.2 Hoạt động 2.3.3 Tính năng, đặc điểm bật 2.3.4 Ưu điểm 2.3.5 Nhược điểm CHƯƠNG 3: THIẾT KẾ HỆ THỐNG 18 3.1 Sơ đồ nguyên lý 18 3.2 Chọn linh kiện 18 3.2.1 Module ESP8266 18 3.2.2 Module Relay 5V 21 3.2.3 Cảm biến chuyển động HC PIR-SR501 21 CHƯƠNG 4: CÀI ĐẶT 24 4.1 Home Assistant 24 4.2 MQTT – Add-on Mosquitto broker 30 4.3 Sơ đồ thuật toán 38 CHƯƠNG 5: KẾT LUẬN 39 5.1 Các kết đạt 39 5.2 Hướng phát triển đề tài 39 LỜI NÓI ĐẦU Ngày nay, việc ứng dụng cho hệ thống nhúng ngày trở nên phổ biến: từ ứng dụng đơn giản điều khiển chốt đèn giao thông định thời, đếm sản phẩm dây chuyền sản xuất, điều khiển tốc độ động điện chiều, thiết kế biển quảng cáo dùng Led ma trận, đồng hồ thời gian thực….đến ứng dụng phức tạp hệ thống điều khiển robot, kiểm soát nhà máy hệ thống kiểm soát máy lượng hạt nhân Các hệ thống tự động trước sử dụng nhiều công nghệ khác hệ thống tự động hoạt động nguyên lý khí nén, thủy lực, rơle điện, mạch điện tử số, thiết bị máy móc tự động cam chốt khí thiết bị, hệ thống có chức xử lý mức độ tự động thấp so với hệ thống tự động đại xây dựng tảng hệ thống nhúng Với mong muốn giới thiệu ứng dụng hệ thống nhúng đời sống đại, nhóm chúng em đưa mơ hình: Thiết Kế Hệ thống Cảm Biến Chuyển Động Và ReLay Trong trình thực đồ án mơn học, nhóm chúng em cố gắng thiết kế cho mơ hình đơn giản nhất, ổn định nhất; nhiên vấn đề thời gian kinh nghiệm nên mơ hình cịn gặp phải vấn đề chưa thể khắc phục Chúng em xin chân thành cảm ơn thầy tận tình hướng dẫn, bảo chúng em trình thực đồ án CHƯƠNG 1: LÝ THUYẾT TỔNG QUAN 1.1 Khái niệm nhà thông minh Nhà thông minh (tiếng Anh “Smart Home”) hệ thống nhà thông minh nhà/căn hộ trang bị hệ thống tự động tiên tiến dành cho điều khiển đèn chiếu sáng, nhiệt độ, truyền thông đa phương tiện, an ninh, rèm cửa, cửa nhiều tính khác nhằm mục đích làm cho sống ngày tiện nghi, an toàn góp phần sử dụng hợp lý nguồn tài nguyên Nhà thông minh sử dụng thiết bị kết nối Internet để quản lý giám sát thiết bị hệ thống từ xa ánh sáng nhiệt độ Hình 1.1 Ảnh minh họa Cơng nghệ nhà thơng minh Smart Home, cịn biết đến Home Automation (tự động hóa ngơi nhà), cung cấp cho chủ nhà an toàn, thoải mái, tiện lợi tiết kiệm lượng cách cho phép họ kiểm sốt thiết bị thơng minh ứng dụng smart home điện thoại smartphone thiết bị kết nối mạng khác Một phần mạng lưới vạn vật kết nối (Internet of Things - IoT), hệ thống thiết bị nhà thông minh thường hoạt động nhau, chia sẻ liệu người dùng tự động hóa hành động dựa quyền ưu tiên chủ nhà CHƯƠNG 2: NỀN TẢNG GIAO TIẾP 2.1 Home Assistant Home Assistant gọi “HA” hay “HASS” tảng quản lý nhà thơng minh lập trình ngơn ngữ Python Nó chạy tảng hệ điều hành quản lý nhà thông minh qua giao diện web hay qua ứng dụng smartphone Home Assistant có phiên Phiên “Home Assistant” hay "Home Assistant Core" thành phần cốt lõi nhất, cài đặt lên tảng hệ điều hành giống phần mềm máy tính “Home Assistant OS” kết hợp “Home Assistant Core” công cụ khác Phiên cài đặt lên máy tính Raspberry Pi, máy ảo Hai phiên cài lên thiết bị biến thiết bị thành hub tổng giúp kết nối điều khiển thiết bị nhà thông minh, tương tự Gateway tảng Xiaomi, Aqara, Hub tổng tảng Samsung SmartThings 48 Sau ta tìm đến file “configuration.yaml” Open Notepad++ để cấu hình thực thể Thêm topic trạng thái, cài đặt trạng thái cho thực thể thuộc mqqt Vì file “configuration.yaml” có yaml, liệu file thể dạng ngôn ngữ YAML 49 Tiếp theo, ta thêm thực thể topic tương ứng với thực thể Trong đồ án, em thêm hai thực thể tương ứng module relay 5V cảm biến PIR 501 Với ba dòng “state_topic:”, “command_topic:”, “availability_topic:” tương đương với ba kênh mqtt broker Các giá trị “payload” tương ứng với giá trị “state_topic”, giá trị “state” tương ứng với giá trị “command_topic”, giá trị “payload_available”, “payload_not_available” tương ứng với giá trị “availablility_topic” 50 Sau đó, ta phải check xem cấu hình hay chưa Nếu sai phải sử lại cho sau bấm “Restart” Và chọn “OK” Rồi đợi lúc để server tiến hành việc khởi động lại, Home Assitant sau khởi động lại nhận thiết bị MQTT switch (relay) binary_sensor (PIR 501) vừa thêm vào 51 52 Tiếp theo, ta cần kiểm tra MQTT Broker hoạt động Sử dụng công cụ MQTT Explorer để kiểm cổng 1833 IP MQTT broker hoạt động chưa, kết conneted Mosquitto broker hoạt động Với ô Module IP địa IP máy ảo Home Assistant 53 4.3 Sơ đồ thuật tốn Hình 4.1 Sơ đồ thuật toán 54 CHƯƠNG 5: KẾT LUẬN 5.1 Các kết đạt - Nắm rõ thực hành kiến thức học môn “Hệ thống nhúng” vào đời sống - Hiểu hệ thống quản lý nhà thông minh Home Assistant tùy biến theo yêu cầu - Hiểu giao thức MQTT, cài đặt thành công client NodeMCU ESP8266 giao tiếp với broker - Hoàn thành sản phẩm tắt bật đèn thông minh sử dụng giao thức MQTT - Sản phẩm cho phép điều khiển chỗ, từ xa qua HassIO SmartPhone, cho phép HassIO tự động điều khiển theo kịch lập sẵn 5.2 Hướng phát triển đề tài - Chế tạo nhiều sản phẩm smarthome sử dụng giao thức MQTT để giao tiếp với HassIO cảm biến nhiệt độ, cảm biến độ ẩm, cảm biến chuyển động, … - Cấu hình thư viện NabuCasa Home Assistant Cloud để giao tiếp với Google Assistant, để điều khiển thiết bị qua qua giọng nói thơng qua trợ lý giọng nói Google - Tìm hiểu giao thức khác sử dụng lượng Zigbee để sử dụng cho cảm biến không dây, sử dụng pin 55 TÀI LIỆU THAM KHẢO [1] Tài liệu HassIO: https://www.home-assistant.io/ [2] Giao thức MQTT: https://mqtt.org/ [3] Add-on Mosquitto broker: https://github.com/homeassistant/addons/tree/master/mosquitto [4] Config MQTT: https://www.home-assistant.io/integrations/mqtt/ [5] MQTT Client Component: https://esphome.io/components/mqtt.html [6] NodeMCU ESP8266: https://esphome.io/devices/nodemcu_esp8266.html [7] Relay: https://randomnerdtutorials.com/guide-for-relay-module-with-arduino/ [8] Arduino IDE: https://www.arduino.cc/en/software [9] Esp8266 board on Arduino: https://github.com/esp8266/Arduino [10] ESP8266WiFi lib on Arduino: https://arduinoesp8266.readthedocs.io/en/latest/ [11] MQTT lib on Arduino: https://github.com/knolleary/pubsubclient 56 PHỤ LỤC //ESP8266 Simple MQTT switch controller #include "PubSubClient.h" #include //void callback(char* topic, byte* payload, unsigned int length); void callback(char* topic, byte* payload, unsigned int length); #define MQTT_SERVER "172.20.10.5" //you MQTT IP Address #define MQTT_USER "user_mqtt" #define MQTT_PASS "1" #define MQTT_PORT 1883 const char* ssid = "Hoang"; const char* password = "12345678"; //Pin In ESP8266 const int sensorPin = D1; 57 const int buttonPin = D3; const int switchPin = D2; const int switchPin_2 = D5; //topic switch_1 char const* switchStateTopic = "/home/switch1/status"; char const* avaiSwitchTopic = "/home/bedroom/switch1/available"; //topic switch_2 char const* switchStateTopic_2 = "/home/switch2/status"; char const* avaiSwitchTopic_2 = "/home/stair/switch2/available"; //topic sensor char const* sensorStateTopic = "/home/sensor_pir/status"; char const* avaiSensorTopic = "/home/sensor_pir/available"; char const* Topic2 = "inLight"; WiFiClient wifiClient; PubSubClient client(MQTT_SERVER, MQTT_PORT, wifiClient); //Gui Gia Tri Payload to MQTT Home Assistant void mqtt_send(char const* topic, char* msg){ Serial.print("MQTT_Send to topic "); Serial.print(topic); Serial.print(" msg: "); Serial.println(msg); client.publish(topic, msg); } void mqtt_subscribe(char const* topic){ Serial.print("MQTT subscribe to "); Serial.println(topic); //Serial.println(msg); client.subscribe(topic); } void switch_on() { digitalWrite(switchPin_2, HIGH); Serial.println("BAT DEN"); //mqtt_send(avaiSwitchTopic_2, "online"); mqtt_send(switchStateTopic_2, "on"); } 58 void switch_of() { digitalWrite(switchPin_2, LOW); Serial.println("TAT DEN"); //mqtt_send(avaiSwitchTopic, "online"); mqtt_send(switchStateTopic_2, "of"); } void setup() { //initialize pinMode(switchPin, OUTPUT); // Relay Switch pinMode(buttonPin, INPUT); // button by hand pinMode(sensorPin, INPUT); // SR505 - PIR sensor pinMode(switchPin_2, OUTPUT); client.setCallback(callback); //HIGH==of led-buidin digitalWrite(switchPin, LOW); digitalWrite(buttonPin, LOW); digitalWrite(switchPin_2, LOW); //start the serial line for debugging Serial.begin(115200); delay(100); //start wifi subsystem WiFi.begin(ssid, password); //attempt to connect to the WIFI network and then connect to the MQTT server reconnect(); //wait a bit before starting the main loop delay(2000); } void loop() { //reconnect if connection is lost if (!client.connected() && WiFi.status() == 3) { reconnect(); } //maintain MQTT connection client.loop(); if(digitalRead(sensorPin) == HIGH) { digitalWrite(switchPin, HIGH); //Relay cho dòng qua 59 //mqtt_subscribe("inLight"); //mqtt_send(avaiSwitchTopic, "online"); //mqtt_send(avaiSwitchTopic_2, "online"); mqtt_send(sensorStateTopic, "on"); mqtt_send(switchStateTopic, "on"); delay(1000); } else { digitalWrite(switchPin, LOW); //Relay ko cho dòng qua //mqtt_subscribe("inLight"); //mqtt_send(avaiSwitchTopic, "online"); //mqtt_send(avaiSwitchTopic_2, "online"); mqtt_send(sensorStateTopic, "of"); mqtt_send(switchStateTopic, "of"); delay(1000); } /*if(digitalRead(buttonPin) == LOW && digitalRead(sensorPin) == HIGH) { if(digitalRead(switchPin) == HIGH) switch_on(); else switch_of(); }*/ if(!client.connected() && WiFi.status() == 3) reconnect(); else client.loop(); } void callback(char* topic, byte* payload, unsigned int length) { Serial.print("Message arrived ["); Serial.print(topic); Serial.println("] = "); for (int i=0;i

Ngày đăng: 27/12/2022, 05:09

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w