1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Công nghệ thông tin: Phát triển giải pháp nhà thông minh ứng dụng trí tuệ nhân tạo

95 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát Triển Giải Pháp Nhà Thông Minh Ứng Dụng Trí Tuệ Nhân Tạo
Tác giả Ue A Phan Ba Tung
Người hướng dẫn PGS.TS. Lê Trung Quân
Trường học Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận Văn Thạc Sĩ
Năm xuất bản 2022
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 95
Dung lượng 46,66 MB

Nội dung

- 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 2

LỜ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 3

LỜ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 4

MỤ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 5

3.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 6

DANH 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 7

Hì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 8

DANH 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 9

CHƯƠ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 10

1.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 11

thể 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 12

Bướ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 13

Cá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 14

CHUONG 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 16

2.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 17

Over-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 18

Hì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 19

Nă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 20

sot 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 21

Light 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 22

OpenHAB 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 23

cá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 24

chướ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 25

tạ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 26

Ngườ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 27

Thuậ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 28

quả [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 29

CHƯƠ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 31

3.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 33

sudo 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 34

sudo 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 35

3.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 36

3.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 37

khá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 39

SSID 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 40

Extra 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

Ngày đăng: 24/11/2024, 14:38

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w