TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP THÁI NGUYÊN KHOA ĐIỆN TỬ ĐỒ ÁN HỆ THỐNG NHÚNG ĐỀ TÀI ỨNG DỤNG CẢM BIẾN RUNG VÀO HỆ THỐNG NHÀ THÔNG MINH GIÁO VIÊN HƯỚNG DẪN TH S ĐỖ DUY CỐP SINH VIÊN THỰC HIỆN LÊ T.
Trang 1TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP THÁI NGUYÊN
KHOA ĐIỆN TỬ
ĐỒ ÁN HỆ THỐNG NHÚNG
ĐỀ TÀI : ỨNG DỤNG CẢM BIẾN RUNG VÀO
HỆ THỐNG NHÀ THÔNG MINH
GIÁO VIÊN HƯỚNG DẪN: TH.S ĐỖ DUY CỐP
SINH VIÊN THỰC HIỆN: LÊ THỊ THANH HẰNG MSSV: K195520207015
SINH VIÊN THỰC HIỆN: ĐỖ VĂN HÙNG
MSSV: K1955202070
LỚP : K55DVT.01
Trang 2Thái Nguyên, Ngày 30 tháng 11 năm 2022
KHOA ĐIỆN TỬ
BỘ MÔN TIN HỌC CN
Độc lập - Tự do - Hạnh phúc -o0o -
PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN MÔN HỌC
Ngành: Điện tử viễn thông
Giáo viên hướng dẫn: Th.s…Đỗ Duy Cốp
Ngày giao đề tài: ……… Ngày hoàn thành: ………
1 Tên đề tài: Ứng dụng cảm biến rung vào hệ thống nhà thông minh
2 Nội dung thuyết minh tính toán:
- Các chức năng chính của sản phẩm đồ án:
- Thiết kế hệ thống:
o Module phần cứng: (Các linh kiện chính)
o Phần mềm: (Các tính năng chính của phần mềm)
3 Báo cáo, chương trình:
Sinh viên được yêu cầu nộp các nội dung sau:
- Báo cáo bản word + slide powerpoint
- Mã nguồn chương trình hoặc phần mềm
- Sơ đồ nguyên lý mạch
- Video Demo
- Sản phẩm demo (nếu không có điểm tối đa là B)
Thông qua phần Thông qua phần Thông qua phần Đồng ý cho bảo vệ
Trang 3TRƯỞNG BỘ MÔN GIÁO VIÊN HƯỚNG DẪN
PHIẾU THÔNG QUA ĐỒ ÁN
(Thực hiện theo lịch của GVHD)
Ngày Nội dung đã thực hiện và cần chuẩn bị cho lần
thông qua tiếp theo
GVHD ký
Trang 4
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
Thái Nguyên, ngày….tháng… năm 2022
GIẢNG VIÊN HƯỚNG DẪN
(Ký ghi rõ họ tên)
Trang 5NHẬN XÉT CỦA GIẢNG VIÊN CHẤM
………
………
………
………
………
………
………
………
Thái Nguyên, ngày….tháng… năm 2022 GIẢNG VIÊN CHẤM
(Ký ghi rõ họ tên)
Trang 6MỤC LỤC
LỜI MỞ ĐẦU 7
CHƯƠNG 1: KHẢO SÁT VÀ XÁC ĐỊNH YÊU CẦU 8
1.1 Thực trạng 8
1.2 Yêu cầu công nghệ của hệ thống công tơ điện tử thông minh 10
CHƯƠNG 2: XÂY DỰNG HỆ THỐNG 12
2.1 Giới thiệu về Home Assistant 12
2.2 Giao thức MQTT 26
2.2.1 MQTT – Add-on Mosquitto broker 30
2.2.2 Tìm hiểu tự động hóa Automation trong Home Assistant 37
2.3 Hướng dẫn sử dụng ESPHome trên Home Assistant để điều khiển thiết bị ESP8266 40
2.4 Chọn linh kiện 44
2.4.1 Công tơ điện tử 44
2.4.2 UART PZEM004T 48
2.4.3 Module Esp8266 50
2.4.4 LCD 20x4 54
CHƯƠNG 3: THIẾT KẾ VÀ MÔ PHỎNG 56
3.1 Sơ đồ nguyên lý 56
3.2 Chương trình phần mềm giao tiếp 56
3.3 Dùng mạch Pzem-004T v3 làm công tơ điện tử, tích hợp vào Home Assistant 60
CHƯƠNG 4: KẾT LUẬN 61
4.1 Các kết quả đạt được 61
4.1.1 Hoàn thành mô hình đề tài 61
Trang 74.2 Hướng phát triển của đề tài 62 Tài liệu tham khảo: 63
Trang 8DANH MỤC HÌNH ẢNH
Trang 10LỜI MỞ ĐẦU
Ngày nay, khi khoa học công nghệ phát triển một cách mạnh mẽ, việc ứng dụngcác thiết bị điện tử vào đời sống cũng ngày càng phổ biến hơn, nhất là với thời đại màcác hệ thống nhúng đang lên ngôi Từ những ứng dụng đơn như đồng hồ kĩ thuật số,máy nghe nhạc…đến những ứng dụng cho xã hội như đèn giao thông, bộ kiểm soáttrong nhà máy, cửa tự động…cho đến những ứng dụng mang tính quy mô, tầm cỡ nhưrobot, phi thuyền không người lái, kiểm soát nhà máy hạt nhân…
Với những kiến thức đã được học và tìm hiểu từ trường học và khoa học côngnghệ của cuộc sống hiện đại, em cũng có mong muốn góp thêm phần nào sự phát triển
xã hội bằng cách học hỏi và đưa ra những sản phẩm có ích cho cuộc sống Với mục
đích giới thiệu một sản phẩm nhỏ của hệ thống nhúng Đó là “ Ứng dụng cảm biến rung vào hệ thống nhà thông minh ”.Hệ thống này cho phép người dùng điều khiển
thiết bị bằng giọng nói hoặc điều khiển qua ứng dụng Home Assistant Do điều kiện vềthời gian và kiến thức còn hạn chế nên đề tài của chúng em chỉ dừng lại ở mức nghiêncứu, thiết kế và mô phỏng bằng mô hình Trong thời gian thực hiện đồ án, chúng em
đã tham khảo ý kiến của giảng viên hướng dẫn, tìm hiểu tài liệu và sự hỗ trợ góp ý từgiảng viên cũng như bạn bè và các anh chị đi trước Tuy nhiên do kiến thức còn hạnchế nên không thể tránh khỏi sai sót, chúng em rất mong nhận được sự góp ý của quýthầy cô và các bạn để đồ án của chúng em được hoàn thiện hơn, và tạo lập cho chúng
em có một cơ sở nhìn nhận về khả năng, kiến thức, từ đó có hướng phấn đấu tốt hơncho các đồ án tiếp theo
Trang 11CHƯƠNG I: KHẢO SÁT VÀ XÁC ĐỊNH YÊU CẦU 1.1 Thực trạng
Nhà thông minh hiện đang là xu hướng công nghệ của kỷ nguyên Internet kếtnối vạn vật (IoT) Theo các chuyên gia dự đoán đây chắc chắn là xu hướng tất yếu củatương lai Mặc dù hiện nay nhà thông minh được nhìn nhận là mang đến nhiều tínhnăng và tiện ích ấn tượng, song thách thức và sự phát triển trong tương lai của xuhướng nhà thông minh vẫn hiện hữu và được nhiều người dùng quan tâm chú ý
Hình 1: Smart home
Trước đây bạn chỉ thấy nhà thông minh trên phim ảnh hoặc trong trí tưởngtượng Nhưng hiện nay các giải pháp công nghệ internet kết nối vạn vật - IoT đã vàđang được nghiên cứu và triển khai rộng rãi, hướng tới kết nối toàn diện các thiết bịthông minh qua internet Các ứng dụng IoT đang ngày càng phổ biến và xuất hiệnthường xuyên ở cả những hoạt động hàng ngày của người dân Đây là là tiền đề cho sự
ra đời của nhà thông minh - Smarthome, kết hợp trí tuệ nhân tạo AI vào quản lý và vậnhành nhà ở để hướng tới sự tiện nghi, chăm sóc sức khỏe, an ninh, an toàn và tiết kiệmnăng lượng cho người dùng
Các hãng công nghệ đã ngày càng chú trọng tới việc cung cấp các thiết bị thông minh
có khả năng tích hợp Các hệ thống trong ngôi nhà thông minh nhờ đó không còn là
thứ xa xỉ của người thu nhập cao mà dần phổ biến trong tầng lớp bình dân với ưu điểm
về tính kết nối và dễ sử dụng Về tính kết nối, các thiết bị trong nhà thông minh đangbắt đầu giao tiếp với nhau, hoạt động như một nhóm thay vì các thiết bị riêng lẻ Về
Trang 12điện thoại thông minh kết nối wifi với ổ cắm thông minh cho phép điều khiển các thiết
bị điện theo một kịch bản nào đó
Khoảng 10 năm trước, Việt Nam bắt đầu xuất hiện smarthome qua sự cung cấp cácthiết bị nhỏ lẻ cho nhà ở Và sau đó hàng loạt doanh nghiệp Việt cũng gia nhập thịtrường như Lumi Smarthome, Acis, Rạng Đông, Điện Quang, Việt Tiệp… với ưu thếcủa một số doanh nghiệp là chuyển từ cung cấp sản phẩm, dịch vụ truyền thống có ứngdụng công nghệ và tích hợp thành giải pháp smart home Bên cạnh đó, là nhóm cácdoanh nghiệp tự xây dựng hệ thống smarthome cho hệ sinh thái của mình, sau đó kinhdoanh mảng dịch vụ này
Tại Việt Nam, xu hướng nhà thông minh cũng đang dần trở nên phổ biến trong các
công trình kiến trúc hiện đại Bằng chứng là các tập đoàn công nghệ lớn ra đời và đã
ký hợp tác đưa giải pháp Nhà thông minh vào khu đô thị cao cấp Nhiều căn hộ cánhân đơn lẻ cũng có nhu cầu lắp đặt các thiết bị công nghệ nhà thông minh để phục vụnhu cầu cuộc sống hằng ngày Để được gọi là hệ thống nhà thông minh, không thể đơn
lẻ một thiết bị, một vi xử lý hay một cảm biến, mà đó là sự kết hợp hài hòa giữa cáckhối với nhau Cảm biến sẽ thu thập dữ liệu từ bên ngoài, sau dó sẽ gửi về vi xử lý đểphân tích dữ liệu
Bất cứ một tác động lực nào lên một vật đang đứng yên đều tạo ra các rung động theomức độ từ nhẹ đến mạnh Và cảm biến rung cũng hoạt động theo nguyên lý đó Sửdụng cảm biến gia tốc với độ chính xác cao Khi phát hiện ra các rung động từ bấtthường từ vật thể mà cảm biến được liên kết Thiết bị sẽ phát tín hiệu đến bộ điềukhiển trung tâm Từ đó phát tín hiệu báo động và đồng thời gửi thông báo đẩy lên điệnthoại của người dùng Giúp người dùng có thể kiểm soát ngôi nhà của mình dù ở bất
cứ nơi đâu
Với những kiến thức đã học qua môn “ Hệ thống nhúng ”, chúng em xin được phép trình bày nghiên cứu và kết quả đồ án môn học với đề tài “Ứng dụng cảm biến vào hệ thống nhà thông minh”
1.2 Yêu cầu công nghệ của hệ thống nhà thông minh
Trang 13cùng cần thiết và quan trọng Tính tự động dễ dàng điều khiển và theo dõi, hạn chế tối
đa can thiệp của con người
*Tính thông minh
Với sự phát triển của công nghệ IoT, các thiết bị tự động thông minh ngày nay đa phần đều được kết nối với mạng Internet nhằm giúp người sử dụng có thể giám sát và điều khiển các thiết bị tự động từ xa
*Tính đơn giản
Tiếp đến một trong những tiêu chuẩn mà bất kỳ hộ gia đình,cơ quan, công ty, … nào cũng phải xem xét đó là tính đơn giản của hệ thống Tính đơn giản đảm bảo người dùng có thể dễ dàng sử dụng, dễ dàng thao tác, vận hành, lắp đặt, bảo trì, bảo dưỡng, sửa chữa dễ dàng khi có sự cố
*Ưu điểm của hệ thống:
-Kết nối giao tiếp đơn giản
-Tốc độ truyền khá nhanh
-Dễ dàng theo dõi từ xa
-Số liệu ít sai xót và khá tương đối
Trang 14CHƯƠNG II: XÂY DỰNG HỆ THỐNG.
2.1 Giới thiệu về Home Assistant
Nhà thông minh là hệ thống có thể điều khiển được các thiết bị điện thông minhtrên điện thoại, máy tính Và để làm được điều đó thì cần có một mã nguồn, nềntảng Và Home Assistant là phần mềm điều khiển nhà thông minh mã nguồn mở
Nó có thể đảm bảo được quyền riêng tư của người dùng và hoàn toàn miễn phí khi
sử dụng
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ềntảng hệ điều hành và quản lý ngôi nhà thông minh qua giao diện web hay qua apptrên smartphone
Home Assistant có 2 phiên bản Phiên bản “Home Assistant” hay “HomeAssistant 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
Là phần mềm mã nguồn mở, Home Assistant tương thích với hầu hết mọi thiết bịnhà thông minh Cho phép bạn kết nối các thiết bị, dữ liệu lại với nhau Sau đó bạn
có thể cấu hình để các thiết bị làm việc theo nhu cầu, lệnh của bạn Nó tương tựnhư IFTTT (if this then that – Nếu…thì…- công cụ để tự động hóa các thao tác).Nếu có chuyển động thì đèn sáng
Hình 2.1 Giới thiệu giao diện phần mềm Home Assistant
Trang 15*Một số đặc điểm của Home assistant
Giống như hầu hết các hệ thống tự động, Home Assistant cung cấp bản client trênđiện thoại và máy tính để điều khiển các thiết bị nhà thông minh từ xa Nó khác vớihầu hết các sản phẩm thương mại là không có thiết bị trung tâm nên không có radiotích hợp sẵn Bạn có thể thêm radio mình muốn bằng cách sử dụng USB
Home Assistant cũng không có các thành phần điện toán đám mây Schoutsen lậpluận rằng, loại bỏ những thành phần này sẽ giúp tăng cường an ninh, bảo mật, riêng tư
và tính ổn định cao hơn
Hình 2.1.1 Paulus Schoutsen thuyết trình về tự động hóa nhà tại Openlo Simmit
Vì Home Assistant không hoàn toàn khác biệt so với các framework IoT khác nên
nó dễ dàng kết nối với nhiều nền tảng khác nhau từ Nest đến Arduino hay Kodi
Có một điểm mạnh của Home Assistant do Python mang tới đó là: Việc mở rộng hệthống rất dễ dàng Python là ngôn ngữ năng động, nó cho phép tạo ra sự linh hoạt mànhững nhà lập trình Java luôn thèm khát Với Python thật dễ dàng để kiểm tra và tạocác mẫu thử cho từng phần mới trên bản cài đặt hiện có mà không bị ảnh hưởng vĩnhviễn đến các thành phần khác Đặc biệt là với phiên bản Python mới mà MicroPythonvừa đưa ra dành cho các hệ thống nhúng, như Arduino và ESP8266 thì khả năng nó sẽtrở thành ngôn ngữ chung cho tất cả các mức độ IoT, từ cảm biến đến tự động hóa đểtích hợp với các dịch vụ của bên thứ ba
Home Assistant là một chương trình dựa trên sự kiện, kết hợp máy trạng thái theodõi thực thể - tất cả các thiết bị được chọn và người bạn muốn theo dõi Mỗi thực thể
có một định danh, điều kiện trạng thái và các thuộc tính Thuộc tính là các mô tả của
Trang 16trạng thái, chẳng hạn như màu sắc, mức độ sáng trên bóng đèn thông minh PhilipsHue.
Ví dụ, để tích hợp Philips Hue vào hệ thống, bạn cần sử dụng thành phần ánh sáng,
có thể bật đèn và biết cách đọc trạng thái của đèn (bật hoặc tắt) Home Assistant cungcấp các thành phần cho mọi thiết bị, dịch vụ được hỗ trợ, hay truy cập dễ dàng vào cácnhóm thành phần như ánh sáng, nhiệt, công tắc, cửa garage Quá trình thiết lập cũng
dễ dàng nhờ khả năng phát hiện các thành phần và quét mạng Nếu có một thiết bịđược hỗ trợ, thì việc thiết lập nó gần như là một quá trình tự động
*Chức năng của Home assistant
Khi bạn quyết định lắp đặt hệ thống nhà thông minh, chắc bạn cũng biết có rấtnhiều hãng sản xuất các thiết bị thông minh Xiaomi sản xuất rất nhiều thiết bị, đầy đủtính năng, giá rẻ mà hoạt động bền bỉ, hay Broadlink với những thiết bị thông minhđiều khiển thay thế cho remote tivi, máy lạnh, quạt… rất hữu ích và chi phí cực tốt.Không chỉ riêng gì 2 hãng trên, còn các hãng nổi tiếng như Google, Apple với nhữngthiết bị thông minh hiện đại, tiên tiến Nhưng có một hạn chế là các thiết bị của cáchãng này không liên kết với nhau Mỗi hãng có một phần mềm riêng Ví dụ nhưXiaomi có Mi Home, Broadlink có IHC…điều này dẫn đến không thể tương tác qualại thiết bị giữa các hãng
Home Assistant giúp kết nối thiết bị của các hãng lại với nhau để dễ dàng quản lýmột cách thống nhất Home Assistant đã có thể kết nối hơn 1500 thiết bị của hàng trămhãng cũng cấp thiết bị lại với nhau, bạn có thể tham khảo thêm tạiđây: https://www.home-assistant.io/integrations/
Ngoài ra, Home Assistant còn có thể mở rộng chức năng một cách dễ dàng, hay tạongữ cảnh cực kỳ thuận tiện và có thể tương tác với tất cả các hãng với nhau
*Home assistant và Hass.io
Home Assistant còn được gọi là “HA” hay “HASS” nhiều người hay nhầm vớiHass.io Vậy nó có khác nhau không Câu trả lời là CÓ
Home Assistant là một mã nguồn mở để quản lý hệ thống Còn Hass.io không phảimột hệ thống hoàn chỉnh, nói nôm na nó giống như một các mô đun hơn, nó được cài
Trang 17đặt và nằm trong Home Assistant, có nhiệm vụ giúp bạn quản lý các chức năng của hệthống hay cài đặt thêm chức năng cho Home Assistant chỉ với 1,2 cú click chuột
Hình 2.1.2 Giao diện chính của Home Assistant
* Ứng dụng của Home assistant trong nhà thông minh
Giám sát
Home Assistant sẽ theo dõi và giám sát tất cả các thiết bị điện thông minh trong nhàbạn Miễn sao các thiết bị đó nằm trong danh sách được Home Assistant hỗ trợ
Hiện nay, nền tảng này đã hỗ trợ hơn 1500 thiết bị từ các hãng chuyên sản xuất thiết
bị thông minh như: Nest, IFTTT, Google, Hue, MQTT, Wemo, KODI, Plex, IKEA,vera, Arduino, Adobe, Amazon, Apple, Asus, Cisco, D-Link, Facebook, Huawei, LG,Microsoft,… Trong số đó có những cái tên rất nổi tiếng như Amazon Echo, FacebookMessenger, Google Cast, Google Assistant, phần mềm xem video MPC-HC, Kodi, tiviNetcast của LG, smartTV của Apple, smart TV của Samsung, hệ thống đèn thôngminh Philips Hue Light, hệ thống khóa cửa của Adobe, MQTT, Vera, Tesla,…
Bạn có thể tìm thấy danh sách đầy đủ những thiết bị này trên trang chủ của nền tảng
Điều khiển
Trang 18Khi kết nối các thiết bị với nhau, Home Assistant giúp bạn điều khiển các thiết bịthông minh trong nhà trên điện thoại hoặc máy tính một cách nhanh chóng và dễ dàng.Đặc biệt, nền tảng này không lưu trữ bất kỳ dữ liệu nào của người dùng trên máy chủ,
vì thế đảm bảo tính riêng tư khá cao
Khi bạn đi làm, thì đèn tự tắt, rèm đóng, tivi, máy lạnh tự tắt
Khi bạn về nhà thì đèn tự động bật dựa vào cảm biến chuyển động
Sau 23h tối tất cả các đèn đều tắt
Sau 23h tối nếu phát hiện kẻ gian đột nhập thì đèn tự bật sáng, thông báo về điện chothoại cho bạn, hoặc hú còi báo động…
Tất cả điều trên đều tự động hóa cả, bạn không chỉ việc setup ban đầu thôi
*Có thực sự cần Home Assistant cho nhà thông minh
Không sử dụng Home Assistant
Điểm thuận lợi:
Khi bạn lắp nhà thông minh, thường chọn những thiết bị của cùng một hãng Vàthông qua các app của nhà sản xuất, bạn có thể quản lý được các thiết bị thông minhtrong nhà bạn Ví dụ Xiaomi có app Mi Home, Broadlink có app IHC, SOnOff có appeWeLink,… Đây chính là điểm thuật lợi cho bạn Không cần phải cài thêm HomeAssistant
Điểm bất lợi:
Thứ 1: Là nếu bạn sử dụng nhiều thiết bị của các hãng khác nhau thì bạn cần cài nhiềuapp, để quản lý chúng Và sẽ có những thiết bị không liên kết được với nhau, do đóchúng không thể hoạt động cùng nhau được Ví dụ: Bạn không thể cài đặt cảm biếnchuyển động của Xiaomi khi phát hiện chuyển động sẽ bật đèn với công tắc củaSOnOff được
Trang 19Thứ 2: Các hãng sản xuất thiết bị thông minh có máy chủ (sever) ở nước ngoài Nếu cótình trạng như “cá mập cắn cáp” thì sẽ dẫn đến app quản lý hệ thống có internet chậpchờn, không ổn định.
Sử dụng Home Assistant
Điểm thuận lợi:
Với những tính năng kể trên thì Home Assistant đóng vai trò như tổng quản, đầunão của căn nhà của bạn Nó giúp các thiết bị của các hãng khác nhau liên kết thốngnhất với nhau trên một giao diện quản lý
Trong trường hợp “cá mập cắn cáp” thì bạn vẫn có thể điều khiển và quản lý bằngđường Internet trong nước, vẫn đảm bảo sự ổn định cho bạn
Điểm bất lợi:
Để có thể cấu hình và setup cho Home Assistant quản lý các thiết bị điện thôngminh trong nhà bạn thì bạn cần có kỹ thuật nhất định Hiện nay Home Assistant cómột đội ngũ hỗ trợ nhưng thường team này ở nước ngoài, nên còn hạn chế về mặtngôn ngữ và giao tiếp
Để cài đặt Home Assistant, các bạn cũng cần một chút kiến thức về kỹ thuật để hiểuđược ở mức độ cơ bản như: Raspberry là gì, SSH là gì, rồi SSL là gì ngoài ra, cònphải biết thêm một chút về các loại sóng như sóng Z-Wave, Sóng Zigbee, hay cũngnên tìm hiểu xem cảm biến là gì, các loại cảm biến trên thị trường…
Tuy nhiên, các bạn cũng không cần quá lo lắng, có rất nhiều bài viết với hình ảnhminh hoạ rõ ràng giúp các bạn chỉ cần copy paste là có thể cài được Home Assistant
*Các tính năng của Home Assistant
Trang 20Hình 2.1.3 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ácngữ 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 vaitrò 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ếtnố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ặcplugin) các hệ sinh thái IoT khác dự trên phần mềm như Google, Apple, Amazon, haysả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, HomeAssistant 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ệctạ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
Trang 21Hình 2.1.4 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ôinhà, 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ầncá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 AmazonAlexa để điều khiển nhà thông minh qua giọng nói rảnh tay Vì tính mở và tùy biếncao, Home Assistant không dễ cho tất cả mọi người Tuy nhiên, cộng đồng người dùngnề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ọchỏ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ềntả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
*Cài đặt Home Assistant với Windows
Đầu tiên, để quản lý được smart home ta cần một nền tảng để quản lý Mộttrong những nền tảng quản lý được sử dụng nhiều đó là Home Assistant HomeAssistant là một phần mềm đa nền tảng, nó có nhiều cách để cài đặt Sau đây, em xintrình bày cách cài đặt thông dụng nhất Cách được cài đặt trên hệ điều hành Windows
Trang 22Bướ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”
Trang 23Cử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”.
Trang 24Tiếp theo, cửa sổ “Memory Size” trên sẽ hiện ra để ta chọn dung lượng RAMcho máy ảo sử dụng Lưu ý: chọn dung lượng RAM không lớn hơn dung lượng RAMmá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íchvà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ố
Trang 25Ta 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ọnOK
Trang 26Tạ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
Trang 27Sau đó, 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ạogiao 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”
Trang 28Đây là giao diện bắt đầu cho home assistant Vậy là ta đã cài đặt xong HomeAssistant.
và kết nối với mức băng thông tối thiểu
Xuất hiện đầu tiên vào năm 1999, cho đến nay, MQTT đã được sử dụng rộng rãitrong nhiều lĩnh vực Được biết, phiên bản mới nhất của MQTT là MQTT 5.0 vớinhiều thay đổi tối ưu hơn 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ý
Trang 29Hình 2.2.1 Giao thức MQTT
*Lịch sử hình thành
MQTT chính thức ra đời vào cuối những năm 1990 Giao thức này được phát minh bởihai kỹ sư tài năng – Andy Stanford-Clark và Arlen Nipper Nhiệm vụ của MQTT là
“phương tiện” giao tiếp giữa hai thiết bị Điển hình là đường ống dầu khí
và SCADA (hệ thống giám sát và thu thập dữ liệu)
Trước khi MQTT xuất hiện, các thiết bị này không thể giao tiếp với nhau Bởi vìchúng chỉ sử dụng các giao thức độc quyền, riêng biệt Nhờ MQTT, vấn đề này đãđược khắc phục nhanh chóng Ngoài ra, điểm mạnh của giao thức này là: nhẹ, băngthông tối thiểu, dễ triển khai, cung cấp dữ liệu chất lượng,… Do đó, MQTT đã đượcứng dụng mạnh mẽ hơn
*Thành phần
+MQTT broker: Là thành phần được tạo ra dưới dạng mã nguồn mở Một số MQTTbroker có hỗ trợ dịch vụ điện toán đám mây Chức năng của thành phần này là sànglọc tin nhắn theo kênh Kế đó, chúng đưa các tin nhắn này đến thiết bị hoặc ứng dụng
đã đăng ký kênh ấy
+MQTT client: Thành phần này được nối kết với broker để truyền và nhận dữ liệu.Trong đó, client gửi dữ liệu được gọi là publisher, client đăng ký nhận dữ liệu làsubscriber
+Topic: Là chủ đề hay kênh được quản lý bởi broker và được trao đổi bởi các clientvới nhau
Trang 30Trong kiến trúc MQTT, MQTT Broker có vai trò như một trung tâm lưu trữ thôngtin, 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 đườngtruyền không ổn định, và là giao thức lý tưởng cho các ứng dụng M2M (Machine toMachine - Máy đến máy)
Hình 2.2.2 Sơ đồ hoạt động của MQTT
*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ântá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 đượctruyền
Sử dụng TCP/IP là giao thức nền
Trang 31 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ácnhậ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ừ đầukia, 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ảicho đường truyền
* Ưu điểm
Với những tính năng, đặc điểm nổi bật trên, MQTT mang lại nhiều lợi ích nhất làtrong hệ thống SCADA (Supervisory Control And Data Acquisition) khi 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
Chi phí thấp
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ũ
*Nhược điểm
Máy chủ môi giới (Broker) không cần thông báo về trạng thái gửi thông điệp
Do đó không có cách nào để phát hiện xem thông điệp đã gửi đúng hay chưa