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

62 11 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

Thông tin cơ bản

Tiêu đề Thiết Kế Hệ Thống Cảm Biến Chuyển Động Và Relay
Tác giả Vũ Tiến Hoàng, Phạm Minh Hùng
Người hướng dẫn ThS. Đỗ Duy Cốp
Trường học Trường Đại Học Kỹ Thuật Công Nghiệp
Chuyên ngành Kỹ Thuật Điện Tử
Thể loại đồ án môn học
Năm xuất bản 2022
Thành phố Thái Nguyên
Định dạng
Số trang 62
Dung lượng 2,69 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1: LÝ THUYẾT TỔNG QUAN (8)
    • 1.1. Khái ni ệ m v ề nhà thông minh (8)
    • 1.2. Cơ sở hình thành hệ thống tắt bật đèn thông minh (0)
    • 1.3. Yêu cầu công nghệ của hệ thống tắt bật đèn thông minh (0)
      • 1.3.1. Tính t ự độ ng (0)
      • 1.3.2. Tính thông minh (0)
      • 1.3.3. Tính đơn giản (0)
      • 1.3.4. Tính th ẩ m m ỹ (0)
      • 1.3.5. Tính thuận tiện (0)
  • CHƯƠNG 2: NỀN TẢNG GIAO TIẾP (9)
    • 2.1. Home Assistant (9)
    • 2.2. Các tính năng của Home Assitant (11)
    • 2.3. Giao thức MQTT (13)
      • 2.3.1. MQTT là gì? (13)
      • 2.3.2. Hoạt động (13)
      • 2.3.3. Tính năng, đặc điể m n ổ i b ậ t (14)
      • 2.3.4. Ưu điểm (15)
      • 2.3.5. Nhược điểm (15)
  • CHƯƠNG 3 THI Ế T K Ế H Ệ TH Ố NG (17)
    • 3.1. Sơ đồ nguyên lý (17)
    • 3.2. Chọn linh kiện (17)
      • 3.2.1. Module ESP8266 (17)
      • 3.2.2. Module Relay 5V (21)
      • 3.2.3. C ả m bi ế n chuy ển độ ng HC PIR-SR501 (0)
  • CHƯƠNG 4: CÀI ĐẶT (24)
    • 4.1. Home Assistant (24)
    • 4.2. MQTT – Add-on Mosquitto broker (33)
    • 4.3. Sơ đồ thuật toán (54)
  • CHƯƠNG 5: KẾT LUẬN (55)
    • 5.1. Các k ế t qu ả đạ t đượ c (55)
    • 5.2. Hướng phát triển của đề tài (55)

Nội dung

L ỜI NÓI ĐẦU Ngày nay, việc ứng dụng cho các hệ thống nhúng ngày càng trở nên phổ biến: từ những ứng dụng đơn giản như điều khiển một chốt đèn giao thông định thời, đếm sản phẩm trong

LÝ THUYẾT TỔNG QUAN

Khái ni ệ m v ề nhà thông minh

Nhà thông minh (tiếng Anh là "Smart Home") là hệ thống căn hộ được trang bị công nghệ tự động tiên tiến để điều khiển đèn chiếu sáng, nhiệt độ, truyền thông đa phương tiện, hệ thống an ninh, rèm cửa, cửa và nhiều tính năng khác Mục tiêu của nhà thông minh là mang đến cuộc sống tiện nghi, an toàn hơn và giúp sử dụng hợp lý các nguồn tài nguyên.

Nhà thông minh tích hợp các thiết bị kết nối Internet để dễ dàng quản lý và giám sát từ xa các hệ thống như ánh sáng, nhiệt độ Công nghệ này giúp nâng cao tiện nghi, tiết kiệm năng lượng và tối ưu hóa cuộc sống hàng ngày của gia đình bạn Với nhà thông minh, khả năng điều khiển thiết bị từ xa mang lại sự thuận tiện và an toàn vượt trội.

Yêu cầu công nghệ của hệ thống tắt bật đèn thông minh

Tiết kiệm năng lượng là nhờ khả năng kiểm soát các thiết bị thông minh thông qua ứng dụng smart home trên điện thoại hoặc các thiết bị kết nối mạng khác Hệ thống nhà thông minh, là một phần của mạng lưới vạn vật kết nối (IoT), hoạt động phối hợp để chia sẻ dữ liệu người dùng và tự động hóa các hành động dựa trên quyền ưu tiên của chủ nhà, giúp tối ưu hóa hiệu quả sử dụng năng lượng và nâng cao tiện nghi cho gia đình.

NỀN TẢNG GIAO TIẾP

Home Assistant

Home Assistant, còn gọi là “HA” hoặc “HASS,” là nền tảng quản lý nhà thông minh được lập trình bằng Python, có khả năng vận hành trên mọi hệ điều hành Nền tảng này cho phép người dùng kiểm soát ngôi nhà thông minh thông qua giao diện web hoặc ứng dụng trên smartphone Home Assistant có hai phiên bản chính, trong đó "Home Assistant Core" là thành phần cốt lõi có thể cài đặt trên bất kỳ nền tảng hệ điều hành nào như một phần mềm máy tính.

Home Assistant OS là sự kết hợp giữa Home Assistant Core và các công cụ hỗ trợ, giúp biến các thiết bị như Raspberry Pi hoặc máy ảo thành trung tâm điều khiển nhà thông minh Phiên bản này hoạt động như một hub tổng, kết nối và quản lý các thiết bị nhà thông minh, tương tự các Gateway trên nền tảng Xiaomi, Aqara hoặc Samsung SmartThings Điều này giúp người dùng dễ dàng tích hợp và điều khiển các hệ thống nhà thông minh của mình từ một trung tâm duy nhất.

Hình 2.1 Một giao diện quản lý nhà thông minh với Home Assistant

Home Assistant là phần mềm nguồn mở được hỗ trợ bởi đội ngũ kỹ sư, lập trình viên quốc tế, giúp tích hợp và điều khiển đa dạng thiết bị nhà thông minh Với khả năng tương thích cao, Home Assistant mở ra khả năng kết nối không giới hạn cho các thiết bị trong ngôi nhà của bạn Đây là giải pháp tối ưu để xây dựng hệ thống nhà thông minh linh hoạt, dễ dàng mở rộng và tùy biến theo nhu cầu sử dụng.

Dù sử dụng phiên bản nào, người dùng đều cần cài đặt Home Assistant trước để hệ thống có thể quét và nhận diện các thiết bị nhà thông minh hiện có Sau đó, người dùng sẽ tiến hành cấu hình để các thiết bị hoạt động phù hợp với nhu cầu của gia đình.

Các nền tảng nhà thông minh đã thể hiện rõ ưu điểm về sự tiện lợi và nhanh chóng, phù hợp với nhu cầu sử dụng hàng ngày Tuy nhiên, Home Assistant nổi bật với khả năng điều khiển trong mạng nội bộ và khả năng tùy biến linh hoạt, mang lại trải nghiệm cá nhân hóa cao hơn cho người dùng.

Các tính năng của Home Assitant

Hình 2.2 Giao diện quản lý của Home Assistant thân thiện dễ dùng

Home Assistant là trung tâm điều khiển nhà thông minh, giúp tự động hóa các tác vụ từ đơn giản đến phức tạp Nó đóng vai trò như cầu nối kết nối các thiết bị IoT khác nhau trong hệ thống nhà thông minh, tạo ra các ngữ cảnh để nâng cao trải nghiệm người dùng Với khả năng tùy biến linh hoạt, Home Assistant giúp người dùng kiểm soát và quản lý các thiết bị nhà thông minh một cách dễ dàng và hiệu quả.

Nền tảng nhà thông minh mã nguồn mở cung cấp giải pháp lưu trữ dữ liệu tại chỗ (On-Premises), giúp đảm bảo an toàn thông tin cho hệ thống nhà thông minh Ưu điểm của nền tảng này là không phụ thuộc vào đám mây (Cloud), mang lại sự kiểm soát toàn diện về dữ liệu Hệ thống cho phép kết nối các thiết bị nội bộ trong nhà hoặc tích hợp linh hoạt với các nền tảng đám mây từ nhiều nhà cung cấp nhà thông minh mở hoặc đóng Đây là giải pháp tối ưu giúp bảo vệ dữ liệu cá nhân và nâng cao tính bảo mật cho hệ thống nhà thông minh.

Home Assistant hỗ trợ tích hợp các hệ sinh thái IoT phổ biến như Google, Apple, Amazon thông qua các thành phần có khả năng tích hợp dạng add-on hoặc plugin Điều này cho phép người dùng dễ dàng kết nối và quản lý các thiết bị từ các nền tảng phần mềm như Google Assistant, Apple HomeKit, Amazon Alexa Ngoài ra, Home Assistant còn tích hợp các sản phẩm phần cứng nổi tiếng như IKEA, Philips, Sonos, Tuya, Xiaomi, giúp tối ưu hóa trải nghiệm tự động hóa trong ngôi nhà thông minh Việc tích hợp đa dạng các hệ sinh thái này giúp người dùng dễ dàng mở rộng và tùy biến hệ thống theo nhu cầu cá nhân.

Home Assistant tập trung tất cả các thiết bị trong hệ sinh thái nhà thông minh của bạn chỉ trong một nền tảng duy nhất, giúp việc quản lý trở nên dễ dàng và tiện lợi hơn Ứng dụng không chỉ hợp nhất các ứng dụng riêng lẻ của các hãng khác nhau mà còn tạo ra các ngữ cảnh linh hoạt, cho phép các thiết bị hoạt động liên tục và đồng bộ, mang lại trải nghiệm thông minh và tiện ích tối đa cho người dùng.

Hình 2.3 Home Assistant có thểkếtnối các thươnghiệu khác nhau để hoàn tất tác vụ nhà thông minh cần thiết

Việc điều khiển mọi thứ từ một máy chủ nội bộ giúp đảm bảo an toàn cho ngôi nhà và dữ liệu cá nhân của bạn Hệ thống này còn duy trì hoạt động ổn định khi đường truyền mạng gặp sự cố, đặc biệt khi các nền tảng khác thường đặt máy chủ ở nước ngoài Điều này giúp mọi thiết bị và dịch vụ trong nhà vận hành trơn tru, đảm bảo an toàn và hiệu quả cao.

Người dùng có thể điều khiển nhà thông minh một cách dễ dàng và tiện lợi bằng trợ lý ảo kỹ thuật số như Google Assistant hoặc Amazon Alexa qua lệnh giọng nói rảnh tay Tuy nhiên, do tính mở và khả năng tùy biến cao của Home Assistant, nền tảng này có thể không phù hợp cho tất cả người dùng Mặc dù vậy, cộng đồng người dùng của Home Assistant rất đông đảo và năng động, giúp người mới dễ dàng học hỏi và tự làm mọi thứ một cách linh hoạt.

Người dùng cần có kiến thức về hệ thống để cài đặt Home Assistant Core trên các nền tảng hiện có như Windows hoặc Mac, hoặc cài đặt Home Assistant OS Để tùy biến hệ thống theo ý muốn, người dùng cũng cần có kiến thức về lập trình Python.

Giao thức MQTT

MQTT, viết tắt của Message Queueing Telemetry Transport, là một giao thức mạng mở chuyên dùng để truyền thông điệp giữa các thiết bị trong hệ thống IoT Đây là giao thức nhắn tin tiêu chuẩn trong IoT nhờ vào khả năng hoạt động truyền tải cực kỳ nhẹ, đảm bảo độ tin cậy cao và tiêu thụ tối thiểu băng thông MQTT giúp kết nối các thiết bị một cách hiệu quả, tối ưu hóa hiệu suất và tiết kiệm tài nguyên trong các ứng dụng IoT hiện đại.

MQTT lần đầu tiên xuất hiện vào năm 1999 và đã trở thành một giao thức truyền thông phổ biến trong nhiều lĩnh vực kể từ đó Phiên bản mới nhất của MQTT là MQTT 5.0, mang đến nhiều cải tiến và tối ưu hóa so với các phiên bản trước, nâng cao hiệu quả và khả năng mở rộng của giao thức này.

Kiến trúc MQTT bao gồm 2 phần chính là Broker - có nhiệm vụ xuất bản và Client - có nhiệm vụ đăng ký

502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared

502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared

502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared

Hình 2.4 Sơ đồ hoạt động của MQTT

2.3.3 Tính năng, đặc điểm nổi bật

• Dạng truyền thông điệp theo mô hình Pub/Sub cung cấp việc truyền tin phân tán một chiều, tách biệt với phần ứng dụng

• Việc truyền thông điệp là ngay lập tức, không quan tâm đến nội dung được truyền.

• Sử dụng TCP/IP là giao thức nền

502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared

• Phần bao bọc dữ liệu truyền nhỏ và được giảm đến mức tối thiểu để giảm tải cho đường truyền

MQTT là giao thức truyền thông nổi bật với các tính năng và đặc điểm ưu việt, mang lại nhiều lợi ích quan trọng trong hệ thống SCADA (Supervisory Control And Data Acquisition) Đặc biệt, MQTT tối ưu hóa việc truy cập dữ liệu IoT, giúp hệ thống quản lý dữ liệu hiệu quả hơn, nâng cao độ tin cậy và tiết kiệm băng thông Nhờ vào khả năng hỗ trợ kết nối ổn định và dễ mở rộng, MQTT trở thành lựa chọn hàng đầu cho các ứng dụng giám sát và điều khiển trong hệ thống SCADA hiện đại.

• Truyền thông tin hiệu quả hơn

• Tăng khả năng mở rộng

• Giảm đáng kể tiêu thụ băng thông mạng.

• Rất phù hợp cho điều khiển và do thám

• Tối đa hóa băng thông có sẵn

• Rất an toàn, bảo mật

• Được sử dụng trong các ngành công nghiệp dầu khí, các công ty lớn như Amazon, Facebook,

• Tiết kiệm thời gian phát triển

• Giao thức publish/subscribe thu thập nhiều dữ liệu hơn và tốn ít băng thông hơn so với giao thức cũ

Máy chủ môi giới (Broker) không cần phải thông báo về trạng thái gửi thông điệp, khiến cho việc xác định xem thông điệp đã được gửi thành công hay chưa trở nên khó khăn Do đó, người dùng không có cách nào để phát hiện chính xác liệu dữ liệu đã gửi đi hay chưa, gây ảnh hưởng đến độ tin cậy trong quá trình giao tiếp mạng.

• Publisher không hề biết gì về trạng thái của subscribe và ngược lại Vậy làm sao chúng ta có thể đảm bảo mọi thứ đều ổn.

• Những kẻ xấu (Malicious Publisher) có thể gửi những thông điệp xấu, và các Subscriber sẽ truy cập vào những thứ mà họ không nên nhận.

THI Ế T K Ế H Ệ TH Ố NG

Sơ đồ nguyên lý

Hình 3.1 Sơ đồ nguyên lý

Chọn linh kiện

ESP8266 là một vi mạch dạng SoC nổi bật với tính năng thu phát Wi-Fi tích hợp sẵn bên trong, giúp thiết kế các thiết bị kết nối mạng dễ dàng hơn Với CPU 32-bit có xung nhịp 80MHz, ESP8266 cung cấp khả năng xử lý mạnh mẽ cho các ứng dụng nhỏ gọn Tuy số lượng ngoại vi không nhiều, nhưng đủ để phục vụ các dự án IoT và điều khiển từ xa Để hoạt động ổn định, ESP8266 cần kết nối với bộ nhớ Flash bên ngoài và sử dụng antena chất lượng cao Chính vì vậy, các module tích hợp ESP8266 phổ biến hơn so với vi mạch ESP8266 đơn lẻ, giúp đơn giản hóa quá trình thiết kế và triển khai.

Các module phổ biến hiện nay bao gồm module ESP-WROOM-XX của nhà sản xuất ESPRESSIF và module ESP-XX của AI-Thinker, được sử dụng rộng rãi trong các dự án IoT Mạch phát triển ESP-8266 tích hợp sẵn module ESP8266 cùng các chức năng cấp nguồn, giao tiếp máy tính và kết nối ngoại vi, giúp tối ưu hóa quá trình lập trình và triển khai các ứng dụng thông minh.

Có thể kể đến các mạch phát triển phổ biến như ESP8266 NodeMCU, ESP8266 Wemos D1, ESP8266 - IoT WiFi Uno

NodeMCU là firmware dựa trên mã nguồn mở LUA được phát triển cho chip wifi ESP8266 Firmware NodeMCU đi kèm với bo ESP8266, tức là bo Dev NodeMCU

Vì NodeMCU là một nền tảng mã nguồn mở, thiết kế phần cứng của nó có thể mở để chỉnh sửa hoặc sửa đổi hoặc xây dựng thêm

Nó hỗ trợ các giao thức truyền thông nối tiếp như UART, SPI, I2C,

Hình 3.3 Sơ Đồ Chân NodeMCU ESP8266

Nhãn GPIO Đầu vào Đầu ra Ghi chú

D0 GPIO16 không gián đoạn không hỗ trợ PWM hoặc I2C

MỨC CAO khi khởi động Sử dụng để đánh thức khi ngủ sâu

D1 GPIO5 OK OK thường được sử dụng như

D2 GPIO4 OK OK thường được sử dụng như

D3 GPIO0 kéo lên OK kết nối với nút FLASH, khởi động không thành công nếu kéo MỨC THẤP D4 GPIO2 Kéo lên OK

MỨC CAO khi khởi độngkết nối với đèn LED trên bo mạch, khởi động không thành công nếu kéo MỨC THẤP

D5 GPIO14 OK OK SPI (SCLK)

D6 GPIO12 OK OK SPI (MISO)

D7 GPIO13 OK OK SPI (MOSI)

SPI (CS) Khởi động không thành công nếu kéo MỨC CAO

RX GPIO3 OK Chân RX MỨC CAO khi khởi động

TX GPIO1 Chân TX OK

MỨC CAO khi khởi động đầu ra gỡ lỗi khi khởi động, khởi động không thành công nếu kéo MỨC THẤP

Rơ le, còn gọi là relay, là thiết bị công tắc điện từ dùng để đóng mở mạch điện cơ hoặc điện tử một cách linh hoạt Nó có khả năng chuyển đổi dòng điện nhỏ thành dòng lớn hơn theo yêu cầu, giúp điều khiển các thiết bị điện khác dễ dàng Rơ le hoạt động bằng cách nhận tín hiệu điện và gửi lệnh mở hoặc đóng để điều khiển các thiết bị phù hợp Ngay cả khi tiếp điểm của rơ le ở trạng thái normally closed hoặc normally open, chúng vẫn không cấp điện trừ khi có dòng điện tác dụng vào điểm tiếp xúc Trạng thái của rơ le chỉ thay đổi khi dòng điện được đặt vào các tiếp điểm của nó, đảm bảo tính an toàn và chính xác trong điều khiển điện.

Module này được thiết kế để chuyển đổi một thiết bị công suất cao duy nhất từ NodeMCU ESP8266, giúp điều khiển các thiết bị lớn một cách dễ dàng Nó tích hợp rơ le có khả năng chịu tải lên đến 10A ở 250VAC hoặc 30VDC, đảm bảo độ an toàn và hiệu quả trong các ứng dụng tự động hóa Với tính năng này, module phù hợp cho các dự án cần kiểm soát các thiết bị điện công suất lớn từ xa bằng NodeMCU ESP8266.

Hình 3.4 Sơ đồ chân Module Relay 5V 1 kênh

Chân được sử dụng để điều khiển rơ-le, hoạt động dựa trên dạng tín hiệu tích cực thấp Điều này có nghĩa là rơ-le sẽ được kích hoạt khi bạn kéo chân về mức LOW, trong khi nó sẽ không hoạt động khi bạn kéo chân về mức CAO.

• GND: là chân nối đất

• VCC: là chân cấp nguồn cho module

• COM (Common): Đây là chân nên kết nối với tín hiệu (điện lưới trong nhà) bạn đang định chuyển đổi

Cấu hình NC (normally closed) được sử dụng khi bạn muốn rơle tự động tắt theo trạng thái mặc định Trong cấu hình này, rơle luôn trong trạng thái đóng, duy trì kết nối mạch điện cho đến khi bạn gửi tín hiệu từ Arduino hoặc NodeMCU ESP8266 để mở mạch.

Rơle NO (Normally Open) hoạt động theo cấu hình mở, nghĩa là rơle luôn ở trạng thái mở cho đến khi nhận được tín hiệu từ Arduino hoặc NodeMCU ESP8266 để đóng mạch Khi gửi tín hiệu điều khiển, rơle sẽ chuyển sang trạng thái đóng giúp kết nối các thiết bị điện tử một cách chính xác và an toàn Đây là loại rơle phổ biến trong các dự án điều khiển từ xa, tự động hóa nhờ khả năng hoạt động linh hoạt và dễ dàng tích hợp vào hệ thống.

3.2.3 Cảm biến chuyển động PIR HC-SR501

Cảm biến thân nhiệt chuyển động PIR HC-SR501 là thiết bị phát hiện chuyển động các vật thể phát ra bức xạ hồng ngoại, như con người, vật nuôi hoặc các vật phát nhiệt, với khả năng chỉnh độ nhạy để giới hạn phạm vi bắt xa gần và cường độ bức xạ mong muốn Cảm biến còn có chức năng điều chỉnh thời gian giữ tín hiệu sau khi kích hoạt nhờ biến trở tích hợp sẵn, giúp tùy chỉnh độ dài của thời gian báo động Với cảm biến, thấu kính, và board mạch chất lượng cao, HC-SR501 mang lại độ nhạy và độ bền vượt trội Thông số kỹ thuật nổi bật bao gồm phạm vi phát hiện 360 độ hình nón với khoảng cách tối đa 6m, nhiệt độ hoạt động từ 32-122°F (0-50°C), nguồn điện DC từ 3.8V đến 5V, tiêu thụ dòng điện thấp dưới 50μA, thời gian báo có thể tùy chỉnh 30 giây bằng biến trở, và kích thước PCB nhỏ gọn 32x24mm, phù hợp cho nhiều ứng dụng cảm biến chuyển động an ninh và tự động hóa.

• Chân VCC : nguồn hoạt động của cảm biến cấpvào từ4.5V đến 12V

• Chân OUT : Output kết nối với chân I/O của vi điều khiển hoặc relay Khi cho tín hiệu:

3,3V có vật thể chuyển động qua o 0V không có vật thể qua

• Chân GND : chân đất nối GND

• ChếđộH: Điện áp ra V_out tựđộng giữnguyên 3.3V cho đến khi không còn chuyển động

• Chế độ L: Điện áp ra V_out tự động chuyển về 0 khi hết thời gian trễ

Khi khởi động, module cần khoảng 1 phút để khởi tạo Trong quá trình này, module tạo ra điện áp cao gấp 1 đến 3 lần so với mức bình thường trước khi chuyển sang chế độ chờ để sẵn sàng hoạt động.

- Điện áp ra 1.5-3.3V, nếu sử dụng I/O 4.5-5.5V bạn nên lắp thêm trans

Để đảm bảo hiệu quả hoạt động của các module, cần tránh tiếp xúc trực tiếp với ánh sáng mạnh và nguồn nhiễu gần bề mặt lăng kính, nhằm giảm thiểu tín hiệu nhiễu gây ảnh hưởng Ngoài ra, nên hạn chế sử dụng trong môi trường có nhiều gió để duy trì ổn định và độ chính xác của hệ thống.

CÀI ĐẶT

Home Assistant

Để quản lý hệ thống nhà thông minh hiệu quả, việc lựa chọn nền tảng quản lý phù hợp là điều cần thiết Home Assistant là một trong những nền tảng phổ biến nhất, mở rộng đa nền tảng và dễ dàng cài đặt trên nhiều hệ điều hành khác nhau Trong bài viết này, chúng tôi hướng dẫn cách cài đặt Home Assistant đơn giản và phổ biến nhất trên hệ điều hành Windows 10, giúp người dùng dễ dàng bắt đầu xây dựng hệ thống nhà thông minh của riêng mình.

PC đã có sẵn phần mềm tạo máy ảo Oracle VM VirtualBox

To begin, open your web browser and navigate to https://www.home-assistant.io/installation/windows Next, select the “VirtualBox (.vdi)” option to download the virtual machine image After the download is complete, you will need to extract the file before proceeding with the installation.

Next, open Oracle VM VirtualBox to create a new virtual machine for running the Home Assistant installation you just downloaded and extracted.

Mở cửa sổ VirtualBox lên và chọn “New”

To create a Virtual Machine for installing Home Assistant, open the "Create Virtual Machine" window Select "Linux" in the "Type" field and "Other Linux (64-bit)" in the "Version" field Enter a custom name in the "Name" box, then click "Next" to proceed.

Chọn dung lượng RAM phù hợp cho máy ảo bằng cách mở cửa sổ "Memory Size" và thiết lập dung lượng RAM mong muốn, lưu ý không vượt quá dung lượng RAM của máy tính thật Sau đó, nhấn "Next" để tiếp tục quá trình thiết lập.

Chọn file cài đặt Home Assistant đã tải về và tích vào ô “Use an existing virtual hard disk file” Tiếp theo, click vào thư mục bên cạnh để chọn file cài đặt, và trong cửa sổ Hard Disk Selector, nếu không thấy file cần dùng, bạn có thể nhấn “Add” để thêm file đã tải và giải nén Sau khi chọn đúng file, nhấn “Choose” rồi click “Create” để tạo máy ảo Để đảm bảo quá trình cài đặt thành công, cần điều chỉnh một số thông số của máy ảo.

Ta chọn “Settings”, chọn “System” và chọn tab “Motherboard”, tích vào ô Enable EFI (special Oses only)

Tiếp tục, ta chọn “Network”, chọn tab “Adapter1”, trong ô “Attached to:”, chọn

“Bridged Adapter” để Home Assistant có địa chỉ IP trong mạng Lan cục bộ Rồi chọn

Tại cửa sổ chính của VM VirtualBox, ta chọn máy ảo có tên ta vừa cài đặt rồi chọn “Start” để bắt đầu chạy máy ảo

Máy ảo giả lập Home Assistant bắt đầu chạy và cài đặt

HassIO được cài đặt thành công được cài đặt với địa chỉ IP 192.168.1.26

Bạn truy cập vào trang web http://homeassistant.local:8123/ hoặc http://X.X.X.X:8123 (với X.X.X.X là địa chỉ IP của máy ảo Home Assistant đã cài đặt) để tạo tài khoản và đăng nhập vào Hass.io Quá trình này sẽ yêu cầu bạn đợi khoảng 20 phút để hoàn tất tạo giao diện và truy cập vào hệ thống.

Sau khi tạo xong tài khoản, Home Assistant sẽ yêu cầu bạn chọn vị trí và đặt tên cho hệ thống smarthome của mình, giúp cá nhân hóa trải nghiệm sử dụng Sau đó, bạn nhấn “Next” để tiếp tục Giao diện chính của Home Assistant sẽ hiển thị sau khi cài đặt thành công, mang đến trải nghiệm tối ưu cho hệ thống smarthome của bạn Hoàn tất quá trình cài đặt, bạn đã có thể bắt đầu quản lý và điều khiển các thiết bị trong nhà một cách dễ dàng và tiện lợi.

MQTT – Add-on Mosquitto broker

Sau khi cài đặt xong Home Assistant, bước tiếp theo là cài đặt Mosquitto broker để quản lý các thiết bị và thực thể trong hệ thống Smart Home Để thực hiện điều này, bạn cần truy cập vào phần "Setting" rồi chọn tab "Add-ons" trong giao diện quản lý của Home Assistant.

Ta click vào “ADD-ON STORE” sau đó gõ vào ô tìm kiếm “mqtt” để tìm kiếmAdd-on “Mosquitto broker” Sau đó click vào Add-on “Mosquitto broker”

Rồi chọn “Install” để cài đặt vào Home Assistant

Sau đó ta chọn “Start” để bắt đầu dịch vụ

Tạo user_mqtt để quản lý các bản tin MQTT:

1 Chọn “Settings” sau đó chọn “People”

3 Ở “Name” điền tên user Sau đó tích vào “Allow person to login” để cho phép tài khoản đăng nhập

4 Tạo mật khẩu cho tài khoản

- Sau đó tích vào “Can only login from the local network” để chỉ cho phép tài khoản đăng nhập từ mạng local, tăng tính bảo mật cho HomeAssistant

- Không tích vào “Administator” để hạn chế quyền của user này không cho chạy dưới quyền admin

5 Tích vào “Create” để tạo user

1 Chọn “Settings”, sau đó chọn “Devices & Services”

• Đặt tên cho broker là “core-mosquitto”

• Username và mật khẩu lấy từ tài khoản user_mqtt vừa tạo ở trên Sau đó bấm Next → Submit → Finish

Cài đặt Samba Share trên HomeAssistant để cấu hình “configuration.yaml”:

Tạo tài khoản và mật khẩu để quản lý file được chia sẻ Cấu hình địa chỉ IP theo địa chỉ

To access HomeAssistant's files, first save the IP address and then click "Start" to activate Samba Share Open File Explorer and enter the network path using the HomeAssistant IP address, then press Enter When prompted, enter the configured username and password for Samba Share to access the system files securely.

Open the "configuration.yaml" file using Notepad++ to configure entities, including adding status topics and setting their states for MQTT entities, ensuring proper integration and communication within your system.

Vì file “configuration.yaml” có đuôi yaml, vì vậy các dữ liệu trong file sẽ được thể hiện dưới dạng ngôn ngữ YAML

Đầu tiên, ta cần thêm các thực thể và các chủ đề liên quan để kết nối các thiết bị với MQTT broker Trong đồ án, em sẽ thêm hai thực thể chính là module relay 5V và cảm biến PIR 501, giúp hệ thống có khả năng tự động nhận diện và điều khiển thiết bị Các chủ đề như “state_topic”, “command_topic” và “availability_topic” sẽ tương ứng với các kênh truyền dữ liệu trong MQTT, đảm bảo luồng dữ liệu thông suốt giữa các thành phần Giá trị “payload” sẽ phản ánh trạng thái hoạt động của các thiết bị, giúp hệ thống dễ dàng theo dõi và điều khiển từ xa.

“state” tương ứng với giá trị của “command_topic”, các giá trị “payload_available”,

“payload_not_available” tương ứng với giá trị của “availablility_topic”

Sau đó, ta sẽ phải check xem cấu hình đã đúng hay chưa Nếu sai thì phải sử lại cho đúng sau đó bấm “Restart”

After selecting “OK” and waiting for the server to reboot, Home Assistant will automatically recognize the newly added MQTT switch (relay) and binary sensor (PIR 501), ensuring seamless integration and control of your devices.

Để kiểm tra liệu MQTT Broker đã hoạt động chưa, bạn cần sử dụng công cụ MQTT Explorer để kiểm tra cổng 1833 trên IP của MQTT broker Nếu kết quả hiển thị là "connected", điều đó nghĩa là Mosquitto broker đã hoạt động thành công Địa chỉ IP của máy ảo chạy Home Assistant cần được nhập vào ô Module IP để thực hiện việc kiểm tra chính xác nhất.

Sơ đồ thuật toán

Hình 4.1 Sơ đồ thuật toán

Ngày đăng: 26/12/2022, 04:44

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Tài liệu về HassIO: https://www.home-assistant.io/ Link
[2]. Giao thức MQTT: https://mqtt.org/ Link
[3]. Add-on Mosquitto broker: https://github.com/homeassistant/addons/tree/master/mosquitto Link
[4]. Config MQTT: https://www.home-assistant.io/integrations/mqtt/ Link
[8]. Arduino IDE: https://www.arduino.cc/en/software Link
[9]. Esp8266 board on Arduino: https://github.com/esp8266/Arduino Link
[10]. ESP8266WiFi lib on Arduino: https://arduinoesp8266.readthedocs.io/en/latest/ Link
[11]. MQTT lib on Arduino: https://github.com/knolleary/pubsubclient Link

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w