Khái niệm về nhà thông minh
Nhà thông minh, hay còn gọi là hệ thống nhà thông minh, là một ngôi nhà được trang bị các công nghệ tự động tiên tiến để điều khiển các yếu tố như ánh sáng, nhiệt độ, an ninh, và rèm cửa Mục tiêu của hệ thống này là nâng cao sự tiện nghi và an toàn cho cuộc sống hàng ngày, đồng thời tối ưu hóa việc sử dụng tài nguyên.
Nhà thông minh tích hợp các thiết bị kết nối Internet, cho phép người dùng quản lý và giám sát từ xa các hệ thống như ánh sáng và nhiệt độ.
Công nghệ nhà thông minh, hay còn gọi là tự động hóa ngôi nhà, mang đến cho người dùng sự an toàn, thoải mái và tiện lợi, đồng thời giúp tiết kiệm năng lượng Người dùng có thể kiểm soát các thiết bị thông minh thông qua ứng dụng trên smartphone hoặc các thiết bị kết nối mạng khác Là một phần của Internet of Things (IoT), các hệ thống và thiết bị nhà thông minh hoạt động đồng bộ, chia sẻ dữ liệu và tự động hóa các hành động dựa trên ưu tiên của chủ nhà.
Dựa trên kiến thức từ môn "Hệ thống nhúng", chúng em xin trình bày nghiên cứu và kết quả đồ án với đề tài "Thiết kế hệ thống cảm biến".
Biến Nhiệt Độ ,Độ Ẩm Và ReLay”
1.2 Cơ sở hình thành hệ thống cảm biến nhiệt độ,độ ẩm
Xã hội phát triển đồng nghĩa với nhu cầu con người ngày càng cao, trong khi việc tiết kiệm năng lượng trở thành ưu tiên hàng đầu của các quốc gia Thiết bị đo nhiệt độ và độ ẩm đóng vai trò quan trọng trong đời sống, do đó, việc kiểm soát các thiết bị này là cần thiết để nâng cao tiện nghi cho người sử dụng và giảm thiểu lãng phí năng lượng không cần thiết.
Nhu cầu đo nhiệt độ và độ ẩm trong cuộc sống hàng ngày đã dẫn đến sự ra đời của nhiều thiết bị thông minh Hiện nay, trên thị trường có nhiều sản phẩm đến từ các nước phát triển như Model KLK 100 từ Phần Lan và cảm biến sản xuất bởi VCP-Thụy Điển, đáp ứng nhu cầu sử dụng ngày càng cao của người tiêu dùng.
Model OM352UNI ( Cộng Hòa Séc)…
Hình 1.2 Cảm biến nhiệt độ, độ ẩm trong phòng
1.3 Yêu cầu công nghệ của hệ thống cảm biến nhiệt độ , độ ẩm thông minh 1.3.1 Tính tự động
Với sự phát triển không ngừng của sản xuất công nghiệp và khoa học kỹ thuật, tính tự động hóa trong hệ thống cảm biến nhiệt độ và độ ẩm, cũng như các máy móc khác, trở nên vô cùng cần thiết Tính tự động này không chỉ giúp giảm thiểu lượng điện năng tiêu thụ mà còn hạn chế tối đa sự can thiệp của con người.
Với sự tiến bộ của công nghệ IoT, hầu hết các thiết bị tự động thông minh hiện nay đều được kết nối Internet, cho phép người dùng giám sát và điều khiển chúng từ xa một cách dễ dàng.
Một tiêu chuẩn quan trọng mà mọi hộ gia đình, cơ quan và công ty cần xem xét là tính đơn giản của hệ thống Tính đơn giản giúp người dùng dễ dàng sử dụng, thao tác, vận hành, lắp đặt, bảo trì và sửa chữa khi gặp sự cố.
Trong xã hội hiện đại, nhu cầu thẩm mỹ của con người ngày càng cao, dẫn đến việc các sản phẩm phải đa dạng và phong phú hơn Những sản phẩm này không chỉ cần có hình thức mẫu mã bắt mắt mà còn phải đảm bảo độ bền, chắc chắn và hoạt động trơn tru, hạn chế sự cố.
Ngày nay, tính thuận tiện là yếu tố quan trọng mà người dùng xem xét khi lựa chọn sản phẩm Yêu cầu này xuất hiện trong mọi giai đoạn, từ lắp ráp, vận hành cho đến bảo trì và sửa chữa, nhằm tiết kiệm thời gian, chi phí và công sức.
CHƯƠNG 2: NỀN TẢNG GIAO TIẾP
Home Assistant, hay 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 chạy trên mọi hệ điều hành Người dùng có thể quản lý ngôi nhà thông minh qua giao diện web hoặc ứng dụng di động Home Assistant có hai phiên bản, trong đó phiên bản "Home Assistant" hay "Home Assistant Core" là thành phần cốt lõi nhất, 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ợ khác, cho phép cài đặt trên các thiết bị như Raspberry Pi hoặc máy ảo Khi được cài đặt, nó biến thiết bị thành một hub tổng, giúp kết nối và điều khiển các thiết bị nhà thông minh, tương tự như Gateway của Xiaomi, Aqara và Hub của Samsung SmartThings.
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 mã nguồn mở được hỗ trợ bởi đội ngũ kỹ sư và lập trình viên toàn cầu, tương thích với hầu hết các thiết bị nhà thông minh, mang đến khả năng kết nối và điều khiển không giới hạn cho ngôi nhà của bạn.
Để sử dụng Home Assistant, người dùng cần cài đặt phần mềm trước, sau đó hệ thống sẽ tự động quét và nhận diện các thiết bị nhà thông minh hiện có Tiếp theo, người dùng tiến hành cấu hình để các thiết bị hoạt động theo nhu cầu của mình.
Yêu cầu công nghệ của hệ thống tắt bật đèn thông minh
Tính tự động
Với yêu cầu ngày càng cao trong sản xuất công nghiệp và sự phát triển của khoa học kỹ thuật, tính tự động hóa trong hệ thống cảm biến nhiệt độ và độ ẩm trở nên cực kỳ quan trọng Việc tự động hóa không chỉ giúp giảm thiểu lượng điện năng tiêu thụ mà còn hạn chế tối đa sự can thiệp của con người, nâng cao hiệu quả hoạt động của máy móc.
Tính thông minh
Với sự tiến bộ của công nghệ IoT, hầu hết các thiết bị tự động thông minh hiện nay đều được kết nối với Internet, cho phép người dùng giám sát và điều khiển chúng từ xa một cách dễ dàng.
Tính đơn giản
Một tiêu chuẩn quan trọng mà mọi hộ gia đình, cơ quan và công ty cần xem xét là tính đơn giản của hệ thống Tính đơn giản giúp người dùng dễ dàng sử dụng, thao tác, lắp đặt, bảo trì và sửa chữa khi cần thiết.
Tính thẩm mỹ
Xã hội hiện đại đòi hỏi con người có nhu cầu cao về tính thẩm mỹ, vì vậy các sản phẩm phải đa dạng, phong phú và có thiết kế bắt mắt Bên cạnh đó, độ bền, chắc chắn và khả năng hoạt động trơn tru, ít sự cố cũng là yếu tố quan trọng cần được đảm bảo.
Tính thuận tiện
Ngày nay, tính thuận tiện trở thành tiêu chí quan trọng trong việc lựa chọn sản phẩm Yêu cầu này xuất hiện ở hầu hết các giai đoạn, từ lắp ráp, vận hành cho đến bảo trì và sửa chữa, nhằm tiết kiệm thời gian, chi phí và công sức cho người dùng.
NỀN TẢNG GIAO TIẾP
Home Assistant
Home Assistant, hay còn gọi là “HA” hoặc “HASS”, là nền tảng quản lý nhà thông minh được phát triển bằng ngôn ngữ Python Nền tảng này có khả năng hoạt động trên mọi hệ điều hành và cho phép người dùng quản lý ngôi nhà thông minh thông qua giao diện web hoặc ứng dụng trên smartphone Home Assistant gồm hai phiên bản, trong đó phiên bản “Home Assistant” hay "Home Assistant Core" là thành phần cốt lõi, có thể được cài đặt trên bất kỳ hệ điều hành nào như một phần mềm máy tính.
Home Assistant OS kết hợp Home Assistant Core và các công cụ khác, cho phép cài đặt trên máy tính như Raspberry Pi hoặc máy ảo Khi được cài đặt, nó biến thiết bị thành một hub tổng, giúp kết nối và điều khiển các thiết bị nhà thông minh, tương tự như Gateway của Xiaomi, Aqara hay Hub tổng trên nền tảng Samsung SmartThings.
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 mã nguồn mở, được hỗ trợ bởi đội ngũ kỹ sư và lập trình viên toàn cầu, tương thích với hầu hết các thiết bị nhà thông minh, mang đến khả năng kết nối và điều khiển không giới hạn cho ngôi nhà của bạn.
Để sử dụng Home Assistant, người dùng cần cài đặt ứng dụng trước Sau khi cài đặt, hệ thống sẽ tự động quét các thiết bị nhà thông minh hiện có Tiếp theo, người dùng sẽ tiến hành cấu hình để các thiết bị hoạt động theo nhu cầu của mình.
Các nền tảng nhà thông minh nổi bật về sự tiện lợi và tốc độ, trong khi Home Assistant lại thể hiện ưu thế vượt trội trong khả năng điều khiển mạng nội bộ và tùy biến linh hoạt.
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 cho ngôi nhà thông minh, cho phép tạo ra các ngữ cảnh để thực hiện các tác vụ từ đơn giản đến phức tạp Nó kết nối các thiết bị nhà thông minh thông qua các công nghệ IoT khác nhau, giúp tối ưu hóa trải nghiệm sống thông minh.
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ỗ, đảm bảo an toàn và không sử dụng nền tảng đám mây Hệ thống này cho phép kết nối các thiết bị nội bộ hoặc tích hợp với các nền tảng đám mây từ các nhà cung cấp khác nhau.
Home Assistant cho phép tích hợp các hệ sinh thái IoT như Google, Apple, Amazon và các nhà sản xuất phần cứng như IKEA, Philips, Sonos, Tuya, Xiaomi thông qua các thành phần add-on hoặc plugin.
Home Assistant giúp tích hợp nhiều ứng dụng khác nhau, cho phép người dùng quản lý dễ dàng và tạo ra các ngữ cảnh linh hoạt, giúp các thiết bị hoạt động liền mạch với nhau.
Hình 2.3 Home Assistant có thể kết nối các thương hiệu khác nhau để hoàn tất tác vụ nhà thông minh cần thiết
Việc sử dụng một "máy chủ" nội bộ giúp bảo vệ an toàn cho ngôi nhà và dữ liệu cá nhân, đồng thời đảm bảo hệ thống hoạt động liên tục ngay cả khi gặp sự cố mạng, khác với nhiều nền tảng khác thường đặt máy chủ ở nước ngoài.
Người dùng có thể điều khiển nhà thông minh bằng giọng nói thông qua trợ lý ảo như Google Assistant và Amazon Alexa Mặc dù Home Assistant có tính mở và tùy biến cao, nhưng không phải ai cũng dễ dàng sử dụng Tuy nhiên, cộng đồng người dùng của Home Assistant rất đông đảo và năng động, giúp mọi người có thể học hỏi và thực hiện nhiều điều mà không gặp khó khăn.
Người dùng cần hiểu biết về hệ thống để cài đặt Home Assistant Core trên các hệ điều hành như Windows hoặc Mac, hoặc có thể lựa chọn cài đặt Home Assistant OS Để tùy biến hiệu quả, kiến thức lập trình Python là cần thiết.
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ị Được coi là tiêu chuẩn nhắn tin cho IoT, MQTT nổi bật với khả năng truyền tải nhẹ, độ tin cậy cao và yêu cầu băng thông tối thiểu.
MQTT, ra mắt lần đầu vào năm 1999, đã trở thành một giao thức phổ biến trong nhiều lĩnh vực Phiên bản mới nhất, 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.
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ý.
Trong kiến trúc MQTT, MQTT Broker đóng vai trò là trung tâm lưu trữ thông tin, trong khi MQTT Client được chia thành hai nhóm: Publisher (xuất bản) và Subscriber (đăng ký).
Broker đóng vai trò là cầu nối giữa các Publisher và Subscriber, nhận thông tin từ Publisher và phân phối đến các Client đã đăng ký chủ đề thông tin trên Broker.
Mô hình này được phát triển nhằm đảm bảo việc giao nhận thông tin diễn ra liên tục, ngay cả trong điều kiện đường truyền không ổn định Đây là giao thức lý tưởng cho các ứng dụng M2M (Machine to Machine - Máy đến máy).
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.
Có ba mức độ tin cậy trong việc truyền dữ liệu (QoS: Quality of Service) QoS 0 cho phép broker/client gửi dữ liệu một lần duy nhất, với xác nhận từ giao thức TCP/IP QoS 1 yêu cầu broker/client gửi dữ liệu ít nhất một lần với xác nhận từ phía nhận, có thể dẫn đến nhiều lần xác nhận QoS 2 đảm bảo rằng dữ liệu chỉ được nhận đúng một lần, thông qua quy trình bắt tay gồm bốn bước.
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, với các tính năng và đặc điểm nổi bật, mang lại nhiều lợi ích cho hệ thống SCADA (Supervisory Control And Data Acquisition) trong việc truy cập dữ liệu IoT.
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 cung cấp thông báo về trạng thái gửi thông điệp, dẫn đến việc không thể xác định liệu thông điệp đã được gửi thành công hay chưa.
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à vi mạch SoC nổi bật với khả năng thu phát wifi tích hợp, sử dụng CPU 32-bit với xung nhịp 80Mhz, mang lại hiệu suất xử lý mạnh mẽ Mặc dù số lượng ngoại vi không nhiều, nhưng vẫn đủ cho các ứng dụng nhỏ Để hoạt động, ESP8266 cần kết nối với bộ nhớ Flash bên ngoài và một thiết kế antena tốt, vì vậy module tích hợp ESP8266 thường được ưa chuộng hơn vi mạch đơn lẻ.
Các module phổ biến hiện nay bao gồm ESP-WROOM-XX của ESPRESSIF và ESP-XX của AI-Thinker Mạch phát triển ESP-8266 tích hợp module ESP8266, cung cấp chức năng cấp nguồn, giao tiếp máy tính và kết nối với các thiết bị ngoại vi.
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 có chức năng đầu vào và đầu ra, không hỗ trợ mức cao khi khởi động Đặc biệt, GPIO16 (D0) có thể được sử dụng để điều khiển PWM hoặc thức dậy từ chế độ ngủ sâu.
D1 GPIO5 OK OK thường được sử dụng như
D4 GPIO2 thường được sử dụng làm SDA (I2C) để kết nối với nút FLASH Khi khởi động, nếu D4 GPIO2 được kéo xuống mức thấp, quá trình khởi động sẽ không thành công Ngược lại, nếu kéo lên mức cao, nó sẽ kết nối với đèn LED trên bo mạch, nhưng vẫn có nguy cơ khởi động không thành công nếu kéo xuống mức thấp.
RX GPIO3 OK Chân RX
TX GPIO1 Chân TX OK
SPI (SCLK) SPI (MISO) SPI (MOSI)
SPI (CS) Khởi động không thành công nếu kéo MỨC CAO
MỨC CAO khi khởi động
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 là một công tắc điện từ có chức năng đóng mở mạch điện cơ hoặc điện tử Nó có khả năng chuyển đổi dòng điện nhỏ thành dòng điện lớn hơn thông qua việc bật hoặc tắt Rơ le hoạt động bằng cách nhận tín hiệu điện và gửi tín hiệu đến thiết bị khác, điều khiển công tắc Dù là tiếp điểm normally closed hay normally open, rơ le vẫn không hoạt động khi không có điện Trạng thái của rơ le chỉ thay đổi khi có dòng điện được cấp vào các điểm tiếp xúc.
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, với khả năng sử dụng rơ le lên đến 10A ở 250VAC hoặc 30VDC.
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 với hoạt động tích cực thấp, có nghĩa là rơle sẽ được kích hoạt khi chân ở mức LOW và sẽ không hoạt động khi chân ở 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 normally closed (NC) được áp dụng khi bạn cần rơle ở trạng thái tắt mặc định Trong chế độ này, rơle sẽ luôn ở trạng thái đóng và chỉ mở mạch khi nhận được tín hiệu từ Arduino hoặc NodeMCU ESP8266 gửi đến mô-đun rơle.
Cấu hình normally open (NO) của rơle hoạt động bằng cách giữ mạch luôn mở cho đến khi nhận tín hiệu từ Arduino hoặc NodeMCU ESP8266, lúc này mô-đun rơle sẽ đóng mạch lại.
3.2.3 Cảm biến nhiệt độ , độ ẩm DHT11
Cảm biến DHT11 là một trong những cảm biến độ ẩm và nhiệt độ phổ biến nhất hiện nay nhờ vào chi phí thấp và khả năng thu thập dữ liệu dễ dàng qua giao thức 1 wire Giao thức này chỉ sử dụng một chân Digital để truyền dữ liệu, và bộ tiền xử lý tín hiệu tích hợp trong cảm biến cho phép bạn đọc dữ liệu mà không cần thực hiện bất kỳ tính toán phức tạp nào.
Cảm biến DHT11 được cấu tạo từ một phần tử cảm biến độ ẩm điện dung và một điện trở nhiệt, cho phép đo độ ẩm và nhiệt độ Tụ điện cảm biến độ ẩm gồm hai điện cực với chất nền giữ ẩm làm chất điện môi, trong khi IC xử lý các giá trị điện trở thay đổi và chuyển đổi chúng thành tín hiệu kỹ thuật số Để đo nhiệt độ, cảm biến sử dụng một nhiệt điện trở có hệ số nhiệt độ âm, giúp tăng độ nhạy với sự thay đổi nhiệt độ DHT11 có kích thước nhỏ gọn, tiêu thụ điện năng thấp và khả năng truyền tín hiệu lên tới hơn 20 mét, là lựa chọn lý tưởng cho các ứng dụng không yêu cầu độ chính xác tuyệt đối.
Làm mạch cảm biến nhiệt độ , độ ẩm
Phát triển , tích hợp trên các bộ kit như pyWiFi-ESP32….
VCC: Cấp điện áp hoạt động từ 3.3 đến 5VDC
Màn hình LCD 16×2 là một linh kiện được sử dụng rộng rãi trong trong các dự án điện tử và lập trình.
LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS, RW, EN).
5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2.
Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu.
Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi.
LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm
Module I2C LCD giúp tiết kiệm chân kết nối cho vi điều khiển, chỉ cần sử dụng 2 chân (SCL, SDA) thay vì 6 chân như trước đây (RS, EN, D7, D6, D5 và D4) để kết nối với LCD 16×2 Nó hỗ trợ các loại LCD sử dụng driver HD44780 như LCD 16×2 và LCD 20×4, đồng thời tương thích với hầu hết các vi điều khiển hiện nay, mang lại sự tiện lợi trong việc kết nối.
Thông số kỹ thuật: Điện áp ngõ vào: DC 3.5-4.2 Điện áp ngõ ra điều chỉnh: 5.5 - 27V Điện áp sạc: 4.2V
Dòng điện sạc tối đa: 1A +Dòng xả tối đa: 2A +Dòng điện xả tham chiếu tương tự như sau: 5v - 1.4A / 9V - 0.8A / 12V - 0.6A
Dòng tĩnh: 0.3mA ,có bảo vệ quá dòng, không có chức năng bảo vệ quá áp
Hình 3.6 Mạch sạc pin lion 3.7V
*Chức năng: Cấp nguồn cho mạch và tăng áp 5.5-27V Nhỏ gọn dễ sử dụng…
CÀI ĐẶT
Home Assistant
Để quản lý smart home hiệu quả, việc sử dụng nền tảng quản lý là rất cần thiết, trong đó Home Assistant là một lựa chọn phổ biến Home Assistant là phần mềm đa nền tảng với nhiều phương thức cài đặt khác nhau Bài viết này sẽ giới thiệu cách cài đặt thông dụng nhất trên hệ điều hành Windows 10.
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 the website https://www.home-assistant.io/installation/windows Next, select the “VirtualBox (.vdi)” option to download the installation file for the virtual machine Once the download is complete, you will need to extract the file.
Next, we will open Oracle VM VirtualBox to create a new virtual machine for running the Home Assistant installation that we have just downloaded and extracted.
Mở cửa sổ VirtualBox lên và chọn “New”.
The "Create Virtual Machine" window appears To install Home Assistant, select "Linux" for the "Type," choose "Other Linux (64-bit)" for the "Version," and enter a custom name in the "Name" field Then, click "Next" to proceed.
Tiếp theo, cửa sổ "Memory Size" sẽ xuất hiện, cho phép người dùng chọn dung lượng RAM cho máy ảo Lưu ý rằng dung lượng RAM không được vượt quá dung lượng RAM của máy thật Sau khi chọn xong, hãy nhấn "Next" để tiếp tục.
Để cài đặt Home Assistant, trước tiên, chọn file cài đặt đã tải về và đánh dấu vào ô “Use an existing virtual hard disk file” Tiếp theo, nhấn vào biểu tượng thư mục bên cạnh để chọn file Nếu file không hiển thị trong bảng Hard Disk Selector, hãy nhấn “Add” để thêm file đã giải nén Sau khi chọn file, nhấn “Choose” và sau đó nhấn “Create” để tạo máy ảo Để hoàn tất quá trình cài đặt máy ảo, cần điều chỉnh một số thông số cần thiết.
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 OK.
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
Sau khi cài đặt máy ảo Home Assistant, bạn có thể truy cập vào trang web http://homeassistant.local:8123/ hoặc http://X.X.X.X:8123, trong đó X.X.X.X là địa chỉ IP của máy ảo Tại đây, bạn sẽ tiến hành tạo tài khoản và đăng nhập vào HassIO Lưu ý rằng hệ thống sẽ yêu cầu bạn chờ khoảng 20 phút để hoàn tất việc tạo giao diện.
Sau khi hoàn tất việc tạo tài khoản, Home Assistant sẽ yêu cầu người dùng chọn vị trí và đặt tên cho smarthome của mình Sau khi hoàn tất lựa chọn, nhấn “Next” để tiếp tục Đây là giao diện khởi đầu của Home Assistant, đánh dấu việc cài đặt đã hoàn tất.
MQTT – Add-on Mosquitto broker
After installing Home Assistant, the next step is to set up the Mosquitto broker add-on to manage devices and entities in your smart home First, navigate to "Supervisor" and then select the "Add-on Store" tab Enter "Mos" in the search box to find the "Mosquitto broker" add-on, and then click on it to proceed.
Rồi chọn “Install” để cài đặt vào Home Assistant.
Để bắt đầu dịch vụ MQTT, trước tiên chọn “Start” và thêm tài khoản cho MQTT server nhằm quản lý các thực thể Tiếp theo, vào tab “Configuration” để thêm tài khoản và cấu hình các cổng trên PC Để đặt tên và mật khẩu cho MQTT broker, chọn tab “Configuration” trong add-on MQTT broker, sau đó nhập thông tin vào ô “Options” dưới dòng “logins” Để cấu hình port cho MQTT, vào ô “Network” và đặt port theo yêu cầu Cuối cùng, nhấn “Save” để lưu các thay đổi đã thực hiện.
Tiếp theo, ta cài “add-on File Editor” Ta cài đặt “add-on File Editor” tương tự như cài “add-on Mosquitto broker”.
Sau đó, mở add-on File Editor lên, ta chọn biểu tượng có hình thư mục.
Để cấu hình MQTT server và các thực thể liên quan, chúng ta cần chỉnh sửa file “configuration.yaml” Trong file này, hãy thêm các topic trạng thái và cài đặt trạng thái cho các thực thể thuộc nền tảng MQTT Lưu ý rằng file “configuration.yaml” có đuôi yaml, do đó dữ liệu sẽ được trình bày theo ngôn ngữ YAML.
Sau khi vào được file “configuration.yaml”.
Để thêm server MQTT vào Home Assistant, bạn cần sử dụng các dòng lệnh và thay thế “X.X.X.X” bằng địa chỉ IP của máy ảo Home Assistant mà bạn đã cài đặt Đồng thời, hãy đảm bảo điền đúng “ten_tai_khoan_mqtt” để hoàn tất cấu hình.
“mat_khau_mqtt” tương ứng lần lượt là tên tài khoản và mật khẩu cho mqtt server bạn đặt trong tab “Configuration” trong “add-on mqtt broker”.
Trong bài viết này, chúng ta sẽ bổ sung các thực thể và chủ đề liên quan đến chúng Cụ thể, tôi sẽ thêm hai thực thể là module relay 5V và cảm biến PIR 505 Ba dòng “state_topic:”, “command_topic:”, và “availability_topic:” sẽ tương ứng với ba kênh của MQTT broker, trong đó các giá trị “payload” sẽ phản ánh giá trị của “state_topic”.
“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”.
To recognize the newly added device, you need to restart the server by selecting "Server Controls" in the "Configuration" tab of Home Assistant In the "Server Controls" section, click on "Restart" to reboot the server.
Click "OK" and wait for a moment while the server restarts Once Home Assistant has rebooted, it will recognize the newly added MQTT switch (relay) and binary sensor (PIR 505).
Để kiểm tra xem MQTT broker đã hoạt động hay chưa, bạn có thể sử dụng công cụ Hercules để kiểm tra cổng 1833 trên địa chỉ IP của MQTT broker Nếu kết quả hiển thị là "connected", điều đó có nghĩa là Mosquitto broker đã hoạt động thành công Hãy chắc chắn điền địa chỉ IP của máy ảo Home Assistant vào ô Module IP.
Sơ đồ thuật toán
Hình 4.1 Sơ đồ thuật toán