Download as pdf or txt
Download as pdf or txt
You are on page 1of 38

ĐẠI HỌC QUỐC GIA TP.

HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ
---------------o0o---------------

ĐỒ ÁN 1 ( KỸ THUẬT ĐIỆN TỬ - VIỄN THÔNG )

NHẬN DẠNG HÀNH ĐỘNG NGƯỜI BẰNG CẢM


BIẾN GIA TỐC

GVHD: TS. HÀ HOÀNG KHA

SINH VIÊN THỰC HIỆN :


Tống Trần Thái Anh: 1912618
Võ Minh Đức: 1913179

TP. HỒ CHÍ MINH, THÁNG 5 NĂM 2022


Lời cảm ơn GVHD: TS. HÀ HOÀNG KHA

LỜI CẢM ƠN
Để hoàn thành đồ án 1 chúng em xin gửi lời cảm ơn đến với ban giám hiệu nhà
trường, đoàn hội, khoa, tập thể giảng viên công nhân viên chức trường Đại học Bách
Khoa - Đại học quốc gia TP.HCM vì đã xây dựng cho chúng em được một môi trường
học tập và phát triển rất tốt. Là nền tảng cơ sở tốt để chúng em có thể tiếp cận được
những tri thức mới.

Chúng em đặc biệt gửi cảm ơn PSG. Hà Hoàng Kha – Giảng viên hướng dẫn đồ
án 1 (kỹ thuật điện tử - viễn thông). Trong quá trình thực hiện đề tài nhận dạng hành
động người sử dụng cảm biến gia tốc, nhóm em đã nhận được sự hướng dẫn quan tâm
giúp đỡ rất tâm huyết từ thầy. Thầy thường xuyên trao đổi thông tin, đóng góp ý kiến
trong suốt quá trình thực hiện đề tài của nhóm.

Vì kiến thức chuyên ngành còn nhiều hạn chế, trong quá trình thực hiện đồ án
này em không thể tránh khỏi những sai sót, kính mong nhận được sự thông cảm và góp
ý từ quý thầy cô để nhóm em có thể học hỏi thêm cho việc phát triện dự án, đồng thời
rút ra được những bài học cho những kế hoạch khác trong tương lai.

Kính chúc nhà trường, các thầy cô, toàn thể cán bộ trường Đại Học Bách Khoa –
Đại học Quốc Gia TP. Hồ Chí Minh thật nhiều sức khỏe, gặt hái được nhiều thành công
trong công việc.

Tp. Hồ Chí Minh, ngày 30 tháng 5 năm 2022.


Nhóm sinh viên thực hiện

Tống Trần Thái Anh 1912618


Võ Minh Đức 1913179

i
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

TÓM TẮT ĐỒ ÁN

Nhận dạng hoạt động người (Human Activity Recognition - HAR) là quá trình thu thập
và phân tích hành vi người dùng nhằm suy diễn/nhận dạng các hoạt động đang xảy ra. Nhận
dạng hoạt động người không những là chủ đề nghiên cứu quan trọng trong tính toán nhận biết
ngữ cảnh mà còn là chủ để cho rất nhiều lĩnh vực khác như tính toán khắp nơi, tương tác người
- máy hay tính toán di động. Một trong những mục tiêu của nhận dạng hoạt động là cung cấp
thông tin về hành vi của người dùng, từ đó cho phép hệ thống tính toán chủ động hỗ trợ người
dùng trong công việc.
Nhận dạng hoạt động sử dụng cảm biến mang trên người ứng dụng công nghệ cảm biến
để đo lường các dữ liệu liên quan đến gia tốc, các trục được quy định từ trước. Dữ liệu cảm
biến được thu thập và sau đó được phân tích bằng cách sử dụng các kỹ thuật học máy. Trong
phương pháp này, các cảm biến có thể được gắn tại các vị trí khác nhau trên cơ thể người. Cảm
biến mang trên người là loại cảm biến gia tốc MPU 6050, do đó có khả năng thu thập nhiều loại
thông tin về hành vi người dùng.
Có rất nhiều ứng dụng hữu ích dựa trên nhận dạng hoạt động người, như các ứng dụng
trong y tế, trong công nghiệp, trong thể thao, giải trí, v.v. Để các ứng dụng này có thể phục vụ
cuộc sống con người trong thực tế, chúng phải hiện diện khắp mọi nơi và tại bất kỳ thời điểm
nào người dùng cần. Điều này có nghĩa là hệ thống phải truy cập được thông tin của người dùng
một cách liên tục. Hệ thống mang trên người có thể đáp ứng yêu cầu đó nhờ sử dụng các cảm
biến có khả năng thu thập thông tin người dùng mà không bị gián đoạn. Ở đồ án lần này, do
kiến thức còn chưa có nhiều, nên chúng em chỉ mới thực hiện được bước đầu trong những mục
đích trên đó chính là thu thập dữ liệu, gửi dữ liệu lên web server và dự đoán hành động thông
qua học máy.
Đồ án này sẽ tập trung khai thác về nhận dạng hoạt động sử dụng cảm biến mang trên
người. Trước tiên, đồ án sẽ tìm hiểu loại cảm biến mang trên người, kiến trúc hệ thống nhận
dạng hoạt động sử dụng cảm biến mang trên người và một số phương pháp nhận dạng. Sau đó
đồ án mô tả tổng quan về các linh kiện cũng như web được sử dụng, phần cứng, phần mềm và
kết quả thu được sau khi hoàn thiện sản phẩm. Ngoài ra, đồ án cũng sẽ đề cập sơ lược cách thu
thập, xử lý dữ liệu, phần cứng, phần mềm và cách hoạt động của sản phẩm.

ii
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

MỤC LỤC

1. GIỚI THIỆU ....................................................................................................................... 1

1.1 Tổng quan .................................................................................................................... 1

1.2 Nhiệm vụ đề tài ............................................................................................................ 2

1.3 Phân chia công việc trong nhóm .................................................................................. 3

2. TỔNG QUAN VỀ MPU 6050, NODE MCU VÀ THINGSPEAK .................................... 4

2.1 Cảm biến gia tốc MPU 6050........................................................................................ 4

2.2 Node MCU ................................................................................................................... 6

2.3 Thingspeak ................................................................................................................... 8

3. THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG ................................................................... 11

3.1 Yêu cầu thiết kế ......................................................................................................... 11

3.2 Phân tích thiết kế........................................................................................................ 11

4. THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM .................................................................... 14

4.1 Gửi dữ liệu lên Thingspeak và tải xuống ................................................................... 14

4.2 Lấy dữ liệu về từ thingspeak sau đó sử dụng python để dự đoán hành động ............ 17

5. KẾT QUẢ THỰC HIỆN ................................................................................................... 24

6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ........................................................................ 31

6.1 Kết luận ...................................................................................................................... 31

6.2 Hướng phát triển ........................................................................................................ 31

PHỤ LỤC .......................................................................................................................... 32

TÀI LIỆU THAM KHẢO ................................................................................................. 32

iii
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

DANH SÁCH HÌNH MINH HỌA

Hình 2.1: MPU 6050 ...............................................................................................................................5

Hình 2.2: NodeMCU ESP 8266 ..............................................................................................................8

Hình 2.3: Website Thingspeak ..............................................................................................................10

Hình 3.1: Sơ đồ khối phần cứng.............................................................................................................12

Hình 3.2: Mô hình sơ đồ đấu nối dây .....................................................................................................13

Hình 4.1: Giao diện của website Thingspeak .........................................................................................14

Hình 4.2: Cài đặt một channel trên Thingspeak .....................................................................................15

Hình 4.3: Write API Keys và Real API Keys của một channel Thingspeak..........................................16

Hình 4.4: Mục Data Import/Export của Thingspeak ..............................................................................17

Hình 4.5: Dữ liệu được tải về từ Thingspeak .........................................................................................17

Hình 4.6: Giao diện PyCharm ................................................................................................................19

Hình 4.7: Import các thư viện ................................................................................................................20

Hình 4.8: File huấn luyện .......................................................................................................................20

Hình 4.9: Data huấn luyện......................................................................................................................21

Hình 4.10: Data dự đoán hành động.......................................................................................................21

Hình 4.11: Cây quyết định .....................................................................................................................22

Hình 5.1: Vị trí đặt cảm biến trên cơ thể ................................................................................................24

Hình 5.2: Tư thế đứng ............................................................................................................................25

Hình 5.3: Tư thế ngồi .............................................................................................................................26

Hình 5.4: Tư thế nằm .............................................................................................................................26

Hình 5.5: Tư thế đi bộ ............................................................................................................................27

Hình 5.6: Tư thế chạy bô ........................................................................................................................27

Hình 5.7: Hình ảnh thực tế của thiết bị ..................................................................................................28

Hình 5.8: Các Field thu được sau khi tải dữ liệu lên Thingspeak ..........................................................29

Hình 5.9: Biểu đồ Python trả về ............................................................................................................29

iv
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

DANH SÁCH BẢNG SỐ LIỆU

Bảng 5.1: Tần số các hoạt động ............................................................................................................30

v
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Chương 1 GIỚI THIỆU

Ở chương này, chúng ta tìm hiểu về tổng quan đề tài, giới thiệu các khái niệm liên quan
đến nhận dạng hoạt động của người thông qua học máy, tìm hiểu về nhiệm vụ của đề tài và đưa
ra bảng phân công công việc của các thành viên trong nhóm.

1.1 Tổng quan

Nhận dạng hoạt động người là quá trình thu thập và phân tích các dữ liệu liên quan
thông qua cảm biến gia tốc, từ đó dự đoán ra hành động thông qua học máy . Một trong những
mục tiêu của nhận dạng hoạt động là nhận dạng chính xác hoạt động, hành vi của người đang
được giám sát, từ đó có thể dùng những dữ kiện đó để phục vụ cho các mục đích khác.

Nhận dạng hoạt động sử dụng cảm biến mang trên người là một hướng tiếp cận hiệu
quả với chi phí thấp cho thu thập dữ liệu và nhận dạng về các hoạt động của con người, nhờ
vào công nghệ cảm biến gắn trên người.. Thêm vào đó, sự tiến bộ không ngừng của công nghệ
cảm biến đã tạo nên các cảm biến mang trên người mạnh mẽ, có tính ứng dụng cao, giá rẻ, cho
phép khả năng hoạt động liên tục không hạn chế. Nhờ khả năng theo dõi các hoạt động từ góc
nhìn của người dùng, cảm biến mang trên người cho phép các ứng dụng nhận dạng hiện tại
khắc phục được những hạn chế do môi trường hoạt động, biến chúng trở thành các hệ thống
trợ giúp thông minh cho con người mọi lúc mọi nơi.

Có nhiều loại hoạt động khác nhau tùy thuộc vào thuật toán của học máy nhận dạng
hoạt động người. Tuy nhiên, về cơ bản thì hoạt động người có thể được chia làm hai loại, đó là
hoạt động mức thấp và hoạt động mức cao . Các hoạt động mức thấp bao gồm các hoạt động
như nằm , ngồi xuống, đứng lên,.... Đây là các hoạt động đặc trưng bởi tư thế thực hiện , các
loại hành động này thì chúng ta có thể phân tích dựa vào các trục X,Y,Z đã được quy định từ
đầu và không cần phân tích các dữ liệu liên quan đến gia tốc thì đây là các hoạt động hầu như
không có sự thay đổi về gia tốc. Ngược lại, hoạt động mức cao thường gồm các hoạt động thay
đổi gia tốc liên tục như như đi bộ , chạy bộ. Các hoạt động này có thể kéo dài vài phút hoặc
nhiều giờ đồng hồ.

Đồ án này chủ yếu nghiên cứu tập trung về các hành động: Đứng, ngồi, nằm, đi bộ,
chạy bộ. Dữ liệu sẽ được lấy bằng cách gắn cảm biến vào cổ chân người, sau đó dữ liệu sẽ
được gửi lên web server ( Thing speak), ở đây chúng ta có thể quan sát biểu đồ thay đổi của

1
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

các chỉ số cần thu thập liên quan đến các trục và gia tốc, sau đó lấy data về máy và cho vào
máy học để xử lý và phán đoán các hành động.

1.2 Nhiệm vụ đề tài

Nhiệm vụ của đồ án là tìm hiểu về phương pháp học máy để phân tích và dự đoán cho các
hệ thống nhận dạng hoạt động sử dụng cảm biến mang trên người. Đồ án tập trung vào tìm hiểu
mục tiêu:

Tìm hiểu và xây dựng một chương trình máy học để dự đoán các hoạt động cho các ứng
dụng nhận dạng một số hoạt động riêng lẻ, sử dụng cảm biến mang theo người với để thu thập
các dữ liệu cần thiết.Ở đây do có hạn chế về mặt kiến thức nên chúng em chưa thể tạo được
web sever riêng để tải lên các dữ liệu nên chưa thể thực hiện phân tích và dự đoán theo thời
gian thực . Phương pháp được đưa ra sẽ là sử dụng một web có sẵn mang tên là Thingspeak để
đưa dữ liệu lên, và sau một khoảng thời gian nhất định sẽ tải dữ liệu về và xử lý, nhận dạng
hành động bằng chương trình học máy.

Mục tiêu liệt kê trên đây cũng mô tả phạm vi và đối tượng nghiên cứu của đồ án. Đó là sử
dụng phương pháp học máy để đưa ra phương pháp trích xuất đặc trưng trong các hệ thống
nhận dạng hoạt động sử dụng cảm biến mang trên người. Phương pháp trích xuất đặc trưng này
có thể phù hợp với các hệ thống trợ giúp cá nhân thông minh nhỏ gọn mang theo người, năng
lực xử lý thấp và không yêu cầu hoạt động theo thời gian thực, hoặc phù hợp với hệ thống cần
nhận dạng các hoạt động người đơn giản. Các hoạt động con người bao gồm các hoạt động
trong cuộc sống hàng ngày, là các chuyển động của cơ thể có thể ghi nhận và phân biệt được
bằng các cảm biến mang trên người.

Nôi dung 1: Tìm hiểu về cảm biến MPU6050, nodeMCU ESP 8266 và Thingspeak

Nội dung 2: Thiết kế và thực hiện phần cứng

Nội dụng 3: Thiết kế và thực hiện phần mềm

Nội dung 4: Thu thập, xử lý dữ liệu

Nội dung 5: Hoàn thiện sản phẩm

2
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

1.3 Phân chia công việc trong nhóm


Thành viên Công việc Chữ kí

Võ Minh Đức Gửi data lên web server và lấy


về máy
Tống Trần Thái Anh Machine learning

Họp nhóm 19h00, thứ ba, mỗi tuần

Qui tắc nhóm 1. Tham gia mọi buổi họp nhóm


2. Lắng nghe cẩn thận mọi ý kiến trong nhóm
3. Hoàn thành mọi tiến độ trước deadline
4. Chú trọng vào kết quả.
5. Không gây gổ, bất hòa
6. Tin tưởng lẫn nhau

3
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Chương 2 TỔNG QUAN VỀ MPU6050, NODE MCU VÀ THINGSPEAK

Trong chương này, nhóm sẽ giới thiệu về các linh kiện được sử dụng trong đồ án lần này.
Các linh kiện như cảm biến gia tốc MPU6050, Node MCU ESP 8266 sẽ được giới thiệu về
thông số kĩ thuật, hình ảnh thực tế và mô tả các chân. Về web Thingspeak sẽ được giới thiệu
tổng quan về khái niệm, các tính năng và cách thức hoạt động.

2.1 Cảm biến gia tốc MPU 6050:

MPU-6050 (hình 1.1) là cảm biến của hãng InvenSense. MPU-6050 là một trong những
giải pháp cảm biến chuyển động đầu tiên trên thế giới có tới 6 (mở rộng tới 9) trục cảm biến
tích hợp trong 1 chip duy nhất.

MPU-6050 sử dụng công nghệ độc quyền MotionFusion của InvenSense có thể chạy trên
các thiết bị di động, tay điều khiển… Nó được điều hành ra một nguồn cung cấp 3.3V/5V, và
giao tiếp thông qua I2C với tốc độ tối đa 400kHz. Chip này cũng có sẵn trong một gói SPI
được gọi là MPU6000 cho tốc độ giao tiếp lên tới 10Mbs.

MPU-6050 tích hợp 6 trục cảm biến bao gồm:

+ Con quay hồi chuyển 3 trục (3-axis MEMS gyroscope)

+ Cảm biến gia tốc 3 chiều (3-axis MEMS accelerometer)

Ngoài ra, MPU-6050 còn có 1 đơn vị tăng tốc phần cứng chuyên xử lý tín hiệu (Digital
Motion Processor - DSP) do cảm biến thu thập và thực hiện các tính toán cần thiết. Điều này
giúp giảm bớt đáng kể phần xử lý tính toán của vi điều khiển, cải thiện tốc độ xử lý và cho ra
phản hồi nhanh hơn. Đây chính là 1 điểm khác biệt đáng kể của MPU-6050 so với các cảm
biến gia tốc và gyro khác.

MPU-6050 có thể kết hợp với cảm biến từ trường (bên ngoài) để tạo thành bộ cảm biến 9
góc đầy đủ thông qua giao tiếp I2C.Các cảm biến bên trong MPU-6050 sử dụng bộ chuyển đổi
tương tự - số (Anolog to Digital Converter - ADC) 16-bit cho ra kết quả chi tiết về góc quay,
tọa độ... Với 16-bit bạn sẽ có 216 = 65536 giá trị cho 1 cảm biến.

- Thông số chuyển động:

+ Có thể lựa chọn + -2/4 / 8 /16g phạm vi gia tốc

+ Có thể lựa chọn + -250 /500/1000/2000 độ /s phạm vi con quay hồi chuyển

4
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

+ 16 bit đầu ra

+ Con quay nhạy cảm của gia tốc tuyến tính 0.1 độ /s, một cải tiến lớn so với con quay hồi
chuyển trục tri của các công ty khác.

+ Tiếng ồn thấp trên cả hai kết quả đầu ra, xem thông số kỹ thuật

+ Tỷ lệ sản lượng dữ liệu lên đến 1000Hz, mặc dù được xây dựng bằng kỹ thuật số thấp
vượt qua bộ lọc có tần số góc tối đa là 256Hz.

- Chân giao tiếp của MPU 6050:

Hình 2.1 Cảm biến gia tốc MPU6050

+ VCC : 5V/ 3.3V

+ GND : 0V

+ SCL : Chân SCL trong giao tiếp I2C

+ SDA : Chân SDA trong giao tiếp I2C

+ XDA : Chân dữ liệu (kết nối với cảm biến khác)

+ XCL : Chân xung (kết nối với cảm biến khác)

+ AD0 : Bit0 của địa chỉ I2C

5
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

+ INT : Chân ngắt

- Ứng dụng:

Cảm biến gia tốc MPU 6050 được sử dụng rất nhiều trong các dự án hay sản phẩm liên
quan đến nhận dạng và chuyển động. Một số sản phẩm cụ thể có MPU 6050 như: Chuột ,
điều khiển từ xa, thiết bị không người lái, …

2.2 Node MCU:

Khái niệm:Module ESP8266 là module wifi được đánh giá rất cao cho các ứng dụng liên
quan đến Internet và Wifi cũng như các ứng dụng truyền nhận sử dụng thay thế cho các module
RE khác với khoảng cách truyền lên tới 100 mét( Môi trường không có vật cản) trên 400m với
anten và router thích hợp.

ESP8266 cung cấp một giải pháp kết nối mạng Wi-Ei hoàn chỉnh và khép kín, cho phép nó
có thể lưu trữ các ứng dụng hoặc để giảm tải tất cả các chức năng kết nối mạng Wi-Ei từ một
bộ xử lý ứng dụng.

Khi ESP8266 là máy chủ các ứng dụng hay khi nó chỉ là bộ vi xử lý ứng dụng có trong
thiết bị, nó có thể khởi động trực tiếp từ một flash ngoài. Nó có tích hợp bộ nhớ cache để cải
thiện hiệu suất của hệ thống trong các ứng dụng này và để giảm thiểu các yêu cầu bộ nhớ.

Luân phiên, phục vụ như một bộ chuyển đổi wifi, truy cập qua internet không dây có thể được
thêm vào bất kì thiết kế vi điều khiển nào dựa trên kết nối đơn giản qua giao diện UART hoặc
giao diện CPU AHB

Khả năng lưu trữ và xử lý mạnh mẽ cho phép nó được tích hợp với các bộ cảm biến, vi điều
khiển và các thiết bị ứng dụng cụ thể khác thông qua GPIOs với chi phí tối thiểu và một PCB
tối thiểu. Với mức độ tích hợp cao trên chip, trong đó bao gồm các anten, bộ chuyển đổi banlun,
bộ chuyển đổi quản lý điện năng…

- Thông số kỹ thuật:

+ IC chính: ESP8266

+ Phiên bản firmware: NodeMCU Lua

+ Chip nạp và giao tiếp UART: CP2102.

6
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

+ GPIO tương thích hoàn toàn với firmware Node MCU.

+ Cấp nguồn: 5VDC MicroUSB hoặc Vin.

+ GIPO giao tiếp mức 3.3VDC

+ Tích hợp Led báo trạng thái, nút Reset, Flash.

+ Tương thích hoàn toàn với trình biên dịch Arduino.

+ Kích thước: 25 x 50 mm

- Sơ đồ chân:

+ VCC: 3.3V

+ GND: Chân nối đất

+ Tx: Chân Tx của giao thức UART, kêt nối đến chân RX của vi điều khiển

+ Rx: Chân Rx của giao thức UART, kết nối đến chân Tx của vi điều khiển

+ RST: Chân reset

+ 10 chân GPIO từ D0 – D9, có chức năng PWM, IIC, giao tiếp SPI, 1 – Wire và ADC trên
chân A0

+ Kết nối mạng wifi

- Tính năng của NodeMCU ESP 8266:

+ Hỗ trợ chuẩn 802.11 b/g/n

+ Wifi 2.4 Ghz, hỗ trợ WPA/WPA2

+ Chuẩn điện áp hoạt động 3.3 V

+ Chuẩn giao tiếp UART với tốc độ Baud lên đến 115200

+ Tích hợp ngăn xếp giao thức TCP/IP

+ Tích hợp chuyển đổi TR, balun, LNA, bộ khuếch đại công suất và phù hợp với mạng

+ Tích hợp PLL, bộ quản lý và các đơn vị quản lý điện năng

7
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

+ Công suất đầu ra +19.5 dBm trong chế độ 802.11b

+ Tích hợp cảm biến nhiệt độ

+ Hỗ trợ nhiều loại anten

+ Làm việc như máy chủ có thể kết nối với 5 máy con

Hình ảnh thực tế và vị trí cụ thể của từng chân được trình bày trong hình 2.2:

Hình 2.2: NodeMCU ESP 8266

2.3 Thingspeak

Thingspeak là một nền tảng mà bạn có thể trực quan hóa và phân tích dữ liệu trên đám mây.
Nó là một sản phẩm Matlab và bạn có thể xử lý và phân tích dữ liệu trực tiếp từ đám mây. Chủ
yếu nó được sử dụng trong các dự án IoT cần phân tích để theo dõi những thay đổi về giá trị
cảm biến trên đám mây.

Để làm việc với thingspeak, bạn phải đăng nhập thông qua tài khoản Matlab, nó chỉ miễn
phí cho người dùng phi thương mại. Phiên bản miễn phí có một số giới hạn nhưng nếu bạn là

8
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

sinh viên hoặc thuộc bất kỳ cơ sở giáo dục nào thì bạn có thể có toàn quyền truy cập bằng cách
sử dụng email từ cơ sở của bạn.

- Các tính năng quan trọng của thingspeak:

+ Các thiết bị có thể dễ dàng định cấu hình và gửi dữ liệu tới Thingspeak bằng cách sử dụng
các giao thức truyền thông.

+ Có thể xem dữ liệu trong thời gian thực

+ Nó có thể nhận dữ liệu từ phần mềm của bên thứ ba.

+ Có thể sử dụng với Matlab để phân tích dữ liệu

+ Nó không cần server và phần mềm web để xây dựng prototype hệ thống IoT.

+ Tự động thực hiện các hành động và giao tiếp bằng phần mềm của bên thứ ba.

- Cách hoạt động của thingspeak:

Thingspeak hoạt động với điện toán đám mây, tất cả các thiết bị mà bạn muốn lấy dữ liệu
phải nằm trong mạng với cơ sở dữ liệu đám mây. Thingspeak cũng kết nối với cơ sở dữ liệu
đám mây và hiển thị luồng dữ liệu.

Ví dụ bạn muốn theo dõi nhiệt độ và độ ẩm của phòng làm việc. Bạn phải đặt một bộ điều
khiển và các bộ cảm biến được thiết lập trong văn phòng của mình và kết nối nó thông qua các
API REST. Bộ điều khiển sẽ thu thập dữ liệu của cảm biến nhiệt độ và độ ẩm và gửi dữ liệu đó
lên đám mây để hiển thị trực quan trên Thingspeak.

Nó rất dễ sử dụng vì cho dù bạn ở đâu, bạn có thể kiểm tra tình trạng phòng của mình thông
qua điện thoại thông minh hoặc web chỉ bằng cách đăng nhập vào tài khoản Thingspeak.Giao
diện chính của Thingspeak sau khi chúng ta truy câp vào sẽ có dạng:

9
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Hình 2.3: Website Thingspeak

10
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Chương 3 THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG

Chương này sẽ đưa ra các yêu cầu thiết kế phần cứng, phân tích thiết kế, nêu lên sơ đồ
khối của sản phẩm và sơ đồ nối dây được mô phỏng của sản phẩm

3.1 Yêu cầu thiết kế

Đưa ra kết quả là biểu đồ hoạt động đứng, nằm, ngồi, đi bộ, chạy bộ trong một ngày của
một người để người đó có thể quan sát tần suất hoạt động của mình từ đó đưa ra được mục tiêu
cho những ngày tiếp theo.

Thời gian lấy dữ liệu cho dự đoán là sau mỗi 15s, mỗi ngày sẽ có khoảng 4000 dữ liệu để
dự đoán.

Thiết kế nhỏ gọn, chiều dài không quá 7cm, chiều rộng không quá 4cm và bề dày không
quá 2cm, cấu trúc chắc chắn thuận tiện cho người dùng có thể tham gia các hoạt động thể thao
cũng như sinh hoạt hằng ngày

Thời gian hoạt động cho mỗi lần xạc PIN ít nhất là 16 tiếng tức là kết thúc một ngày mới
xạc PIN một lần.

Độ chính xác cao, tỉ lệ dự đoán chính xác hoạt động trong ngày lớn hơn 90%.

An toàn cho người sử dụng, không bị điện giật, không có các vật sắc nhọn gây tổn thương
cho da,...

3.2 Phân tích thiết kế

Từ yêu cầu thiết kế nhóm đưa ra các phương pháp khác nhau để giải quyết, sau đó thảo
luận để đưa ra phương pháp tối ưu sau cùng.

Đầu tiên việc thu thập dữ liệu, có hai phương pháp được đặt ra để thu thập dữ liệu.

Phương pháp thứ nhất, sử dụng module bluetooth để gửi dữ liệu từ MPU6050 đến máy
tính. Phương pháp này rất dễ để thực hiện vì module bluetooth rất phổ biến và dễ dàng để sử
dụng. Tuy nhiên, việc sử dụng module bluetooth chỉ có thể truyền dữ liệu từ 8 – 10m, nếu có
vật cản khaonrg cách này còn thấp hơn nhiều. Như vậy, không thể sử dụng được phương pháp
này vì người dùng không thể vừa đeo cảm biến còn cầm theo máy tính để thực hiện thi thập dữ
liệu hằng ngày được.

11
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Phương pháp thứ hai, hiện nay các loại module wifi đã rất phát triển cùng với đó là các
wedserver cũng rất tiện lợi và dễ dùng. Nên nhóm đưa ra phương pháp sử dụng module wifi
ESP8266 đưa dữ liệu lên thingspeak. Như vậy, việc thu thập dữ liệu sẽ được thu thập từ bất cứ
đâu mà không cần mang theo các thiết bị điện tử cồng kềnh.

Tiếp theo, sử dụng machine learning để phân tích dữ liệu được lấy về từ thingspeak được
thực hiện bằng hai phương pháp.

Phương pháp thứ nhất, sử dụng các công thức tính toán để lựa chọn những thông số phân
loại hành động. Phương pháp này cho ta dự đoán hành động một cách linh hoạt hơn. Nhưng để
thực hiện phương pháp này lại rất phức tạp, ta phải tính toán các thông số, chọn ra những đặc
trưng ảnh hưởng tới kết quả dự đoán cao nhất, phải phân loại hành động sao cho phù hợp để
kết quả dự đoán được chính xác.

Phương pháp thứ hai, trong python người ta đã có bộ thư viện sklearn.tree cho chúng ta
thực hiện học máy theo mô hình cây quyết định. sử dụng phương pháp này tương đối tiện lợi
mà độ chính xác lại cao hơn.

Sơ đồ khối chi tiết :

Hình 3.1: Sơ đồ khối phần cứng

Về phần cứng của mô hình dự đoán hành động bằng cảm biến gia tốc khá đơn giản chỉ bao
gồm ba khối chức năng chính.

Khối thu thập dữ liệu: khối này được thực hiện bằng cảm biến gia tốc MPU6050, dữ liệu
được thu thập gồm 6 thông số (gồm gia tốc trên ba trục và góc nghiêng ba trục). Cảm biến sẽ
cho 6 thông số nay sau mỗi 15s lên thingspeak để dự đoán.

Khối xử lý: khối xử lý là IC CP2102 đã được tích hợp sẵn trong module ESP8266 thực hiện
chức năng xử lý các dữ liệu, điều khiển module wifi.

12
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Khối phát dữ liệu lên wed: module ESP8266 sẽ thực hiện gửi dữ liệu được thu thập từ
MPU6050 lên wedserver để cho bước dự đoán và tính toán sau này.

Sơ đồ mạch chi tiết

Nối chân sẽ được thực hiện theo kiểu giao tiếp I2C gồm 4 chân. Trong đó, hai chân cấp
nguồn VCC 3.3V và GND. Hai chân còn lại là chân SCL và SDA được nối với chân D1 và D2
của ESP8266. Sau đây sẽ là sơ đồ mô phỏng kết cấu chính thức cũng như là cách nối dây của
sản phẩm:

Hình 3.2: Mô hình sơ đồ đấu nối dây

Nguồn PIN 9V sẽ được cấp cho module qua chân Vin và GND.

13
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Chương 4 :THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM

Chương này sẽ đưa ra các yêu cầu đặt ra cho phần mềm của sản phẩm, nêu lên các bước
thực hiện từ thu thập dữ liệu, xây dựng chương trình học máy và các vấn đề liên quan.

Yêu cầu đặt ra cho phần mềm

Phần mềm của đồ án này được chi ra làm 2 phần chính, thứ nhất là gửi dữ liệu lên
thingspeak thông qua nodeMCU, tải dữ liệu về máy và thứ 2 là marchine learning xử lý dữ liệu
sau khi tải về máy.

4.1 Gửi dữ liệu lên thingspeak và tải xuống:


Yêu cầu đăt ra khi gửi dữ liệu lên thingspeak đó là dữ liệu phải đồng bộ theo từng thời
gian giữa các giá trị với nhau, dữ liệu phải chính xác với dữ liệu thu được ở trên phần mềm,
thời gian giữa 2 lần thu giữ liệu phải như nhau.

Để có thể tải dữ liệu lên thingspeak, việc đầu tiên chúng ta cần làm đó là tạo tài khoản
thingspeak va tạo một channel

- Bước 1: Tạo tài khoản thingspeak

Chúng ta cần truy cập vào website: https://thingspeak.com/, sau đó chọn sign up để tạo tài
khoản.

Hình 4.1 : Giao diện của website Thingspeak

- Bước 2: Tạo channel Thingspeak

14
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Chọn vào thẻ channel, chọn new channel để tạo kênh mới. Bạn nhập tên kênh vào ô
Name, nhập mô tả vào ô Description, các ô Field 1, 2, 3,...8 chính là các trường dữ liệu mà
sẽ gửi từ ESP8266 Device lên Server này, chọn dấu tích bên phải để cho phép trường đó
hoạt động. Sau đó chọn Save Channel để lưu lại. Các mục và cấu trúc của phần channel
giống như trong hình 4.2.

Hình 4.2 : Cài đặt một channel trên Thingspeak

- Bước 3: Lấy channel ID, Write API Keys và Read API Keys:

Vào thẻ API Keys, sẽ thấy các thông tin Channel ID, Write API Key, Read API Keys,
đây chính là các thông tin quan trọng cho Data, các ID và Keys này sẽ giúp ThingSpeak
cho phép thiết bị gửi dữ liệu lên đây. Write API Key và Read API Keys sẽ có dạng giống
như trong hình 4.3

15
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Hình 4.3 : Write API Keys và Real API Keys của một channel Thingspeak

- Các thông số đặt ra khi sử dụng Thingspeak:

+ Số Field sử dụng: 6 Field. Cần tải lên Thingspeak 6 cột data gồm AcX, AcY, AcZ là các
thông số giúp chúng ta phân tích gia tốc của người đang được quan sát, và 3 cột còn lại là GyX,
GyY, GyZ lần lượt là trục X, trục Y, trục Z của người đang nghiên cứu.

+ Thời gian lấy mẫu giữa các lần liên tiếp là 15s: Như vậy là cứ 15s một lần dữ liệu sẽ được
gửi lên Thingspeak, và trong một ngày chúng ta sẽ nhận được rất nhiều dữ liệu đủ để phân tích
các hoạt động diễn ra của người đang được nghiên cứu

- Phân tích:

Đầu tiên để có dữ liệu gửi lên Thingspeak, chúng ta cần phải đọc được dữ liệu từ cảm biến.
Ở đồ án này em viết code bằng Arduino trên nền tảng Arduino IDE để đọc dữ liệu từ cảm biến
và gửi dữ liệu lên Thingspeak. Chọn Arduino bởi vì nó có sẵn các thư viện của cảm biến MPU
6050, nodeMCU và Thingspeak, điều này làm cho công việc của chúng ta trở nên đơn giản hơn

Chương trình Arduino sẽ gồm 2 phần: Phần thứ nhất là đọc dữ liệu từ cảm biến về và hiển
thị lên Arduino IDE. Ở đâu chúng ta đọc các thông số như gia tốc, các trục và nhiệt độ ( data
nhiệt độ sẽ được dùng trong phần mở rộng), và phần thứ hai là gửi dữ liệu lên Thingspeak, bởi
vì có sẵn thư viện nên việc đọc dữ liệu cũng như gửi dữ liệu sẽ được thực hiện bởi các lệnh của
Arduino như Wire.read() hay ThingSpeak.setField().

16
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Sau khi đã gửi được dữ liệu lên Thingspeak thì chúng ta cần phải lấy được dữ liệu về máy
để xử lý cũng như chạy marchine learning. Và ThingSpeak đã có sẵn chức năng cho phép
export dữ liệu được gửi lên về máy dưới dạng các file xlsx, việc chúng ta cần làm là chọn vào
mục Data Import/Export và ấn vào phần download.

Hình 4.4 : Mục Data Import/Export của Thingspeak

Và sau đó dữ liệu sẽ được tải về máy tính gồm các field đã tạo trên Thingspeak, thời gian
dữ liệu được tải lên và thứ tự. Cấu trúc của dữ liệu sau khi tải về sẽ có dạng:

Hình 4.5 : Dữ liệu được tải về từ Thingspeak

4.2 Lấy dữ liệu về từ thingspeak, sử dụng python để dự đoán hành động


Khái niệm về machine learning

Machine learning (ML) hay máy học là một nhánh của trí tuệ nhân tạo (AI), nó là một lĩnh
vực nghiên cứu cho phép máy tính có khả năng cải thiện chính bản thân chúng dựa trên dữ liệu

17
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

mẫu (training data) hoặc dựa vào kinh nghiệm (những gì đã được học). Machine learning có
thể tự dự đoán hoặc đưa ra quyết định mà không cần được lập trình cụ thể.

Bài toán machine learning thường được chia làm hai loại là dự đoán (prediction) và phân
loại (classification). Các bài toán dự đoán như dự đoán giá nhà, giá xe… Các bài toán phân
loại như nhận diện chữ viết tay, nhận diện đồ vật…

Quy trình làm việc của machine learning gồm có 5 bước:

+ Data collection – thu thập dữ liệu: để máy tính có thể học được bạn cần có một bộ dữ liệu
(dataset), bạn có thể tự thu thập chúng hoặc lấy các bộ dữ liệu đã được công bố trước đó. Lưu
ý là bạn phải thu thập từ nguồn chính thống, có như vậy dữ liệu mới chính xác và máy có thể
học một cách đúng đắng và đạt hiệu quả cao hơn.

+ Preprocessing – tiền xử lý: bước này dùng để chuẩn hóa dữ liệu, loại bỏ các thuộc tính không
cần thiết, gán nhãn dữ liệu, mã hóa một số đặc trưng, trích xuất đặc trưng, rút gọn dữ liệu nhưng
vẫn đảm bảo kết quả… Bước này tốn thời gian nhất tỉ lệ thuận với số lượng dữ liệu bạn có.
Bước 1 và 2 thường chiếm hơn 70% tổng thời gian thực hiện.

+ Training model – huấn luyện mô hình: bước này là bước bạn huấn luyện cho mô hình hay
chính là cho nó học trên dữ liệu bạn đã thu thập và xử lý ở hai bước đầu.

+ Evaluating model – đánh giá mô hình: sau khi đã huấn luyện mô hình xong, chúng ta cần
dùng các độ đo để đánh giá mô hình, tùy vào từng độ đo khác nhau mà mô hình cũng được
đánh giá tốt hay không khác nhau. Độ chính xác của mô hình đạt trên 80% được cho là tốt.

+ Improve – cải thiện: sau khi đã đánh giá mô hình, các mô hình đạt độ chính xác không tốt thì
cần được train lại, chúng ta sẽ lặp lại từ bước 3, cho đến khi đạt độ chính xác như kỳ vọng.
Tổng thời gian của 3 bước cuối rơi vào khoảng 30% tổng thời gian thực hiện.

- Phân loại

Có rất nhiều cách phân loại machine learning, thông thường thì machine learning sẽ được
phân làm hai loại chính sau:

+ Supervised learning: học có giám sát

+ Unsupervised learning: học không giám sát

+ Ngoài ra, machine learning còn có thể phân làm các loại sau:

18
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

+ Semi-supervised learning: học bán giám sát

+ Deep learning: học sâu (về một vấn đề nào đó)

+ Reinforce learning: học củng cố/tăng cường

Ở đây nhóm thực hiện theo mô hình học có giám sát, dữ liệu đưa vào sẽ có dán nhãn tương
ứng.

- Chuẩn bị cho machine learning

Sử dụng phần mềm pycharm được code bằng ngôn ngữ python để thực hiện bước machine
learning. Giao diện pycharm khá đẹp, màu sắc của các kí tự được phân biệt để chúng ta dễ dàng
nhận biết được các kiểu lệnh trong pycharm. Khi có lỗi sai về chính tả, cấu trúc,.. thì pycharm
cũng sẽ báo cho mình biết để sửa lỗi dễ dàng hơn. Mở đầu thì pycharm sẽ có giao diện và cách
sắp xếp các thư mục như sau:

Hình 4.6: Giao diện PyCharm

Về thư viện sử dụng, chúng ta sử dụng thư viện có sẵn sklearn.tree thư viện này cho chúng
ta đưa vào các thông số, lựa chọn những thông số đặc trưng và thông số kết quả để nhận biết
được. Thư viện còn cung cấp các lệnh để thực hiện mô hình cây quyết định từ đó đưa ra kết
quả dự đoán. Ngoài ra ta cần những thư viện hỗ trợ matplotlib.pyplot (vẽ đồ thị), csv (để đọc
file csv), pandas (hỗ trợ tính toán vector và ma trận). Tiến hành import các thư viện cần thiết.

19
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Hình 4.7: Import các thư viện

File để cho quá trình huấn luyện được lấy dữ liệu và ghi trước hành động. File được lưu
với tên shows.csv chứa trong thư mục chung với file main.py. Trong file này chứa thông số 3
trục và hành động tương ứng. Nhóm thực hiện lấy khoảng 300 mẫu cho 5 hành động, mỗi hành
động từ 60 – 70 mẫu. Các mẫu sẽ được thực hiện gán hành động tương ứng, các hành động
gồm có đứng – DUNG , nằm – NAM , ngồi – NGOI , đi bộ - DI BO, chạy bộ - CHAY BO.
Các hành động được gán không dấu để thuận tiện cho python đọc dữ liệu, sau khi vào python
các hành động sẽ được thay đổi tương ứng theo thứ tự 0, 1, 2, 3, 4, 5, 6. Vì thư viện Sklearn.tree
chỉ tương tác được với những con số.

Hình 4.8: File huấn luyện

20
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Hình 4.9: Data huấn luyện

Cuối cùng là file test.csv được lấy về từ thingspeak phục vụ cho quá trình kiểm tra kết quả
và dự đoán về sau. File này cũng được lưu chung thư mục với file main.py. Dữ liệu của file
này gồm có 6 thông số trên 3 trục không có thông số hành động. Qua học máy sẽ cho ra hành
động đang thực hiện.

Hình 4.10: Data dự đoán hành động

21
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Sau khi đã chuẩn bị cho quá trình học máy xong chúng ta sẽ tiền hành theo mô hình cây
quyết định.

Khái niệm cây quyết định:

Cây quyết định (Decision Tree) là một cây phân cấp có cấu trúc được dùng để phân lớp các
đối tượng dựa vào dãy các luật. Các thuộc tính của đối tượngncó thể thuộc các kiểu dữ liệu
khác nhau như Nhị phân (Binary) , Định danh (Nominal), Thứ tự (Ordinal), Số lượng
(Quantitative) trong khi đó thuộc tính phân lớp phải có kiểu dữ liệu là Binary hoặc Ordinal.

Tóm lại, cho dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp (classes) của nó,
cây quyết định sẽ sinh ra các luật để dự đoán lớp của các dữ liệu chưa biết.

Ta hãy xét một ví dụ 1 kinh điển khác về cây quyết định. Giả sử dựa theo thời tiết mà các
bạn nam sẽ quyết định đi đá bóng hay không?

Những đặc điểm ban đầu là: Thời tiết, Độ ẩm, Gió

Dựa vào những thông tin trên, bạn có thể xây dựng được mô hình như sau:

Hình 4.11: Cây quyết định

22
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Cây quyết định sẽ thực hiện thuật toán tìm kiếm từ trên xuống. Đầu tiên yếu tố quan trọng
nhất là thời tiết, ở đây sẽ có ba kiểu thời tiết được xét đến là nắng, râm mát và mưa. Nếu trời
nằng thì sẽ xem có độ ẩm như thế nào, độ ẩm cao thì không đi đá bóng còn độ ẩm bình thường
thi sẽ đi. Nếu như thời tiết râm mát thì sẽ đi đá bóng và đây là thời tiết hoàn hảo. Cuối cùng là
nếu có mưa thì sẽ xét xem là có gió mạnh hay không, nếu như có gió mạnh thì sẽ không đi.

Tương tự ở bài toán của chúng ta dữ liệu đưa vào sẽ có 6 thông số. Từ 6 thông số đó sẽ
timd ra điểm chung và thư viện sẽ tự tìm những đặc trưng để dự đoán.

Ưu, nhược điểm của thuật toán cây quyết định:

- Ưu điểm:

+ Cây quyết định là một thuật toán đơn giản và phổ biến. Thuật toán này được sử dụng rộng
rãi bới những lợi ích của nó:

+ Mô hình sinh ra các quy tắc dễ hiểu cho người đọc, tạo ra bộ luật với mỗi nhánh lá là một
luật của cây.

+ Dữ liệu đầu vào có thể là là dữ liệu missing, không cần chuẩn hóa hoặc tạo biến giả

+ Có thể làm việc với cả dữ liệu số và dữ liệu phân loại

+ Có thể xác thực mô hình bằng cách sử dụng các kiểm tra thống kê

+ Có khả năng là việc với dữ liệu lớn

- Nhược điểm

+ Kèm với đó, cây quyết định cũng có những nhược điểm cụ thể:

+ Mô hình cây quyết định phụ thuộc rất lớn vào dữ liệu của bạn. Thậm chí, với một sự thay đổi
nhỏ trong bộ dữ liệu, cấu trúc mô hình cây quyết định có thể thay đổi hoàn toàn.

+ Cây quyết định hay gặp vấn đề overfitting

Cuối cùng là thực hiện lập trình để dự đoán hành động

23
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Chương 5 KẾT QUẢ THỰC HIỆN

Sau khi hoàn thành các bước thiết kế phần cứng, phần mềm thì chúng ta sẽ tiến hành thu
thập dữ liệu và xử lý dữ liệu đó bằng marchine learning. Các cột dữ liệu chúng ta gửi lên
Thingspeak sẽ là dữ liệu liên quan đến các hành động: Đứng, nằm, ngồi, đi bộ, chạy bộ. Cảm
biến sẽ được gắn vào cổ chân phải và thu thập dữ liệu.

Hình 5.1 : Vị trí đặt cảm biến trên cơ thể

Và để phân biệt được các hành động thì chúng ta cần phải nêu lên đặc trung cơ bản của
các hành động để máy có thể phân biệt được, từ đó đưa ra dự đoán chính xác nhất:

+ Đứng: Đứng thằng người, hai chân chạm đất, không di chuyển

24
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Hình 5.2 : Tư thế đứng

+ Ngồi: Ngồi thẳng lưng, hai chân đan vào nhau, giống như tư thế ngồi thiền.

25
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Hình 5.3 : Tư thế ngồi

+ Nằm: Nằm ngửa, chân duỗi thẳng , hai chân đặt sát nhau theo chiều dài cơ thể, bàn
chân vuông góc với bền mặt đang nằm.

Hình 5.4: Tư thế nằm

+ Đi bộ: Tốc độ không quá 5km/h, trong một thời điểm phải có ít nhất một chân chạm
đất, tốc tốc độ ổn định

26
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Hình 5.5 : Tư thế đi bộ

+ Chạy bộ: Người thẳng, di chuyển nhanh đến vi trí khác, hai chân không cham đất khi
chạy tại một thời điểm.

Hình 5.6: Tư thế chạy bộ

27
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Hình 5.7 : Hình ảnh thực tế của thiết bị

- Gửi dữ liệu lên Thingspeak:

Kết quả thu được sau khi tiến hành thí nghiêm là chính xác, chúng ta có thể kiểm tra
bằng cách so sánh dữ liệu đọc được ở trong phần mềm Arduino IDE với dữ liệu được gửi
lên Thingspeak.

Các dữ liệu gửi lên được sắp xếp theo đúng các Field ban đầu, các Field được cập
nhật đồng bộ với nhau, cho ra các đồ thị biểu diễn sự thay đổi của các dữ liệu được tải lên
Thingspeak.

28
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Hình 5.8 : Các Field thu được sau khi tải dữ liệu lên Thingspeak

Kết quả sau khi đã thực hiện xong bước machine learning

Python trả về một biểu đồ có dạng từng điểm tương ứng với các hành động.

Hình 5.9: Biểu đồ Python trả về

29
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Nhóm thực hiện thu thập mỗi hành động 200 bộ dữ liệu khác nhau tổng cộng gồm có
1000 bộ test để kiểm tra kết quả hoạt động. Kết quả được cho trong bảng sau

Bảng 5.1: Ma trận nhầm lẫn các hoạt động

Nằm Ngồi Đứng Đi bộ Chạy bộ


Nằm 195 4 1 0 0
Ngồi 3 196 1 0 0
Đứng 2 4 194 0 0
Đi bộ 0 0 0 191 9
Chạy bộ 0 0 0 7 193

30
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1 Kết luận

Nhận dạng hoạt động người là một chủ đề nghiên cứu quan trọng trong nhiều lĩnh vực
như tính toán nhận biết ngữ cảnh, tính toán khắp nơi, tương tác người-máy, tính toán di động.
Đồ án này đã nghiên cứu một hướng tiếp cận về chủ đề này, đó là nhận dạng hoạt động sử dụng
cảm biến mang trên người. Đồ án tập trung làm rõ 2 nhiệm vụ chính đó chính là tải được dữ
liệu lên Thingspeak và phân tích dữ liệu đó bằng marchine learning.

Trong tương lai, chúng ta có thể nghiên cứu bổ sung thêm các tính năng mới cho sản
phẩm nhằm mở rộng mục đích hoạt động của nó trong các kĩnh vực như: giám sát, y tế, quân
sự… Ngoài ra, có thể thay đổi thuật toán hoặc phần cứng để cho sản phẩm có thể hoạt động
một cách lâu dài và chính xác hơn.

6.2 Hướng phát triển của đề tài

Đây là một đề tài có thể ứng dụng rất nhiều trong giám sát, y tế, quân sự, ... đặc biệt là trong
y tế, mô hình giúp các bác sĩ của mình theo dõi các bệnh nhân, cha mẹ theo dõi sức khỏe con
cái, chúng ta tự theo dõi sức khỏe của mình ...

Hướng phát triển trong tương lai, sẽ thực hiện viết trang wed theo dõi tình hình sức khỏe
cá nhân, từ trang wed có thể nhìn thấy được đồ thị hoạt động của một người trong thời gian
thực. Đưa ra các nhận định về sức khỏe và lời khuyên hoạt động cho đúng với tiêu chuẩn của
người bình thường. Sử dụng thêm chức năng nhiệt độ của module MPU6050, có thể sử dụng
các module hiện đại hơn có thêm các chỉ số đo tim mạch, huyết áp ... phục vụ cho y tế.

31
Đồ án môn học : Cảm biến gia tốc phát hiện hành động GVHD: TS.Hà Hoàng Kha

PHỤ LỤC

[1] File code: https://drive.google.com/drive/folders/1_jpvPK705Go13Ejs4Cfqd-


nnFB8cbiN7?fbclid=IwAR1RoqO0J6As2ZKaDA8TVchC6sSgpU6lEfzc5DnZ4WC_m-
UTNt9AHV0_MI4

[2] File ghi hình kết quả thực hiện:


https://drive.google.com/drive/folders/1qPO25DPzecIUmSK1mIddXxOC0E0Xi5J_?fbclid=I
wAR1RoqO0J6As2ZKaDA8TVchC6sSgpU6lEfzc5DnZ4WC_m-UTNt9AHV0_MI4

TÀI LIỆU THAM KHẢO

[1] Tessai Hayama, “Walking-posture Classification from Single-acceleration-sensor


Data using Deep Learning”, 2020. https://www.computer.org/csdl/proceedings-
article/iiai-aai/2020/739700a400/1tGcwuyr6CI
[2] Akram Bayat, “A Study on Human Activity Recognition Using Accelerometer Data
from Smartphones”, 2014.
https://www.sciencedirect.com/science/article/pii/S1877050914008643
[3] W3Schools Shop. https://www.w3schools.com/
[4] Giới thiệu về machine learning.
https://machinelearningcoban.com/2016/12/26/introduce/
[5] Mô hình cây quyết định. https://trituenhantao.io/kien-thuc/decision-tree/

32

You might also like