You are on page 1of 15

HỆ THỐNG IOT

NHÓM 3: Hệ thống công tắc thông minh


1 NGÔ VĂN TIẾN ĐẠT K185520207006
2 DƯƠNG QUỲNH GIANG K185520207060
3 LÂM THỊ NGÂN K185520207028 Trưởng nhóm
4 NGÔ VĂN HẢI K185520207010
5 HOÀNG VĂN CHIẾN K185520207056
6 NGUYỄN ĐĂNG MINH K185520207026

Ý tưởng:
Hệ thống công tắc thông minh sử dụng cảm biến và sử dụng phần mềm trên điện thoại :
 Sử dụng app trên điện thoại để điều khiển theo yêu cầu.
Mạch điều khiển :
- Dùng module NodeNCU ESP32 làm trung tâm sử lý
- Nguồn 220 V để cấp nguồn cho các thiết bị cần điều khiển.
App sử dụng:
- Có thể dùng các app có sẵn như Home Assistant để điều khiển công tắc thông
minh
- Thiết lập Home Assistant trên máy chủ
- Sử dụng Adruno IDE để viết chương trình

Bổ xung bật tắt thiết bị trong 1 phong


Gửi thông tin nhiệt độ/ độ ẩm phòng!
Trao đổi thực hiện:
1. Trình bày chức năng và hoạt động của Home Assistant? Nêu phương thức
kết nối hệ thống điều khiển bật/tắt thiết bị với Home Assistant.
2. Trình bày cụ thể các bước thiết lập Home Assistant trên máy chủ?
3. Tham khảo đọc nhiệt độ, độ ẩm
CÁC LINH KIỆN SỬ DỤNG:
- Dùng module NodeNCU ESP32 làm trung tâm sử lý
- Dùng cảm biến chuyển động AM312 để phát hiện con người từ đó tắt bật đèn tự
dộng.
- Dùng cảm biến DHT11 để đọc nhiệt độ, độ ẩm phòng.
- Dùng reley 5V/12A để tắt bật thiết bị.
SƠ ĐỒ NGUYÊN LÝ:
HOME ASSISTAN
1. Home Assistant
Home Assistant còn được gọi là “HA” hay “HASS” là một nền tảng quản lý nhà thông
minh được lập trình bằng ngôn ngữ Python. Nó có thể chạy trên mọi nền tảng hệ điều
hành và quản lý ngôi nhà thông minh qua giao diện web hay qua ứng dụng trên
smartphone. Home Assistant có 2 phiên bản. 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 lên bất kỳ nền tảng hệ điều hành
nào giống như một phần mềm máy tính.
“Home Assistant OS” kết hợp giữa “Home Assistant Core” và các công cụ khác.
Phiên bản này có thể cài đặt lên một chiếc máy tính như Raspberry Pi, máy ảo. Hai phiên
bản này khi cài lên thiết bị nào đó sẽ biến thiết bị đó thành một hub tổng giúp kết nối và
điều khiển thiết bị nhà thông minh, tương tự như Gateway trên nền tảng Xiaomi, Aqara,
Hub tổng trên nền tảng Samsung SmartThings.
 
Là phần mềm nguồn mở với sự hỗ trợ của đội ngũ kỹ sư, lập trình viên trên khắp thế
giới, Home Assistant tương thích với hầu hết mọi thiết bị nhà thông minh, mở ra khả
năng làm việc không giới hạn của các thiết bị trong ngôi nhà.
Dù là sử dụng phiên bản nào, người dùng cũng phải cài đặt Home Assistant trước, sau
đó hệ thống sẽ quét qua các thiết bị nhà thông minh hiện có, người dùng sẽ tiến hành cấu
hình để các thiết bị làm việc  theo nhu cầu.
Như vậy, nếu xét về sự tiện lợi, nhanh chóng, các nền tảng nhà thông minh đã giới
thiệu trong các bài viết trước tỏ ra vượt trội, trong khi đó, Home Assistant lại mạnh ở khả
năng điều khiển trong mạng nội bộ và tùy biến mạnh mẽ.
2. Các tính năng của Home Assistant
Giao diện quản lý của Home Assistant thân thiện dễ dùng
Home Assistant đóng vai trò như hub tổng điều khiển nhà thông minh, giúp tạo ra các
ngữ cảnh để thực hiện các tác vụ nhà thông minh từ đơn giản đến phức tạp, đóng vai trò
là cầu nối cho các thiết bị nhà thông minh sử dụng các công nghệ IoT khác nhau.
Nền tảng nhà thông minh mã nguồn mở này 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, không dùng nền tảng đám mây (Cloud), giúp kết
nối các thiết bị nội bộ hoặc với nền tảng đám mây từ các nhà cung cấp nền tảng nhà
thông minh mở hoặc đóng.
Home Assistant cung cấp các thành phần có khả năng tích hợp (ở dạng add-on hoặc
plugin) các hệ sinh thái IoT khác dự trên phần mềm như Google, Apple, Amazon, hay
sản xuất phần cứng như IKEA, Philips, Sonos, Tuya, Xiaomi…
Thay vì mỗi hãng phải cài mỗi app khác nhau để có thể thêm và sử dụng, Home
Assistant giúp gom mọi thứ về một mối, vừa dễ dàng quản lý, vừa dễ dàng trong việc tạo
ra các ngữ cảnh linh hoạt để các thiết bị làm việc liền mạch với nhau.
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 điều khiển mọi thứ từ một “máy chủ” nội bộ vừa đảm bảo an toàn cho ngôi nhà,
dữ liệu cá nhân, còn đảm bảo mỗi khi đường truyền mạng gặp vấn đề – đa phần các nền
tảng khác đều đặt máy chủ ở nước ngoài – thì mọi thứ vẫn làm việc trôi chảy.
Người dùng có thể sử dụng trợ lý ảo kỹ thuật số Google Assistant hay Amazon Alexa
để điều khiển nhà thông minh qua giọng nói rảnh tay. Vì tính mở và tùy biến cao, Home
Assistant không dễ cho tất cả mọi người. Tuy nhiên, cộng đồng người dùng nền tảng này
cực kỳ công đảo và năng động, nên hầu như người dùng có thể làm, học hỏi mọi thứ mà
không gặp khó khăn gì. 
Người dùng cũng cần có kiến thức về hệ thống để cài đặt Home Assistant Core nền
tảng lên hệ điều hành hiện có (Windows, Mac…) hoặc cài đặt Home Assistant OS. Để có
thể tùy biến, người dùng cần có kiến thức về lập trình Python.
- Phương thức kết nối hệ thống điều khiển bật/tắt thiết bị với Home Assistant:
Sử dụng giao thức MQTT để kết nối hệ thống điều khiển với Home Assitant.
MQTT
1. Hoạt động
Trong kiến trúc MQTT, MQTT Broker có vai trò như một trung tâm lưu trữ thông tin,
trong khi đó MQTT Client sẽ bao gồm 2 nhóm là Publisher (xuất bản)
và Subscriber (đăng ký).
Broker chính là cầu nối giữa các Publisher và Subscriber, Broker nhận thông tin từ
Publisher, sau đó những Client nào có đăng ký topic (chủ đề) thông tin đó trên Broker sẽ
nhận được thông tin.
Mô hình này được thiết kế để việc giao nhận thông tin diễn ra ngay cả khi đường
truyền không ổn định, và là giao thức lý tưởng cho các ứng dụng M2M (Machine to
Machine - Máy đến máy).

Sơ đồ hoạt động của MQTT


2. 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.
 Tồn tại ba mức độ tin cậy cho việc truyền dữ liệu (QoS: Quality of service)
o QoS 0: Broker/client sẽ gửi dữ liệu đúng một lần, quá trình gửi được xác
nhận bởi chỉ giao thức TCP/IP.
o QoS 1: Broker/client sẽ gửi dữ liệu với ít nhất một lần xác nhận từ đầu kia,
nghĩa là có thể có nhiều hơn 1 lần xác nhận đã nhận được dữ liệu.
o QoS 2: Broker/client đảm bảo khi gửi dữ liệu thì phía nhận chỉ nhận được
đúng một lần, quá trình này phải trải qua 4 bước bắt tay.
 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.
CÁC BƯỚC THIẾT LẬP HOME ASSISTANT TRÊN MÁY CHỦ:
Home Assistant là một phần mềm đa nền tảng, nó có nhiều cách để cài đặt. Cách được cài
đặt trên hệ điều hành Windows 10 với kiện trên PC đã có sẵn phần mềm tạo máy ảo
Oracle VM VirtualBox.
Bước đầu, ta sẽ mở trình duyệt web lên và tìm đến trang web https://www.home-
assistant.io/installation/windows và sau đó, chọn vào “VirtualBox (.vdi)” để tải bản cài
cho máy ảo. Sau khi tải xong ta sẽ phải giải nén nó.

Tiếp theo, ta sẽ mở phần mềm Oracle VM VirtualBox để tạo một máy ảo mới để
chạy bản cài cho Home Assistant ta vừa mới tải và giải nén.
M
ở cửa sổ VirtualBox lên và chọn “New”.

Cửa sổ “Create Virtual Machine” xuất hiện. Để cài Home Assistant, ô “Type”
chọn “Linux”, ô Version chọn “Other Linux (64-bit)”, còn ô “Name” là ô để ta đặt tên
tuỳ chọn. Sau đó chọn “Next”.
Tiếp theo, cửa sổ “Memory Size” trên sẽ hiện ra để ta chọn dung lượng RAM cho
máy ảo sử dụng. Lưu ý: chọn dung lượng RAM không lớn hơn dung lượng RAM máy
thật đang có. Chọn “Next” để tiếp tục.

Tiếp theo ta sẽ chọn file cài đặt của Home Assistant ta vừa tải để cài đặt. Ta tích
vào ô “Use an existing virtual hard disk file”. Sau đó click vào ô thư mục bên cạnh để
chọn file. Cửa sổ Hard Disk Selector hiện ra. Nếu bảng trên không hiện ra file ta cần, ta
chọn nút “Add” để thêm file nơi ta vừa tải xong rồi giải nén . Sau đó chọn “Choose” rồi
nhấn “Create” để tạo máy ảo.
Để máy ảo có thể được cài đặt, ta cần điều chỉnh một số thông số

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 đó, ta vào trang web http://homeassistant.local:8123/ hay http://X.X.X.X:8123


với X.X.X.X là địa chỉ IP của máy ảo Home Assistant ta vừa cài để tạo tài khoản và đăng
nhập vào HassIO. Nó sẽ yêu sẽ yêu cầu đợi 20 phút để tạo giao diện.

Sau khi tạo xong tài khoản, Home Assistant sẽ yêu cầu ta chọn vị trí ta muốn đặt
làm smarthome và đặt tên cho smarthome của mình. Sau khi chọn xong vị trí và đặt tên
rồi ta nhấn “Next”.
Đây là giao diện bắt đầu cho home assistant. Vậy là ta đã cài đặt xong Home
Assistant.

You might also like