- Hai là sản xuất các sản phẩm thông minh hoạt động độc lập có thể thaythế từng thiết bị nhỏ trong gia đình tùy mục đích sử dụng, chúng thường đượcđiều khiển bởi một ứng dụng thông qua C
Trang 1ĐẠI HỌC QUOC GIA THÀNH PHO HO CHÍ MINH
TRUONG DAI HQC CONG NGHE THONG TIN
PHAN BA TUNG
PHAT TRIEN GIAI PHAP NHA THONG MINH
UNG DỤNG TRÍ TUE NHÂN TẠO
LUẬN VĂN THẠC SĨ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ SO: 8.48.02.01
NGƯỜI HƯỚNG DAN
PGS.TS LÊ TRUNG QUÂN
Trang 2LỜI CẢM ƠNSau một thời gian tiến hành triển khai nghiên cứu dé tài, em cũng đãhoàn thành nội dung luận văn “Phát triển giải pháp nhà thông minh ứng dụng
trí tuệ nhân tạo” Luận văn được hoàn thành không chỉ là công sức của bản
thân mà còn có sự giúp đỡ, hỗ trợ tích cực của nhiều cá nhân và tập thể
Trước hết, em xin gửi lời cảm ơn chân thành và sâu sắc đến toàn thể quý
thay, cô dao tao sau đại học trường Dai học Công nghệ thông tin đã tan tìnhtruyền đạt những kiến thức vô cùng quý báu trong suốt thời gian học qua các
bài giảng và những chia sẻ thực tế Đó là những kiến thức nền tảng vô cùng
bổ ích đã giúp em nắm vững hơn trong quá trình nghiên cứu đề tài này
Em cũng xin gửi lời cảm ơn đến thầy PGS.TS Lê Trung Quân, người
trực tiếp hướng dẫn luận văn cho em Thầy đã dành cho em nhiều thời gian,
tâm sức, cho em nhiều ý kiến, nhận xét quý báu, chỉnh sửa cho em những chỉtiết nhỏ trong luận văn, giúp luận văn của em được hoàn thiện hơn về mặt nộidung và hình thức Thầy cũng đã luôn quan tâm, động viên, nhắc nhở kịp thời
để em có thể hoàn thành luận văn đúng tiến độ Những ý kiến đóng góp quýbáu cùng sự quan tâm, động viên và chỉ bảo tận tình của thầy vừa giúp em cóđược sự khích lệ, tin tưởng vào bản thân, vừa tạo động lực nhắc nhở em có
trách nhiệm với đê tài của mình, giúp em hoàn chỉnh luận văn tốt hơn.
Em cũng xin gửi lời cảm ơn chân thành đến gia đình, bạn bè cơ quan,
các anh/chị cùng lớp cao học CNTT K12 - Dot 2, vì đã luôn động viên, quan
tâm giúp đỡ, tạo mọi điều kiện thuận lợi trong quá trình học tập và thực hiện
luận văn.
Trang 3LỜI CAM ĐOANTôi xin cam đoan đề tài “Phát triển giải pháp nhà thông minh ứng dụng
trí tuệ nhân tạo” là công trình nghiên cứu độc lập dưới sự hướng dẫn của thầy
PGS.TS Lê Trung Quân, ngoài ra không có bat cứ sự sao chép của ngườikhác Ngoài ra, trong luận văn có sử dụng một số nguồn tài liệu tham khảo đãđược trích dẫn nguồn và chú thích rõ ràng Đề tài là sản phẩm mà em đã nỗ
lực nghiên cứu trong quá trình học tập tại trường, các số liệu và kết quả trình
bày trong luận văn là hoàn toàn trung thực Em xin chịu hoàn toàn mọi trách
nhiệm và kỷ luật của nhà trường đối với dé tài của mình
Người cam đoan
Phan Ba Ting
Trang 4MỤC LỤC
CHƯƠNG1 GIỚI THIỆU -s +zdrtrEt.2rE1.Z21.7 xzriee.Ÿ
1.1 Tổng quan
1.2 Tuyên bố các vấn đề 1.3 Phương pháp luận 1.4 Phạm vi và giới hại 1.5 Cấu trúc luận văn CHUONG2 TONG QUAN TINH HÌNH NGHIÊN CÚU VÀ CONG NGHỆ LIÊNQUAN 13 2.1 Một số công nghệ không dây trong IoTs - -+ 13
2.2 Một số firmware nguồn mở cho thiết bị IoTs -.- 15
2.3 Tình hình nghiên cứu trong và ngoài nước - 16
2.4 Một số frameworks ứng dụng trong nhà thông minh 18
2.4.1 Framework nguồn mé cho phát triển nhà thông minh 18
2.4.2 Một số mô hình nhận dạng đối tượng - 22
2.4.3 Một số thuật toán phân cụm — CHƯƠNG3 THIẾT KE VÀ HIEN THỰC GIẢI PHÁP NHÀ THONG MINH 28
3.1 Giới thiệu giải pháp nhà thông minh 3.2 Phần mềm, mã nguồn sử dụng: 3.3 Mô hình hệ thống
3.4 Triển khai trung tâm điều khiển nhà thong min! 3.4.1 Cài đặt hệ điều hành Raspbian trên Raspberry Pi4 31
3.4.2 Cài đặt Docker COHÍQÏI€F - Sàn ềvterererkrkreerrree 32 3.4.3 Cài đặt Home Assistant sử dụng Docker - - - -cec<+ 33 3.4.4 Cài đặt các addon SSH, MQTT Broker, Zigbee2MQTT 34
3.5 Triển khai tái cấu hình thiết bị ¿++222vvvcccrrrrx+ 35 3.5.1 Module đóng/ngắt nguồn điện SONOFF -+ 35
Trang 53.5.2 Công tắc cảm ứng 3 gang TI4yA osccccccccccccccccccrrx 353.5.3 Tiến hành flash firmware TsH0f4 o-:cc5ccccccccccx 363.5.4 Cấu hình và kết nối thiết bị vào Home Assistant 373.6 Triển khai module nhận dạng đối tượng - -+ 38
3.7 Triển khai hệ thống điều khiển thông minh
3.7.1 Nguyên lý hoạt độn;
3.7.2 Lưu đồ giải thuật
3.8 Triển khai module kết nối dịch vụ IFTTT
CHUONG 4 KỊCH BAN THU NGHIỆM VÀ ĐÁNH GIÁ 534.1 Giao diện tổng thể hệ thống nhà thông minh 534.2 Kịch ban các chế độ điều khiển thủ công 534.3 Kịch bản điều khiển tự động dựa vào cảm biến 594.3.1 Tự động kích hoạt chế độ thức dậy - -ccz-©-c-+ 594.3.2 Tự động kích hoạt chế độ đi vắng -c-cccccccce+ 60
4.3.3 Tự động kích hoạt chế độ sinh hoạt c:555ccc55+ 61 4.3.4 Tự động kích hoạt chế độ Đi ngủ.
4.3.5 Tự động cảnh báo phát hiện xâm nhập.
4.3.6 Tự động bật điều hòa khi nhiệt độ trong phòng cao vượt mức 674.3.7 Tự động điều khiến thiết bị khi rời khỏi nơi làm việc 684.4 Chế độ điều khiển thông minh
CHƯƠNG 5 KET LUẬN VA HƯỚNG PHAT TRIÉN 2-2 TT
5.1 Những kết quả đạt được - :-s:©22++t2ccvretrrvrerrrreerrvee 77
5.2 Những điểm còn hạn chế +22 tvrvrrvrerrree 77
5.3 Hướng phát triển -22cct22tn11 re 78
Trang 6DANH SÁCH CAC ĐÒ THỊ VÀ HINH ANHHình 1: Framework huấn luyện để nhận dang hoạt động
Hình 2: Mô hình sử dụng cảm biến PIR dé nhận dạng hoạt động của người
Hình 3: Kiến trúc core Home Assistan( -ccccccccccc22222vvvvvvvvrrrree 19Hình 4: Kiến trúc bộ tích hop Home Assistant - -‹-+ ¿5c cc<>+sss< 20Hình 5: Kiến trúc thực thể trong Home Assistant :: -5ss+ 20Hình 6: Kiến trúc tổng thể openHAB :¿-vccz+225svvvsccvvsscee 21
Hình 7: Kiến trúc tong thé nền tảng ioBroker :ccccccccccccccez 2
Hình 8: Mang Neural Network với 2 hidden layer - -‹:-+ 5+cs+s+c> 23
Hình 9: Mô hình phát triển giải pháp nhà thông minh - - 30
Hình 10: Trang tải về mã nguồn hệ điều hành Raspbian - 31
Hình 11: Thông tin Docker Version
Hình 12: Logs kết nối MQTT Broker sssssessssssssssccssssesecssssssecessnneeeesssees 34
Hinh 13: Zigbee Map
Hình 14: Phần cứng module Sonoff và Dataset ESP8266 trên board mạch 35 Hình 15: Phần cứng công tắc cảm ứng Tuya
Hình 16: Module TYWE3S GPIO Datasheet trên công tắc Tuya
Hình 17: Mach nạp FT232RL USB to TTTU -¿- ¿5555 5+ sss+x+<+ 37
Hình 18: Tiến trình flash filmware Tasmota -c::::cccccccvvccccc+ 37Hình 19: Dataflow mô hình nhận dạng đối TƯỢNG co ccseteverereree 40Hình 20: Cài đặt module nhận dạng đối TONE ¡o6 61091 0101101610221601616104 116 40
Hình 21: Cấu hình camera streaming cho Home Assistant
Trang 7Hình 23: Logs kết quả nhận dạng đối tượng qua camera 42Hình 24 Kết quả nhận dạng đối tượng từ hình ảnh camera - 42Hình 25 Kết quả nhận dạng người từ hình ảnh camera
Hình 26: Lưu đồ Module phân tích dữ liệu thời gian bật/tắt của thiết bi bằng
phương pháp phân cụm
Hình 27: Thông tin tài khoản IFTTT cung cap key kết nôi API
Hình 28: Cấu hình một Applet cảnh báo phát hiện xâm nhập qua email 52 Hình 29: Giao diện tổng quan của hệ thống nhà thông minh 53 Hình 30: Các chế độ được thiết lập sẵn cho hệ thống nhà thông min!
Hình 31: Cảnh báo xâm nhập qua thiết bị di động - -+ 65
Hình 32: Cảnh báo xâm nhập qua email
Hình 33: Thông báo kích hoạt thiết bị khi rời khỏi nơi làm việc về nhà 69Hình 34: Các thông báo khi chế độ thông minh hoạt động 74
Hình 35 Hiệu suất hoạt động của hệ thông nhà thông minh 76
DANH SÁCH CÁC BANGBang 1: So sánh đặc trưng của các filmware nguồn THỞ 555cc 16
Bang 2: So sánh các thuật toán nhận dạng
Bang 3: Danh sách các thiết bị sử dụng trong đề tài - :-:-+ 29
Bang 4 Bảng quyết định bật thiết bị theo chế độ thông mini
Bang 5 Bảng quyết định tắt thiết bị theo chế độ thông minh
Bang 6 Kết quả kiểm tra thời gian chạy của một kịch bản chế độ 58Bang 7 Kết quả chế độ tự động điều khiển theo cảm biến 64
Bang 8 Kết quả chế độ tự động điều khiển thông minh - 75
Trang 8DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TÁT
Ký hiệu/Chữ viết tắt Mô tả
GPIO General-purpose input/output
MCU Micro Controller Unit
MQTT Message Queuing Telemetry Transport
DIY Do It Yourself
HA Home Assistant
loT Internet of Things
RTOS Real-time operating system
MAC Media Access Control
TCP/IP Transmission Control Protocol/ Internet Protocol RX/TX Receive/Transmit
GND GROUND (MASS)
RTSP Real Time Streaming Protocol
IFTTT If This, Then That service
URL Uniform Resource Locator
Trang 9CHƯƠNG 1 GIỚI THIỆU
1.1 Tổng quan
Hiện nay, nhà thông minh không còn xa lạ với nhiều người Các doanh
nghiệp đã tung ra nhiều giải pháp nhằm hiện đại hóa cho ngôi nhà Một ngôi
nhà trong đó các thiết bị điện có thể kết nối với nhau và tự động điều khiểnnhư đèn chiếu sáng, điện gia dụng, điều hòa Bạn sẽ dễ dàng kiểm soát hoạt
động của ngôi nhà từ bất cứ đâu chỉ cần có một chiếc máy tính hay một điện
thoại thông minh Những kịch bản tự động hóa trong ngôi nhà thông minh sẽ
đem lại sự tiện nghỉ, thoải mái và an toàn hon cho gia chủ.
Một trở ngại lớn của những sản phẩm nhà thông minh có thương hiệu là mức giá cao so với thu nhập người dùng trong nước Bên cạnh đó là nỗi lo
của người dùng về khả năng kết nối giữa các thiết bị, trong vài trường hợp cácsản phẩm của nhiều nhà sản xuất khác nhau sẽ không kết nối được với nhau
do khác công nghệ Và trên hết là chủ nhân ngôi nhà đang sống có thể phải
thay các thiết bị điện cũ, thiết kế lại hệ thống điện trong nhà gây ra một sự
lãng phí lớn.
Chính vì vậy, nhiều doanh nghiệp tập trung theo hướng sản xuất các thiết
bị hỗ trợ kết nối không dây như wifi, zigbee, cho các công tắc, 6 cắm và
thiết bị điện phụ trợ và phát triển ứng dung dé kết nối chúng lại với nhau tạo
thành một hệ sinh thái nhà thông minh Hệ thống trung tâm điều khiển của
ngôi nhà được cài đặt trên máy tính nhúng nhỏ gọn đặt tại nhà, mở ra nhiều
cơ hội cho việc lập trình kịch bản tùy biến, phù hợp với những thói quen,
hành vi sinh hoạt của gia chủ Ngoài ra, để tăng tính linh hoạt, thông minh và
thân thiện hơn, nhà thông minh cũng cần có khả năng nhận biết và tắt mởthiết bị một cách tự động dựa trên thói quen trong một thời gian sử dụng của
gia chủ.
Trang 101.2 Tuyên bố các vấn đề
Hiệu quả của nhà thông minh mang lại lợi ích cho con người là không
thé chối bỏ Hiện nay, có hai xu hướng dé các nhà sản xuất hướng đến:
- Một là xây dựng hệ sinh thái toàn diện cho hệ thống nhà thông minh của riêng mình, vì vậy cần sử dụng đồng bộ các thiết bị của nhà sản xuất mới
có thể phát huy được hiệu năng của nó Giải pháp này có chỉ phí cao vàhướng đến những người có mức sống cao, các khu đô thị thông minh
- Hai là sản xuất các sản phẩm thông minh hoạt động độc lập có thể thaythế từng thiết bị nhỏ trong gia đình tùy mục đích sử dụng, chúng thường đượcđiều khiển bởi một ứng dụng thông qua Cloud của nhà sản suất Giải pháp
này có chỉ phí thấp, sử dụng theo nhu cầu nhỏ, không cần phải có trung tâm
điều khién hay thiết bị đồng bộ và phải luôn đảm bảo ngôi nhà luôn có kết nối
internet.
Cả hai hướng trên đều chỉ dừng lại ở mức độ thiết lập tự động hóa và
thực thi các ngữ cảnh được thiết lập trước theo kịch bản, không phát huy hết
được kha năng của công nghệ có thé 4p dụng vào một ngôi nhà thông minh Một số mô hình máy học thông qua hoạt động, hành vi của con người tuy đạt
kết quả khá cao nhưng cũng là một thách thức vì sự phức tạp, bất thường củacuộc sống con người trong nhà có một hoặc nhiều người làm cho việc nhận
dạng trở nên phức tạp Để đạt được điều đó, cần lắp đặt cảm biến tại nhiều vị trí khác nhau trong một khu vực để có thể nhận dạng được hành vi của người
trong nhà và một số thuật toán dự vào cảm biến và học máy đã được thử
nghiệm để tăng độ chính xác nhận dạng hoạt động của con người Dù vậy, thách thức lớn hơn đặt ra khi lắp đặt những cảm biến này, mặc dù có chi phí
khiêm tốn, nhưng nhìn chung vẫn nằm ngoài tầm với của hầu hết mọi ngườikhi lắp một số lượng lớn Ngoài ra, đối với một ngôi nhà tự động hóa không
Trang 11thể thiết bị nào, vị trí nào cũng có thể thiết lập tự động hóa, mà người dùng
cần phải thao tác trực tiếp
Để khắc phục và hiện thực hóa những hạn chế này, cần có một hệ thống
ghi nhận các hoạt động khác nhau của con người thông qua sự tương tác của
người dùng lên thiết bị trong một thời gian sử dụng và hệ thống có thể tựđộng đưa ra hành động chuẩn xác lên thiết bị mà người dùng không cần phải
tác động trong cùng thời gian đó.
1.3 Phương pháp luận
Để xây dựng một hệ thống nhà thông minh cơ bản, ứng dụng thực tế,cung cấp đầy đủ các yêu cầu về tự động hóa các ngữ cảnh, khắc phục được
các hạn chế trên, có khả năng tự động điều khiển thiết bị sau thời gian dài sử
dụng thông qua thói quen sử dụng thiết bị gia đình hàng ngày với một mức
chỉ phí hợp lý Các bước triên khai như sau:
Bước 1: Tiến hành flashing firmware Tasmota lên phần cứng các thiết
bị điều khiển thương mại sử dụng chip ESP8266 dé tái cấu hình thiết bị Thiếtlập các chân GPIO sao cho phù hợp với loại thiết bị đang sử dụng
Bước 2: Triển khai cài đặt máy chủ nền tảng Raspbian Desktops và
Docker để cài đặt các Images từ Docker Hub trên thiết bị phần cứng
lưu trữ các event bus vào Database.
Bước 4: Triển khai Mosquitto MQTT Broker trên Docker container dékết nối với Home Assistant thu thập dữ liệu từ cảm biến và điều khiển thiết bị
Trang 12Bước 5: Xây dựng một hệ thống nhận dạng đối tượng thông qua hình
ảnh camera đề phân biệt người hay vật trong việc phát hiện chuyển động vàđếm số lượng đối tượng phát hiện đề kết hợp với automation điều khiển thiết
bị.
Bước 6: Phát triển thuật toán nhận dạng các hoạt động điều khiển tương
tự từ Event Database trong khoảng thời gian sử dụng từ đó kích hoạt điềukhiển thiết bị một cách tự động
1.4 Phạm vi và giới han
Hiện nay, các hệ sinh thái nhà thông minh được các nhà sản xuất đầu tư,phát triển tương đối hoàn thiện như BKAV, LUMI cơ bản đáp ứng đầy đủ
nhu cầu người dùng, có khả năng kết nói, điều khiển từ xa thông qua internet.
Trong phạm vi báo cáo này em xin phép xây dựng một thống trên cơ sở DIY
từ các thiết bị thương mại nhằm tìm hiều hoạt động, nghiên cứu và phát triển
hệ thống riêng biệt nhưng có thể kết nói được các sản phẩm thông minh từ nhiều nhà sản xuất khác nhau bằng tái cấu hình thiết bị kết hợp với các mã
nguồn mở và ứng dụng trí tuệ nhân tạo trong nhận dạng đối tượng và nhận
dạng hoạt động dé tự động điều khién các thiết bị trong nhà.
Mô hình thực nghiệm hệ thống nhà thông minh được lắp đặt tại nhà gồm
có 3 phòng gồm 1 phòng khách, 1 phòng ngủ và 1 phòng ăn trong đó:
- Phòng khách gồm các thiết bị: Cảm biến nhiệt độ và độ 4m, cảm biết áp
suất, cảm biến ánh sáng, cảm biến chuyền động, cảm biến cửa đóng mở, tivi,quạt điều khién từ xa, đèn sinh hoạt, đèn ngủ, đèn led trang trí
i: Cảm biến nhiệt độ và độ 4m, cảm biến ánh
- Phòng ngủ gồm các thié
sáng, cảm biến chuyển động, cảm biến cửa đóng mở, tivi, quạt điều khiển từ
xa, điều hòa, đèn sinh hoạt, đèn ngủ
- Phòng ăn gồm các thiết bị: Cảm biến chuyển động, đèn sinh hoạt, đènled bếp, đèn tolet
Trang 13Các cảm biến ghi nhận trạng thái, số liệu tại mỗi vị trí gửi về máy chủ
trung tâm thông qua hệ thống mạng không dây wifi và zigbee Máy chủ trungtâm đóng vai trò thu thập dữ liệu cảm biến và gửi lệnh điều khiển thiết bị
1.5 Cấu trúc luận văn
Cấu trúc luận văn sẽ bao gồm các nội dung sau:
- Chương | (Tổng quan): Nội dung chương này bao gồm giới thiệu tổngquan về dé tài, hướng nghiên cứu, mục đích của dé tài
- Chương 2 (Tổng quan tình hình nghiên cứu giải pháp nhà thông minh):
Trình bày tổng quan các mô hình, giải pháp nhà thông minh đang phổ biếnhiện nay và một số dé tài liên quan trong và ngoài nước Các co sở lý thuyết
liên quan đến giải pháp thực hiện luận văn.
- Chương 3 (Thiết kế hệ thống): Trình bày chỉ tiết quá trình thiết kế hệthống từ việc lựa chọn phần cứng, cài đặt và cấu hình ứng dụng, xây dựng mô
hình tổng thé cho ngôi nhà thông minh.
- Chương 4 (Xây dựng kịch bản, ngữ cảnh): Trình bày các kịch bản và
ngữ cảnh được xây dựng dựa trên nhu cầu của người dùng kết hợp dữ liệu thuthập từ cam biến và các dịch vụ hỗ trợ khác như IFTTT
- Chương 5 (Thiết kế giải pháp thông minh): Trình bày và ứng dụng kỹ
thuật nhận dạng đối tượng bằng TensorFlow dựa trên model đã được trained.
Trình bày thuật toán tự động bật tắt thiết bị thông qua thói quen bật tắt thiết bị
trong thời gian sử dụng.
- Chương 6 (Kết quả và hướng phát triển): Đánh giá những kết quả đạtđược của giải pháp, những hạn chế tồn tại và đề xuất hướng phát triển trong
tương lai.
Trang 14CHUONG 2 TONG QUAN TINH HÌNH NGHIÊN CUU VÀ CONG
NGHE LIEN QUAN
2.1 Một số công nghệ không dây trong IoTs
Công nghệ nhà thông minh được thiết kế và lắp đặt theo 2 hình thức có
dây và không dây Tùy vào quy mô của ngôi nhà sẽ chọn hình thức phù hợp
để đảm bảo ngôi nhà hoạt động ồn định mang lại hiệu quả cao.
Nhà thông minh có dây tích hợp phù hợp với không gian lớn có nhiều
tầng Ưu điểm của hình thức này là khả năng truyền tải dữ liệu nhanh chóng,
ồn định, không bị hạn chế bởi sóng truyền dẫn Tuy nhiên, hệ thống này cần
bỏ ra một khoản chi phí lớn cùng nhiều công đoạn lắp đặt.
Đối với nhà thông minh không dây toàn bộ thiết bị được tích hợp côngnghệ truyền dẫn không dây (Internet of Things) cho các thiết bị điện, điện tử
dé điều khiển và thu thập dữ liệu Công nghệ này được ứng dụng trong nhiều lĩnh vực khác nhau, trong đó nồi bật nhất là lĩnh vực nhà thông minh.
Một số công nghệ không dây phổ biến nhất hiện có cho các ứng dụng
Internet of Things, thiết bị thông minh, nhà thông minh:
- Wifi: Wifi là công nghệ không dây được sử dụng phỏ biến, tích hợp
trong nhiều thiết bị Wifi phù hợp cho các ứng dụng truyền dẫn không dây,
trong đó có ứng dụng nhà thông minh Các ứng dụng phổ biến như thiết bị gia dụng thông minh, thiết bị điện phụ trợ thông minh
+ Tốc độ dữ liệu: Cao (1 Gbps)+ Cấp độ an ninh: thấp
+ Chi phí: Trung bình
+ Chuẩn IEEE: 802.11
+ Phạm vi phủ sóng: Trung bình (100m)
Trang 15- MQTT (Message Queuing Telemetry Transport) là một giao thức
truyền thông điệp (message) theo mô hình publish/subscribe (xuất bản — theodõi), sử dụng băng thông thấp, độ tin cậy cao và có khả năng hoạt động trong
điều kiện đường truyền không ồn định Sử dụng TCP/IP là giao thức nền Nó
là một giao thức nhắn tin đơn giản được thiết kế cho các thiết bị bị hạn chế và
có băng thông thấp, vì vậy MQTT rất phù hợp với các ứng dụng IoT cho các
mục đích như phân tích dữ liệu theo thời gian thực như: giám sát môi trường,
cảm biến nhà thông minh,
- Zigbee: Zigbee là một loại tần số sóng ngắn như bluetooth, hiện được
sử dụng với số lượng lớn và thường được sử dụng trong công nghiệp Zigbee
hoạt động ở 2.4Ghz thường được sử dụng trong các ứng dụng khoảng cách
ngắn và dữ liệu truyền tin ít nhưng thường xuyên, được đánh giá phù hợp với
các ứng dụng internet of things trong nhà thông minh hoặc trong một khu vực
đô thị/khu chung cư.
+ Tốc độ truyền dữ liệu: thấp (250Kbps)
+ Chuan IEEE: 802.15.4
+ Mức độ an ninh: thấp + Phạm vi phủ sóng: ngắn (10-100m)
+ Mức tiêu thụ điện năng: thấp
- Z-Ware: Đây cũng là một công nghệ không dây tương tự như ZigBee,
được ứng dụng nhiều trong nhiều hệ thống nhà thông minh Tuy nhiên, côngnghệ này không sử dụng băng tần 2,4Ghz (ISM), tần số hoạt động của nókhác nhau giữa các quốc gia
Ở Việt Nam, sóng Z-ware được phép sử dụng băng tần 919Mhz và
921Mhz và có thé hỗ trợ tới 232 thiết bị trong một mạng Các ứng dụng củaZ-wave thường được sử dụng như: khóa cửa thông minh, cảm biến chuyển
động, cảm biến cửa mở.
Trang 162.2 Một số firmware nguồn mở cho thiết bị IoTs
Tasmota là firmware mã nguồn mở cho các thiết bị dựa trên nền tảngESP8266 do Theo Arends phát triển, có khả năng tái cấu hình các thiết bị
thông minh giá rẻ trên thị trường bi ràng buộc kết nối qua Cloud của nhà sản
có thể điều khiển thông qua WEB UI, HTTP,xuất dé có thé kiểm soát cục bộ,
Serial, MQTT, cho phép tích hợp với các hệ thống nhà thông minh
ESPurna là một firmware tùy chỉnh cho các công tắc thông minh, đèn
và cảm biến dựa trên ESP8285/ESP8266 ESPurna sử dụng Arduino Core choESP8266 và một số thư viện khác của bên thứ ba
ESPEasy là firmware nguồn mở chạy trên nền tảng MCU (Micro
Controller Unit) dựa trên Wifi của ESP8266 trong thiết bị IoTs Firmware
ESPEasy có thể được sử dụng để biến các mô-đun ESP8266 thành các thiết biđiều khiển và cảm biến cho các nền tảng tự động hóa gia đình Khi firmware
được flash trên phần cứng, cấu hình của ESPEasy hoàn toàn dựa trên giao diện web dễ dàng.
Firmware Tasmota ESPurna ESPEasy
Project started 2017 2016 2015
Iteads Sonoff, WemosDI, ESP8266/85
Tuya, Iteads Sonoff, based, Wemos
Device support (Flash size IMB)
ESP8266/85 ESP8266 DỊ, Iteads
based, v.v based v.v Sonoff, v.v
Wifi support (SSID, Scanning) v v v
MQTT support v v v
Home automation software (Home v v v
Assistant, Domoticz, OpenHAB, )
Google Assistan/Amazon Alexa v v v
Trang 17Over-the-Air update (OTA) v v v
Bang 1: So sánh đặc trưng của các filmware nguồn mở
2.3 Tinh hình nghiên cứu trong và ngoài nước
Năm 2016, nhóm tác giả Tien Le, Duy Nguyen, Son Nguyen công bố
nghiên cứu “An approach of using in-home contexts for activity recognition
and forecast” sử dụng phương pháp học chủ động cho việc huấn luyện và
nhận dạng hoạt động người dùng trông nhà thông minh có một người cư ngụ
dựa trên khảo sát dữ liệu huấn luyện người dùng ở Việt Nam, các tác giả cũng
thực hiện cải tiến thuật toán khai phá dữ liệu Closed Frequent Pattern Growthgiúp tăng độ hiệu quả của hệ thống
Trang 18Hình 1: Framework huấn luyện để nhận dạng hoạt động
Năm 2017, nhóm tác giả Yukitoshi Kashimoto, Masashi Fujiwara,
Manato Fujimoto, Hirohiko Suwa, Yutaka Arakawa, Keiichi Yasumoto tại
trường Cao học Khoa học Thông tin, Viện Khoa học và Công nghệ Nara,
Ikoma, Nhật Bản đã đề xuất kỹ thuật nhận dạng hoạt động trong ngôi nhàthông minh bằng cách sử dụng cảm biến nhận dạng các hoạt động chỉ tiết củangười dùng - PIR, cảm biến cửa, số đo công suất thiết bị bằng cách sử dụngmáy học Kết quả là tác giả đã đạt được F-Measure: 57,0%
Activity
Proqene
2 Eating 5.09 Reading
Hình 2: Mô hình sử dung cảm biến PIR dé nhận dạng hoạt động của người
khi di chuyên qua
Trang 19Năm 2019, tác giả Nadia Oukrich đưa ra giải pháp nhận dạng hoạt động hàng ngày của con người trong nhà thông minh dựa trên lựa chọn tính năng
thiết bị, mạng thần kinh và chỉ số tải của thiết bị
Sensing Platform —® Feature extraction —® Model training —® Activity Recognition
— | |
a) qe C C1
2.4 Một số frameworks ứng dung trong nha thông minh
2.4.1 Framework nguồn mé cho phát triển nhà thông minh
Nguồn mở Home Automation là framework cho phép bạn điều khién và
giám sát các thiết bị gia đình hay văn phòng thông thường bằng máy tính hay
thiết bị di động qua internet Home Automation từng chỉ giới hạn trong việcbật và tắt đèn và thiết bị mà giờ đây nó còn có khả năng mở rộng hơn chophép người dùng kết nối không dây một mạng lưới các cảm biến và IoTs để
tự động hóa thiết bị trong gia đình Có nhiều framework nguồn mở cho pháttriển hệ thống nhà thông minh, dưới đây là 3 framework nỗi bật, được cộng
đồng DIY quan tâm vì tính năng vượt trội, tính linh hoạt cao, giao diện người dùng tốt và hiệu suất cao.
Home Assistant là một nền tảng điều khiển nhà thông minh mã nguồn
mở được lập trình bằng ngôn ngữ python, được thiết kế đề có thể triển khai
trên bat kỳ thiết bị nào từ Raspberry Pi đến các thiết bị lưu trữ mạng (NAS),
và có thể chạy như một container Docker để triển khai trên các hệ thống khác
một cách 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ủangười dùng trên máy chủ, vì thế đảm bảo tính riêng tư khá cao
Trang 20sot state Home Assistant
Core Architecture
state_changed events
listen for events/
fire event call event listeners
events
time_changed events
Device Tracker
Hình 3: Kiến trúc core Home Assistant
Event Bus: trung tâm kích hoạt và lắng nghe các sự kiện - là trái tim của
Timer: gửi một sự kiện time_changed sau mỗi | giây trên Event Bus
Home Assistant Core có thể được mở rộng với các bộ tích hợp Mỗi bộ
tích hợp chịu trách nhiệm cho một domain (nhóm thiết bị) cụ thể trong Home
Assistant Bộ tích hợp có thể lắng nghe hoặc kích hoạt các sự kiện, cung cấp
dịch vụ và duy trì trạng thái hoạt động Các bộ tích hợp được tạo thành từ một
component và các flatforms khác nhau được tích hợp Bộ tích hợp được viết
bằng Python dé cung cấp thêm khả năng kết nối nhiều dịch vụ cho Home
Assistant.
Trang 21Light Bulb ‘Automation Motion Detector
integration
Detecting
‘motion
State changed Í Call service
events turn tight on Ì
Hình 4: Kiến trúc bộ tích hợp Home Assistant
Mỗi bộ tích hợp có thé đại diện cho các thiết bị và các dịch vụ trongHome Assistant Các điểm dữ liệu được thể hiện dưới dang thực thé (entities).Các thực thé được tiêu chuẩn hóa bởi các bộ tích hợp như light, switch,
sensor,
Device/Service Python lib for protocol Lied Integration Platform
‘enema [7] edema fry
‘Area Registry Cont Entities
Config Entry,
Device registration EryEzfam Device Regis Resisty == depetdam)
'Confquratin.yam! eas
Entity Registry Config per
Device Integration Con Entity Integration Cong, Entity Component.
Nha torts ropes)
Services
‘core
(oro soạn sec)
Core! Helpers extemal Device iteration User dataHình 5: Kiến trúc thực thể trong Home AssistantOpenHAB (open Home Automation Bus) là một nền tảng nguồn mởđược xây dựng cho các ứng dụng Smart Home được viết bằng ngôn ngữ Java
Trang 22OpenHAB hoạt động như một trung tâm điều khiển, có thé cài đặt được trên
nhiều nền tảng hệ điều hành và thiết bị khác nhau như Linux, macOS,
Windows, Raspberry Pi và truy cập được dưới dạng ứng dụng web, ứng
dụng Android hoặc iOS.
Một số điểm mạnh của openHAB là:
Khả năng tích hợp vô sé thiết bị và hệ thống khác của nó openHAB baogồm các hệ thống tự động hóa gia đình, thiết bị (thong minh) và các công
nghệ khác vào một giải pháp duy nhất.
Cung cấp giao diện người dùng thống nhất và cách tiếp cận chung chocác quy tắc tự động hóa trên toàn bộ hệ thống và cung cấp các công cụ linh
hoạt dé có thể cai đặt tự động hóa của ngôi nhà thành hiện thực.
Stateful Services
Au Lo
La Eclipse SmanHome
User interface BoE
Commands ste Updates ‘Commanss
Hình 6: Kiến trúc tổng thể openHAB
ioBroker
ioBroker là một nền tảng tích hợp dé kết hợp các hệ thống IoT khác nhau
thành một hệ thống tổng thé, tập trung vào tự động hóa tòa nha, do lường
thông minh, tự động hóa quy trình, ioBroker có thể chạy trên bất kỳ phần
cứng nào hỗ trợ Node.js, bao gồm Windows, Linux, và macOS Điểm đặc biệt
Trang 23các quy trình kỹ thuật chạy ở bất kỳ đâu trong mang và kết nối tất cả các hệ
thống với cơ sở dữ liệu ioBrokers Việc kết nói với cơ sở dữ liệu ioBrokers cóthể được thực hiện bằng mọi ngôn ngữ lập trình trên mọi nền tảng và Adapter
có thể chạy trên bất kỳ máy chủ nào có thẻ truy cập cơ sở dữ liệu thông qua
IP của mạng nội bộ.
Tom lại, mỗi framework điều có một thế mạnh riêng, mặc dù OpenHAB
ra đời sớm, có cộng đồng sử dụng và phát triển rộng lớn Tuy nhiên, trong đềtài này em sử dụng framework Home Assistant dé xây dựng hệ thống nhà
thông minh vì khả năng tích hợp linh hoạt, ngôn ngữ lập trình đa năng, giao
diện tùy biến trực quan thân thiện với hầu hết người dùng trong gia đình từ trẻ
em đến người già
2.4.2 Một số mô hình nhận dạng đối tượng
Học sâu (Deep learning) là một tập hợp con của trí tuệ nhân tạo dựa trên
một tập hợp các thuật toán đề cố gắng mô hình dữ liệu trừu tượng hóa ở mứccao bằng cách sử dụng nhiều lớp xử lý với cấu trúc phức tạp Học sâu bắt
Trang 24chước các đường dẫn thần kinh của não người trong việc xử lý dữ liệu, sửdụng nó để ra quyết định, phát hiện đối tượng, nhận dạng giọng nói và dịchngôn ngữ Nó học mà không có sự giám sát hoặc can thiệp của con người, lấy
từ dữ liệu không có cấu trúc và không được gắn nhãn Một trong các framework Deep learning phé bién nhu:
TensorFlow là thư viện mã nguồn mở được Google nghiên cứu pháttriển cho machine learning TensorFlow hỗ trợ đầu đủ các phép toán học để
tính toán trong machine learning và deep learning đã giúp việc tiếp cận các
bài toán trở nên đơn giản, nhanh chóng và tiện lợi hơn nhiều Các hàm được
dựng sẵn trong thư viện cho từng bài toán, cho phép TensorFlow xây dựng được nhiều Neural network.
input layer
Hình 8: Mang Neural Network với 2 hidden layer
TensorFlow còn cho phép các thuật toán chạy trên nhiều CPU, GPUtrong cùng 1 máy hoặc tạo ra các Dataflow Graph - đồ thị luồng dữ liệu dédựng nên các model Nó cung cấp các API cho JavaScript và Swift và
TensorFlow Lite nhằm tối ưu hóa các mô hình cho các thiết bị Internet of
Things Trong nhiều ứng dụng TensorFlow thì phát hiện đối tượng được sửdụng rộng rãi, chẳng hạn như giám sát an ninh thông minh, thành phố thông
minh, các bài toán nhận dạng v.v TensorFlow được viết bằng ngôn ngữ
C++ và Python, TensorFlow phù hợp với các dự án nâng cao, chăng hạn như
Trang 25tạo mạng nơ-ron nhiều lớp Ngoài ra, nó còn được sử dụng trong nhận dạng
giọng nói, hình ảnh và các ứng dụng nhận dạng chữ viết trên văn bản,
PyTorch là một framework học sâu Pytorch hỗ trợ cả Python và C++ để
xây dựng các mô hình học sâu, được sử dụng cho các ứng dụng như thị giác
máy tính và xử lý ngôn ngữ tự nhiên là một trong nhiều lĩnh vực mà PyTorch
phát huy.
PyTorch mang lại khả năng debug dễ dàng hơn theo hướng interactively
và nỗi tiếng về tính đơn giản, dé sử dụng, linh hoạt, sử dụng bộ nhớ hiệu quả
và hỗ trợ tốt dynamic graphs Tuy nhiên, pytorch vẫn còn khá hạn chế cácnguồn tài liệu bên ngoài
Keras là một thư viện nguồn mở cho Neural Network được viết bằng
Python Keras có thể sử dụng chung với các thư viện nổi tiếng như
Tensorflow, CNTK, Theano Keras dé sử dụng và đơn giản hon Tensor, xây
dựng model nhanh Chạy được trên cả CPU và GPU Keras tập trung vào tính
mô-đun, thân thiện với người dùng và có thể mở rộng Keras đã được thôngqua và tích hợp vào TensorFlow vào giữa năm 2017 Người dùng có thể truy
cập nó thông qua mô-đun tf.keras Tuy nhiên, thư viện Keras vẫn có thể hoạt
động riêng lẻ và độc lập.
Keras Pytorch TensorFlow
API Level High Low High and Low
Cấu trúc Đơn giản, ngắn Đơn giản, tương Khó sử dụng
gọn, dễ đọc đối dé đọc
Bộ dữ liệu Nhỏ Lớn, hiệu suất cao _ Lớn, hiệu suất cao
Debugging Đơn giản nên Khả năng gỡ lỗi tốt Khó tiến hành gỡ
không cần gỡ lỗi
lỗi thường
xuyên
Trang 26Người dùng Phổ biến nhất Phổ biến thứ 3 Phổ biến thứ 2
Tốc độ xứ lý Cham, higu Nhanh, hiệu suất Nhanh, hiệu suất
suất thấp cao cao
Ngôn ngữ Python Lua C++, CUDA,
Python
Bảng 2: So sánh các thuật toán nhận dạng
Thuật toán nhận diện đối tượng dựa trên học sâu là một loại thuật toán
chuyên sâu về lưu trữ và tính toán khó đạt được trên nền tảng nhúng với tài
nguyên máy tính và lưu trữ hạn chế Trong 3 framework trên thì Tensorflow
có nhiều lợi thế hơn bởi khả năng ứng dụng của nó trên môi trường Internet ofThings mang lại hiệu suất cao, không tốn quá nhiều tài nguyên của hệ thống.Ngoài ra, TensorFlow còn cung cấp một phiên bản gọn nhẹ hơn, phù họp vớicác thiết bị di động và thiết bị nhúng nhưng mang lại hiệu suất tương đối cao.Chính vì vậy, trong luận văn này em sử dụng Tensorflow để nhận diện đốitượng trên thiết bị Rasperry Pi 4 của mình
2.4.3 Một số thuật toán phân cụm
Các thuật toán phân cụm gần đây đang lấy lại sự chú ý với sự sẵn có của các bộ dữ liệu lớn và sự phát triển của các kiến trúc tính toán song song Phân
cụm đữ liệu hay tiếp cận máy học không giám sát thực hiện việc nhóm dữ liệu(không có nhãn) sao cho các dữ liệu cùng cụm có các tính chất tương tự nhau
và dữ liệu của hai nhóm khác nhau phải rất khác nhau Dựa trên thể hiện của
dữ liệu để đi tìm hiểu bản chat của dữ liệu Các thuật toán phân cụm phổ biến
như:
K-Means là một thuật toán được sử dụng trong phân tích tính chất cụm
của dữ liệu Nó đặc biệt được sử dụng nhiều trong khai phá dữ liệu và thống
kê Nó phân vùng dữ liệu thành k cụm khác nhau Giải thuật này giúp chúng
ta xác định được dữ liệu của chúng ta nó thực sự thuộc về nhóm nào [8]
Trang 27Thuật toán K-Means là phương pháp phân cụm được biết đến và sử dụng nhiều nhất Có nhiều phần mở rộng khác nhau của K-Means được đề xuất
trong nhiều tà u Mặc dù đây là một phương pháp học không giám sát dé phân cụm trong nhận dạng mẫu, thuật toán k-means và các phần mở rộng của
nó luôn bị ảnh hưởng bởi các lần khởi tạo với một số cụm cần thiết được ưu
tiên Tác giả đề xuất một thuật toán phân cụm k-means (U-k-mean) khônggiám sát mới với việc tự động tìm số lượng cụm tối ưu mà không đưa ra bất
kỳ khởi tạo và lựa chọn tham số nào Độ phức tạp tính toán của thuật toán
phân cụm U-k-mean được đề xuất cũng được phân tích So sánh giữa phươngtiện U-k được đề xuất và các phương pháp hiện có khác được thực hiện Kết
quả thực nghiệm và so sánh thực sự chứng minh những khía cạnh tốt này của
thuật toán phân cụm U-k-mean được đề xuất
DBSCAN là thuật toán phân cụm hiệu quả, cho phép phát hiện các cụm
có hình dạng bất kỳ và có khả năng phát hiện nhiễu tốt Tuy nhiên, giải thuật
DBSCAN có độ phức tạp trung bình bậc hai theo số lượng phần tử, làm cho
nó không hiệu quả về tốc độ xử lý các tập dữ liệu lớn [7] Tác giả đề xuất sử
dụng cấu trúc chỉ mục Cover Trees, tăng tốc quá trình tìm kiếm k-neighbor,
cải thiện tốc độ giải thuật DBSCAN Kết quả thực nghiệm trên các tập dữ liệucho thấy giải thuật DBSCAN cải tiến sử dụng cấu trúc chỉ mục Cover Trees
chạy nhanh hơn 12 lần so với giải thuật DBSCAN góc.
BIRCH [1] là một phương pháp phan cụm dữ liệu hiệu quả cho cơ sở dữ
liệu lớn BIRCH phân cụm động và tăng dần các điểm dữ liệu số liệu đa chiềuđến đề cố gắng tạo ra phân nhóm chất lượng tốt nhất với các tài nguyên có
sẵn (tức là bộ nhớ khả dụng và các ràng buộc về thời gian) BIRCH thường có
thể tìm thấy một nhóm tốt chỉ với một lần quét dữ liệu và cải thiện chất lượnghơn nữa với một vài lần quét bỗ sung BIRCH cũng là thuật toán phân cum
đầu tiên được đề xuất trong vùng cơ sở dữ liệu đề xử lý "nhiễu" một cách hiệu
Trang 28quả [2] Phương pháp thứ hai dựa trên BIRCH, nhóm tác giả thực hiện phân
cụm đữ liệu chuỗi thời gian với một biến đổi đa độ phân giải được sử dụnglàm kỹ thuật trích xuất đặc trưng Phương pháp tiếp cận này, nhóm tác giả
xoay quanh việc sử dụng cây tinh năng cụm (CF) dé giúp giải quyết tình trang khó xử liên quan đến việc lựa chọn các trung tâm ban đầu và cải thiện đáng kể
thời gian thực thi và chất lượng phân cụm Kết quả thử nghiệm cho thấyphương pháp tiếp cận được đề xuất của nhóm tác giả hoạt động tốt hơn k-Means về chất lượng phân cụm và thời gian chạy, và tốt hơn I-k-Means vềchất lượng phân nhóm với thời gian chạy gần như giống nhau
Với ba phương pháp phân cụm trên em sử dụng phương pháp K-Means
áp dụng trong đề tài của mình vì K-Means hoạt động tương đối hiệu quả với
dữ liệu thu thập được, phù hợp với các hệ thống nhỏ như nhà thông minhđang phát triển
Trang 29CHƯƠNG 3 THIẾT KE VÀ HIỆN THỰC GIẢI PHÁP NHÀ
THONG MINH
3.1 Giới thiệu giải pháp nhà thông minh
Những năm gần đây, sự phát triển của các sản phẩm trong lĩnh vực tự động hóa gia đình trở nên dễ tiếp cận với người dùng hơn do sự phụ thuộc
ngày càng nhiều vào điện thoại thông minh và các thiết bị thông minh Mặc
dù vậy, các vấn đề về khả năng tương tác vẫn ton tại do không có giao thứcchuẩn hóa chung trong lớp ứng dụng, khiến người dùng phụ thuộc vào nhiềuứng dụng dé truy cập và giám sát các thiết bị thông minh khác nhà cungcấp.[3]
Trong giải pháp này, một hệ thống nhà thông minh đã được xây dựng
bằng cách sử dụng framework Home Assistant vào việc tích hợp các thiết bịthông minh khác nhau và các công nghệ back-end Vì hầu hết các thiết bị
thông minh có các giao thức giao tiếp khác nhau và chỉ dừng lại ở mức độ tự
động hóa cho ngôi nhà Ngoài ra, framework nhà thông minh này còn sử dung
giao thức RESTful dé tích hợp các thiết bị thông minh như bóng đèn thông
minh, TV thông minh, loa thông minh từ nhiều nhà sản xuất khác nhau và
sử dụng giao thức MQTT để tích hợp các cảm biến, phích cắm thông minhdựa trên ESP8266 dé giám sát và điều khiển ngôi nhà Ngoài ra, giải pháp còncác tính năng như nhận diện đối tượng, tự động bật tắt thiết bị theo thói quen
sử dụng thiết bị và một số tính năng phụ trợ khác
Thiết bị phần cứng:
- Máy chủ trung tâm: Máy tính nhúng Raspberry Pi 4 Model B, RAM
4GB Máy chủ trung tâm đóng vai trò là bộ não trung tâm ghi nhận và điềukhiển tất cả các thiết bị điện trong nhà thông minh, xử lý mọi thông tin, dữliệu từ cảm biến gửi về
Trang 30- Thiết bị IoT: 02 Cảm biến nhiệt độ, độ ẩm, áp suất Xiaomi; 02 Cảmbiến cửa Xiaomi; 02 Cảm biến chuyển động, ánh sáng Xiaomi.
- Module, công tắc điều khiển thiết bị: 02 module wifi đóng/ngắt nguồnđiện SONOFF; 03 công tắc cảm ứng wifi, 3 gang TUYA
- Gateway, Hub: 01 Router Wifi TP-Link C50; 03 Hub điều khiển hồng
ngoại Broadlink; 01 USB stick Zigbee Gateway.
- 02 Camera IP
3s wa
x 2
Raspberry Pi 4 Sonoff Basic Switch touch XIAOMI
- Broadcom - ESP8266 based TUYA 3 gang - Motion Sensor.
BCM2711, Quad - Voltage range: - Module TYWE3S _| - Door and Window
core Cortex-A72 110~250v - Max Voltage: Sensor.
(ARM v8) 64-bit - Max current: 10A | 110V~250V - Temperature and
SoC @ 1.5GHz - Max Wattage: - Max Current:10A | Humidity Sensor.
- Ram 4GB 2200 watts - Wireless - Wireless Protocol:
- Wifi chuẩn 2.4 - Wireless Frequency: 2.4Ghz | Zigbee.
GHz va 5.0 GHz Frequency: - App: Smart life - 2 Years Battery
IEEE 802.1 lac 2.4Ghz Life.
Bluetooth 5.0, BLE_ | - App: Ewelink _
a
he me -Í
Camera Hikvision | Router Gateway Hub diéu khién USB Stick Zigbee
- Độ phân giải 2.0 - Băng thông 1200 hồng ngoại ~ SoC: CC2531
megapixel Mgbs chuẩn Broadlink - Core: 8051 CPU
- Motion tracking: 802.1 lac, - Tần số hồng ngoại: | - Chuan wi-fi:
Tinh năng pháthiện | 24GHz và5GHz | 38khz 2.4Ghz b/g/n
chuyển động, tự bắt - Hoạt động đa ving | - Khoảng cách truyền theo khi có đối 360° nhận: 100m.
tượng chuyên động ~ Chuẩn wi-fi: - Flashed:
2.4Ghz b/g/n Zigbee2matt
Bang 3: Danh sách các thiết bị sử dung trong dé tài
Trang 313.2 Phần mềm, mã nguồn sử dụng:
- Hệ điều hành Raspbian mới nhất dành cho máy tính nhúng Raspberry
Pi Là nền tảng dé cài đặt các ứng dụng cho hệ thống nhà thông minh
- Mã nguồn mở Home Asisstant: là trung tâm tự động hóa cho ngôi nhà,
được phát triển bởi cộng đồng những người đam mê DIY ở mọi nơi Có khảnăng kiểm soát thiết bị và có tính riêng tư trong mạng nội bộ của gia đình
- Firmware nguồn mở Tasmota dành cho thiết bị ESP8266: dùng để táicấu hình các module công tắt điều khiển thiết bị đảm bảo kết nối, hoạt động
trong mạng nội bộ thông qua giao thức MQTT.
MÔ HÌNH PHAT TRIEN GIẢI PHÁP NHÀ THONG MINH ỨNG DỤNG TRÍ TUỆ NHÂN TẠO.
Hình 9: Mô hình phát triển giải pháp nhà thông minh
Hệ thống nhà thông mình đề xuất gồm có 5 module chính được tích hợp:
- Module trung tâm điều khiển nhà thông minh
- Module kết nối với thiết bị được tái cấu hình bởi Tasmota
- Module nhận dạng đối tượng thông qua hình ảnh camera
- Module phân tích hoạt động tương tác với thiết bị và tự động kích hoạt
Trang 32- Module kết nối dịch vụ IFTTT để phản hồi sự kiện, tăng khả năng tự
động hóa cho ngôi nhà.
3.4 Triển khai trung tâm điều khiển nhà thông minh
3.4.1 Cài đặt hệ điều hành Raspbian trên Raspberry Pi4
Raspbian OS tải về tại
https://www.raspberrypi.org/software/operating-systems/ chọn phiên bản Raspberry Pi OS with desktop.
Trang 33sudo nano /etc/dhcpcd.conf
Sau đó, thêm vào cuối cùng file dhepd.conf các nội dung bên dưới
interface wlan0
static ip_address=**192.168.100.118**/24
static routers=**192.168.100.1**
static domain_name_servers=**192.168.100.1**
UP BROADCAST RUNNING MULTICAST MTU:1500 Me
- Tiến hành cập nhật và nâng cap hệ thống dé dam bảo cai đặt phiên ban
mới nhất bằng dòng lệnh command line
sudo apt-get update && sudo apt-get upgrade
3.4.2 Cai dat Docker Container.
Sau khi cài đặt hệ điều hành xong, tiến hành cài đặt Docker Docker là nền tảng phần mềm cho phép triển khai các ứng dụng một cách nhanh chóng.
Docker đóng gói các ứng dụng bằng container, tận dụng và sử dụng chung tài
nguyên kernel của host Một container được khởi chạy từ image, image là một
gói thực thi chứa bên trong là tất cả những gì cần thiết, liên quan để chạy ứngdụng như mã nguồn, các thư viện, runtime, các biến môi trường và các filescấu hình liên quan Trong hệ thống nhà thông minh nay, Docker đóng vai trò
chứa các thành phần chính Home Assistant, và các add-on bao gồm MQTT
Broker, Zigbee2MQTT
- Tiến hành các bước cài đặt như sau:
sudo apt autoremove
curl -fsSL get.docker.com -o docker.sh && sh
get-docker.sh
sudo systemctl enable docker
Trang 34sudo systemctl start docker
sudo usermod -aG docker pi
Hình 11: Thông tin Docker Version
3.4.3 Cai đặt Home Assistant sử dung Docker
Sau khi cài dat, Docker hiện đang hoạt động va nếu vì lý do nào đó mà
máy chủ bị khởi động lại thì Docker sẽ tự động khởi động Để cài đặt Home
Assistant, trước tiên bạn cần cài đặt thêm một số gói bắt buộc sau:
sudo apt-get install jq apparmor-utils socat manager apparmor-utils avahi-daemon
network-Sau khi hoàn tất bạn có thể cài đặt Home Assistant bằng câu lệnh sau
hassio-Chờ đến khi quá trình cai đặt hoàn tat, Home Assistant sẽ sẵn sàng hoạt
động và ta có thể truy cập giao diện người dùng bằng địa chỉ IP của máy chủ
với http://192.168.100.118:8123/
Trang 353.4.4 Cài đặt các addon SSH, MQTT Broker, Zigbee2MQTT
Để sử dụng Zigbee hoặc các tích hợp khác yêu cầu quyền truy cập vàothiết bị, bạn cần ánh xạ thiết bị thích hợp vào vùng chứa Đảm bảo ngườidùng đang chạy vùng chứa có các đặc quyền chính xác để truy cập tệp / dev /tty *, sau đó thêm ánh xạ thiết bị vào đường dẫn vùng chứa:
docker run -t -i device=/dev/ttyUSB0 ubuntu bash
1618138717: Opening websockets listen socket on port 1884.
1618138717: Opening ipv4 Listen socket on port 8883.
1618138717: Opening ipv6 listen socket on port 8883.
1618138717: Opening websockets listen socket on port 8884.
1618138717: Warning: Mosquito should not be run as root/administrator.
1618138798: New connection from 172.30.32.1 on port 1883.
[17:59:59] INFO: [INFO] found homeassistant on local database
1618138799: New client connected from 172.30.32.1 as 0oW8qG11ïHu6NSeiDTORm (p2, c1, k69, u"homeassistant").
1618138815: New connection from 192.168.100.104 on port 1883.
[18:00:16] INFO: [INFO] found admin on local database
1618138816: New client connected from 192.168.100.104 as DVES 928146 (p2,
1618138820: New connection from 192.168.100.100 on port 1883.
1618138820: New client connected from 192.168.100.100 as DVES 170C07 (p2,
1618138825: New connection from 192.168.100.111 on port 1883.
1618138825: New client connected from 192.168.100.111 as DVES_4F3095 (p2,
1618138826: New connection from 192.168.100.112 on port 1883.
1618138826: New client connected from 192.168.100.112 as DVES_217C2E (p2,
1618138836: New connection from 172:30.33.4 on port 1883.
1618138836: New client connected from 172.30.33.4 as mqttjs_a0072444 (p2,
Hình 12: Logs kết nói MQTT Broker
Mỗi thiết bị cảm biến kết nói với HA thông qua Zigbee thành công sẽ
hiển thị trong Zigbee Map bao gồm các thông số: mức tín hiệu, tên thiết bị, id
thiết bị
Hình 13: Zigbee Map
Trang 363.5 Triển khai tái cấu hình thiết bị
Trong đề tài này em chọn firmware Tasmota làm phần mềm cơ sở thay
thế cho phần mềm cơ sở của nhà sản xuất đã cài đặt sẵn trong thiết bị Cụ thể
trên hai thiết bị là công tắc cảm ứng 3 gang của TUYA và module đóng/ngắtnguồn điện SONOFF được tích hợp chip ESP8266/ESP8285 Đối với các sản
phẩm không sử dụng chip ESP8266/ESP8285 thì không thé thay thế chip dé
tái cấu hình vì cấu trúc vi mạch và các chân IO không phù hợp với filmware
Tasmota.
3.5.1 Module đóng/ngắt nguén điện SONOFF
Sonoff là một thiết bị đóng/ngắt nguồn điện có chi phí thấp, cung cấpcho người dùng khả năng điều khién nhà thông minh Nó là một công tắc
không dây hoạt động dựa trên WiFi, có thể lắp đặt cho nhiều loại thiết bị điện.
Sonoff truyền dữ liệu đến Cloud server thông qua bộ định tuyến WiFi, chophép người dùng điều khiển từ xa tất cả các thiết bị được kết nối thông qua
Hình 14: Phần cứng module Sonoff va Dataset ESP8266 trên board mạch3.5.2 Công tắc cảm ứng 3 gang Tuya
Công tắc Tuya là một trong số các sản phẩm của hệ sinh thái nhà thôngminh của hãng Day là một sản phẩm thương mại hoàn chỉnh bao gồm một
module TYW3S va một module relay TYWE3S là một mô-đun Wi-Fi nhúng
Trang 37khác TYWE3S được xây dựng với CPU 32-bit năng lượng thấp, bộ nhớ2Mbyte, SOKB SRAM TYWE3S là một nền tảng RTOS tích hợp tat cả cácthư viện giao thức MAC và TCP/IP Tuya truyền dữ liệu thông qua Wi-Fi đến
Cloud server bằng ứng dụng Smart Life của hãng phát trién.
TEST ®
Tx0e RST Rxpo apc
GPI0S EN GPI04 6PI016
GPI09 GPI014.
GP102 6PT012.
GPIO4S GPI013 ono vec
Hình 16: Module TYWE3S GPIO Datasheet trên công tắc Tuya3.5.3 Tién hanh flash firmware Tasmota
Trước khi flash firmware cần tìm hiểu phần cứng của thiết bị dang sử
dung module wifi nào (ESP8266, TYWE3S hay ESP8266MOD, ) và xác
Trang 38định chân TX, RX và các chân GPIO của module để cấu hình các chân GPIOkhớp với sơ đồ mạch điện sau khi flash Tasmota hoàn tắt.
Để flash firmware cần chuẩn bị:
" Mạch nạp FT232RL FTDI USB to TTL: kết nối các chân TX-RX, RX-TX, 3v3, GND giữa FT232RL và thiết bi, đồng thời đặt thiết bị vào chế
độ write bằng cách kích hoạt chân GPIOO về mức 0 (GND)
Hình 17: Mạch nạp FT232RL USB to TTL
= Tải về ứng dụng Tasmotizer tại địa chỉ:
https://github.com/tasmota/tasmotizer Ứng dụng cung cấp tính năng sao
lưu firmware mặc định của nhà sản xuất thiết bị và tự động tải về phiên bản
firmware Tasmota mới nhất và flashing khi thiết bị đã kết nối thành công
3.5.4 Cấu hình và kết nỗi thiết bị vào Home Assistant
Sau khi tiến trình flashing hoàn tắt, ta tiến hành kết nối nguồn điện đầuvào 220v cho thiết bị Thiết bị sẽ hoạt động như một router Wi-Fi với tên
Trang 39SSID có dạng “tasmota-xxx”, ta tiến hành kết nói và truy cập vào IP của thiết
bị Một giao diện WebUI được hiển thị với nhiều tùy chọn Nhập đúng tên
mang WIFI đang sử dụng vào mục “API SSiD” và password của WIFI tương
ứng vào mục “API Password” sau đó nhắn Save Sẽ mat khoảng 5-10 giây dé công tắc khởi động lại và kết nối vào mang Wi-Fi Nếu các đèn led chuyển
màu xanh khi gửi lệnh thì đã kết nối WIFI thành công
3.6 Triển khai module nhận dạng đối tượng
Nhằm tăng khả năng tự động hóa và giảm thiểu cảnh báo sai do sensor
phát hiện chuyền động chi dựa trên thân nhiệt, khó phân biệt được người hayđộng vật di chuyển trong phạm vi cần detect Vì vậy, em dé xuất tích hợp vàomột hệ thống nhận dạng đối tượng, hệ thống này thu thập hình ảnh từ camera
IP thông qua giao thức truyền phát thời gian thực (RTSP) của camera Dé hệthống hoạt động trên cùng một nền tảng Raspberry Pi, em sử dụng dịch vụDOODS được cung cấp tại https://github.com/snowzach/doods DOODS làmột dịch vụ GRPC/REST phát hiện các đối tượng trong hình ảnh Nó đượcthiết kế dé chạy trên docker container API sử dụng gRPC dé giao tiếp và tích
hợp cổng REST Nó hỗ trợ xác thực khóa pre-shared và hỗ trợ mã hóa TLS,
listening trên công 8080 DOODS sử dụng thư viện Tensorflow với mô hìnhcoco_ssd_mobilenet vì mô hình này đã được tối ưu hóa cho thiết bị di động
và các máy tính nhúng, có chi phí tính toán thấp, giúp cho việc nhận diện
nhanh hơn Khi được cung cấp một hình ảnh, nó sẽ xuất ra một số lượng kết
quả phát hiện bao gồm vị trí đối tượng, số lượng đối tượng, độ chính xác nhận
diện.
Trang 40Extra Feature Layers.
vec-16 r +
mah ComS 3 lever Chasse : Cone: 2x(®x(Classes+4))
ì ister One t0iGEssod)
Detections:8732 per Class]
Hình 19 - Kiến trúc SSD MobilenetVới kiến trúc SSD, chỉ cần chụp một lần để phát hiện nhiều đối tượngtrong hình ảnh, trong khi các phương pháp tiếp cận dựa trên mạng đề xuất khuvực (RPN) thì R-CNN cần hai lần chụp, một để tạo mạng đề xuất khu vực,một dé phát hiện đối tượng của mỗi dé xuất Do đó, SSD nhanh hơn nhiều sovới các phương pháp dựa trên RPN hai lần Nó thiết kế dé phát hiện đối tượng
trong thời gian thực gồm 2 giai đoạn:
1 Trích xuất feature map (dựa vào mạng cơ sở VGGI6) và sử dụng
MobileNet trong việc phát hiện Conv4_3 là một trong những lớp predictor
object của mạng, những lớp còn lại chỉ có tác dụng trích xuất các đặc trưngcủa hình ảnh đầu vào
2 Áp dụng các bộ lọc tích chập để có thể detect được các đối tượng
Các bước cài đặt như sau:
Bước 1: Cài đặt tại https://hub.docker.com/r/snowzach/doods với cú pháp sau:
docker run -it -p 8080:8080 snowzach/doods:latest