Tải bản đầy đủ (.doc) (50 trang)

Đồ án tốt nghiệp PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG PHÁT HIỆN NGÃ TRÊN NỀN TẢNG THIẾT BỊ DI ĐỘNG ANDROID

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.06 MB, 50 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
───────

ĐỒ ÁN

TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN

PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG PHÁT
HIỆN NGÃ TRÊN NỀN TẢNG THIẾT BỊ DI
ĐỘNG ANDROID

Sinh viên thực hiện : Nguyễn Thành Lợi
Lớp CNTT 1.01 – K57
Giáo viên hướng dẫn: TS. Trần Hải Anh

HÀ NỘI 05-2016
Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

1


PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN
1. Thông tin về sinh viên:
Họ và tên sinh viên: Nguyễn Thành Lợi
Điện thoại liên lạc: 0978293058
Email:
Lớp: CNTT 1.01 K57
Hệ đào tạo: chính quy
Đồ án tốt nghiệp thực hiện tại: Phòng LAB 901-B1


Thời gian làm đồ án:
2. Mục đích nội dung của đồ án:
Phát triển ứng dụng phát hiện ngã dựa trên nền tảng thiết bị di động Android
3. Các nhiệm vụ cụ thể của đồ án:
• Tìm hiểu công nghệ OM2M, và gửi nhận dữ liệu lên Server.
• Xây dựng, phát triển giao diện chức năng hệ thống phát hiện ngã.
• Xây dựng, thiết kế website hiển thị dữ liệu người dùng.
• Tiến hành lấy mẫu thử trên 100 bạn sinh viên để cải thiện độ chính xác cho
mạng Nơ-ron học.
4. Lời cam đoan của sinh viên:
Tôi – Nguyễn Thành Lợi – cam kết đồ án tốt nghiệp là công trình nghiên cứu của bản
thân tôi dưới sự hướng dẫn của TS. Trần Hải Anh.
Các kết quả nêu trong đồ án tốt nghiệp là trung thực, không phải sao chép toàn văn của
bất kì công trình nào khác.
Hà Nội, ngày 29 tháng 05 năm 2016
Tác giả DATN
Nguyễn Thành Lợi
5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của DATN và cho phép
bảo vệ:

Hà Nội, ngày 29 tháng 05 năm 2016
Giáo viên hướng dẫn
TS. Trần Hải Anh

Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

2


LỜI CẢM ƠN

Để có được thuận lợi hoàn thành được đồ án tốt nghiệp này, trước tiên em xin chân
thành cảm ơn thầy TS. Trần Hải Anh và cô PGS.TS Ngô Quỳnh Thu, Bộ môn Truyền
thông và mạng máy tính – Viện Công nghệ thông tin truyền thông – Đại học Bách Khoa
Hà Nội đã hướng dẫn tận tình và giúp đỡ em trong thời gian qua.
Em cũng xin được bày tỏ lòng cám ơn chân thành tới tập thể thầy cô giáo trường
Đại học Bách Khoa Hà Nội, những người đã truyền thụ kiến thức quý báu về công nghệ
cũng như kinh nghiệm sống, giúp em học tập và công tác tốt sau này.
Cuối cùng xin được gửi lời cám ơn đến gia đình, bạn bè, đặc biệt là các bạn trong
nhóm đồ án và các bạn trong Lab 901 B1 đã động viên, đóng góp ý kiến, giúp đỡ trong quá
trình hoàn thành đồ án tốt nghiệp này.
Hà Nội, ngày 29 tháng 05 năm 2016
Sinh viên
Nguyễn Thành Lợi

Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

3


TÓM TẮT NỘI DUNG ĐỒ ÁN

Đồ án của em là “Phát triển ứng dụng phát hiện ngã trên nền tảng thiết bị di
động Android.
Đồ án sẽ sử dụng cảm biến gia tốc sẵn có trên smartphone để đo các chấn
động mạnh của người dùng, từ đó phân tích các độ lớn gia tốc thu được để đưa ra
kết luận có xảy ra vấp ngã hay không, sau đó đưa ra cảnh báo, và gửi tin nhắn giúp
đỡ đến người chăm sóc hoặc bác sĩ theo dõi. Các thông tin dữ liệu của người dùng
sẽ được đưa lên Server để lưu trữ và phục vụ những mục đích khác.
Với nhiệm vụ là phát triển hệ thống trên hệ điều hành Android, đồ án này em
xin trình bày những nội dung sau:

Chương 1: Đặt vấn đề và định hướng giải pháp
Chương 2: Phân tích thiết kế và xây dựng hệ thống
Chương 3: Triển khai hệ thống và đánh giá kết quả

Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

4


MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN.............................................................................2
LỜI CẢM ƠN...............................................................................................................3
TÓM TẮT NỘI DUNG ĐỒ ÁN..................................................................................4
MỤC LỤC....................................................................................................................5
DANH MỤC HÌNH ẢNH............................................................................................6
DANH MỤC BẢNG BIỂU..........................................................................................7
DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT.......................................................8
CHƯƠNG 1 : ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP...............................9
1.1.Đặt vấn đề...........................................................................................................9
1.2.Hướng giải quyết vấn đề của đồ án....................................................................9
1.4.Cơ sở lý thuyết.................................................................................................11
1.4.1.Internet of Things......................................................................................11
1.4.2.OM2M.......................................................................................................11
1.4.3.REST API..................................................................................................15
1.4.4.AngularJS Framework...............................................................................18
1.4.5.Mạng Nơ-ron nhân tạo..............................................................................19
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG..................24
2.1. Phân tích và thiết hế hệ thống.........................................................................24
2.1.1. Các yêu cầu thiết kế..................................................................................24
2.1.2. Phỏng vấn người dùng cuối.....................................................................25

2.1.3. Phát hiện ngã cơ bản................................................................................27
2.2. Xây dựng hệ thống tự động phát hiện ngã......................................................28
2.2.1. Quá trình cảm biến...................................................................................28
2.2.2. Phát hiện ngã thật và lọc sự kiện gần giống ngã......................................29
2.2.3. Hoạt động của ứng dụng trên điện thoại thông minh..............................34
2.3. Website hiển thị thông tin người dùng được gửi lên......................................36
CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG VÀ ĐÁNH GIÁ KẾT QUẢ..................37
3.1. Môi trường phát triển......................................................................................37
3.1.1. Android Studio.........................................................................................37
3.1.2. OM2M Platform.......................................................................................38
3.2. Triển khai hệ thống và kết quả thu được........................................................42
3.2.1. Huấn luyện mạng Nơ-ron.........................................................................42
3.2.2. Gửi dữ liệu thông tin người dùng lên server............................................43
3.2.3. Kết quả thu được......................................................................................44
3.4. Đánh giá kết quả..............................................................................................46
3.4.1. Ưu điểm....................................................................................................46
3.4.2. Nhược điểm..............................................................................................46
3.4.3. Khả năng ứng dụng vào thực tế...............................................................46
3.4.4. Kết luận và định hướng phát triển............................................................47
TÀI LIỆU THAM KHẢO..........................................................................................49

Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

5


DANH MỤC HÌNH ẢNH
Hình 1: Mô hình hoạt động của M2M.......................................................................12
Hình 2: Kiến trúc chức năng ETST M2M.................................................................14
Hình 3: Mô hình Nơ-ron.............................................................................................20

Hình 4: Mô hình mạng MLP......................................................................................22
Hình 5: Quá trình cảm biến với hữu hạn trạng thái máy...........................................28
Hình 6: Hệ thống phân loại........................................................................................29
Hình 7: Ngồi hoặc nằm trên bề mặt đàn hồi..............................................................30
Hình 8: Nhảy..............................................................................................................30
Hình 9: Đi bộ..............................................................................................................31
Hình 10: Kiến trúc mạng Nơ-ron...............................................................................34
Hình 11: Hoạt động của hệ thống phát hiện ngã........................................................35
Hình 12: Website hiển thị thông tin người dùng.......................................................36
Hình 13: Cấu trúc một Project Android Studio.........................................................38
Hình 14: Giao diện web IN-CSE "xác thực".............................................................40
Hình 15: Giao diện web IN-CSE "in-cse cseBase resource......................................41
Hình 16: Giao diện web IN-CSE "remote mn-cse resource......................................42
Hình 17: Chương trình học của mạng Nơ-ron...........................................................42
Hình 18: Giao diện nhập thông tin người dùng.........................................................44
Hình 19: Giao diện chính và giao diện cải thiện hệ thống........................................45
Hình 20: Nội dung tin nhắn gửi đến người chăm sóc................................................45
Hình 21: Dữ liệu về thông tin người dùng hiển thị trên Website..............................46

Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

6


DANH MỤC BẢNG BIỂU
Bảng 1: Các hàm truyền phổ biến..............................................................................21
Bảng 2: Phỏng vấn người dùng cuối..........................................................................26
Bảng 3: Chỉnh sửa file "configuration/config.ini" để cấu hình IN-CSE...................39
Bảng 4: Chỉnh sửa file "configuration/config.ini" để cấu hình MN-CSE.................40


Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

7


DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT
Kí hiệu
RFID
NFC
ETSI

Thuật ngữ
Radio Frequency Identification Equipment
Near Field Communications
European Telecommunications Standards Institute

OGSi

Open Services Gateway initiative

Dịch nghĩa
Thiết bị nhận dạng vô tuyến
Công nghệ giao tiếp tầm ngắn
Viện tiêu chuẩn viễn thông châu
âu
Sáng kiến dịch vụ cổng mở

Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

8



CHƯƠNG 1 : ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP
1.1.

Đặt vấn đề
Cùng với sự phát triển chung của thế giới, dân số loài người đang già đi
nhanh chóng. Tỉ lệ người cao tuổi ngày càng tăng đã tác động tới toàn bộ khía cạnh
của đời sống xã hội trên toàn thế giới cũng như từng quốc gia. Theo thống kê hiện
nay trên thế giới có hơn 7 tỉ người và 1/9 trong số này từ 60 tuổi trở lên.Theo dự
báo, đến năm 2050 dân số thế giới đạt 9,2 tỉ người và tỉ lệ người từ 60 tuổi trở lên sẽ
là 1/5, có nghĩa là cứ 5 người thì có một người cao tuổi.
Tại Việt Nam, theo thống kê, tính đến thời điểm 1/4/2011 tỉ lệ người từ 60
tuổi trở lên là 10,1 %, người từ 65 tuổi trở lên là 7,2 %.
Dân số già, đồng nghĩa với việc chi phí chăm sóc y tế và phúc lợi xã hội cho
người già tăng lên, ảnh hưởng đến đầu tư cho phát triển. Về mặt xã hội, trong một
xã hội dân số già, các vấn đề sẽ phát sinh như quan hệ giữa các thế hệ, sự chăm sóc
cho người già của từng gia đình và xã hội… sẽ là những vấn đề quốc gia cần quan
tâm.
Hiện nay, ngã đang là một trong những nguyên nhân chính gây ra chấn
thương, ảnh hưởng trực tiếp đến sức khỏe về thể chất và tâm lí ở người già. Chấn
thương liên quan đến việc vấp ngã bao gồm: tổn hại về thể chất như trầy xước da,
gãy xương, tổn thương mô. Việc vấp ngã cũng có thể gây ra những hệ quả tâm lý
nghiêm trọng, vì nó làm giảm đáng kể sự tự tin và hoạt động độc lập của người bị
vấp ngã. Điều này có thể góp phần gây ra các cú vấp ngã trong tương lai với hậu
quả nghiêm trọng hơn hoặc nó có thể dẫn đến sự suy giảm sức khỏe đáng báo động.
Hậu quả thường gặp khác bao gồm: phải sớm điều dưỡng tại nhà và luôn trong tình
trạng sợ ngã, làm giảm chất lượng cuộc sống hàng ngày. Các hậu quả của vấp ngã
cũng phụ thuộc vào khoảng thời gian nằm trên giường bệnh, tức là khoảng thời gian
mà người đó không tự đi lại sau khi vấp ngã. Do đó, việc hỗ trợ kịp thời cho người

bị thương ngay khi vấp ngã xảy ra là rất quan trọng.
1.2. Hướng giải quyết vấn đề của đồ án
Giải pháp đơn giản nhất cho vấn đề phát hiện vấp ngã bao gồm cung cấp cho
người dùng một hệ thống Ứng Cứu Khẩn Cấp Cá Nhân, một thiết bị nhỏ, trọng
lượng nhẹ và chạy bằng pin với một nút "giúp đỡ" mà có thể gắn trên thắt lưng, bỏ
túi, hay gắn trên vòng cổ hoặc vòng tay.
Loại thiết bị này cũng có thể gắn vào máy phát vô tuyến có thể kết nối với
điện thoại nhà riêng của người dùng và có thể quay số đã chọn trước trong trường
hợp khẩn cấp. Nhiều hệ thống trong số này đã được áp dụng thành công tại nhiều
quốc gia mà gần như không cần cấu hình. Tuy nhiên, các hệ thống này đều tồn tại
một vấn đề lớn đó là người dùng phải nhấn nút “Giúp đỡ”. Tuy nhiên, khi một
người bị ngã thì thường họ không thể làm được gì, thậm chí đơn giản như việc nhấn
Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

9


nút “Giúp đỡ”, do mất ý thức hoặc vị trí ngã có thể cản trở họ trong việc ấn nút.
Do đó, trong vài năm qua, nghiên cứu về hệ thống để tự động phát hiện ngã
đã được manh nha và có động lực phát triển do số lượng người cao tuổi ngày càng
tăng, chiếm một phần lớn trong dân số thế giới. Các kỹ thuật để tự động phát hiện
ngã có thể được chia thành hai loại cơ bản. Loại thứ nhất bao gồm các phương pháp
tiếp cận dựa trên việc lắp các thiết bị xung quanh môi trường sống, ví dụ như trang
bị camera có thể theo dõi các chuyển động của con người trong phòng hoặc cài đặt
cảm biến áp suất ở các khu vực nhất định (ví dụ trong vùng xung quanh giường).
Nhóm thứ hai bao gồm các kỹ thuật dựa trên cảm biến có thể mang theo được, gia
tốc kế hoặc con quay hồi chuyển được sử dụng để thu thập thông tin động học về
người được giám sát và sau đó phát hiện vấp ngã. Ưu điểm của việc sử dụng cảm
biến có thể mang theo là hầu như không cần cài đặt hoặc thiết lập và hệ thống luôn
sẵn sàng để sử dụng.

Hơn nữa, phạm vi hoạt động không giới hạn theo không gian được lắp thiết
bị vì người dùng có thể mang theo hệ thống này bất cứ nơi đâu. Điều này sẽ giúp
mở rộng phạm vi số lượng người dùng và các tình huống cần giúp đỡ, gồm tất cả
các hoạt động mà người dùng phải ở một mình trong thời gian dài và có nguy cơ
vấp ngã cao. Tuy nhiên, người dùng được yêu cầu phải đeo ít nhất một thiết bị và
điều này có thể gây ra một số lo ngại về tính khả dụng và việc thu thập thông tin
không chọn lọc. Trong tình huống khác, hệ thống tự động phát hiện té ngã có thể
được tích hợp trong hệ thống giám sát dành riêng cho các bệnh lý cụ thể.
Nhiều hệ thống tự động phát hiện vấp ngã gặp phải vấn đề cảnh báo sai, gây
ra bởi một số hoạt động trong sinh hoạt hàng ngày có vẻ giống với vấp ngã, chẳng
hạn như ngồi trên một chiếc ghế sofa hay nằm trên một chiếc giường. Vì lý do này,
trong cách tiếp cận đồ án đối với việc phát hiện vấp ngã, em dành sự quan tâm đặc
biệt đến việc nghiên cứu các tín hiệu gia tốc gây ra bởi các hoạt động hàng ngày,
giống với hành động vấp ngã để thiết kế các kỹ thuật lọc mới. Trong đồ án này, em
trình bày các lý do thiết kế và việc ứng dụng hệ thống phát hiện vấp ngã dựa trên
cảm biến. Hệ thống hoạt động dựa trên điện thoại thông minh bán trên thị trường và
có khả năng tự động gửi một thông báo đến những người chăm sóc trong trường
hợp người dùng vấp ngã và gặp nguy hiểm. Việc thu thập dữ liệu động học có thể
được thực hiện bằng cách dùng gia tốc kế có sẵn trên nhiều điện thoại thông minh
hoặc sử dụng một thiết bị cảm biến bên ngoài. Tính khả dụng của hệ thống đã được
công nhận trong nhiều cuộc thử nghiệm với một số người cao tuổi.
1.3. Các nghiên cứu tương tự
Hiện nay trên thế giới cũng có nhiều đề tài nghiên cứu về hệ thống phát hiện
ngã, trong đó có ba nghiên cứu tương tự nổi bật:
• A smartphone-based fall detection system
• Evaluation of a threshold-based tri-axial accelerometer fall detection algorithm.
Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

10



• Accurate, fast fall detection using gyroscopes and accelerometer-derived
posture information.
1.4. Cơ sở lý thuyết
1.4.1. Internet of Things
Internet of Things (IoT) - Internet của vạn vật: là thuật ngữ dùng để chỉ các
đối tượng có thể được nhận biết cũng như chỉ sự tồn tại của chúng trong một kiến
trúc mang tính kết nối. Cụm từ này chỉ được đưa ra bởi Kevin Ashton vào năm
1999. Ông là một nhà khoa học đã sáng lập ra Trung tâm Auto-ID ở đại học MIT,
nơi thiết lập các quy chuẩn toàn cầu cho RFID (một số phương thức giao tiếp không
dây dùng sóng radio) cũng như một số loại cảm biến khác. IoT sau đó cũng được
dùng nhiều trong các ấn phẩm đến từ các hãng và nhà phân tích.
Xu hướng hiện nay và trong tương lai làmáy tính có khả năng giúp con người
thu thập tất cả những dữ liệu về mọi thứ xung quanh, chúng ta có thể theo dõi và
đếm mọi thứ, giúp giảm hao phí về chi phí, thời gian, công sức. Chúng ta sẽ biết
chính xác khi nào các vật dụng cần sửa chữa, thay thế, khi nào chúng còn mới và
khi nào thì chúng hết hạn sử dụng. Ngoài ra chúng ta có thể kiểm soát chúng mọi
lúc mọi nơi. Nhà thông minh có thể xem là bước đầu của IoT bởi chúng đều được
liên kết với nhau và có thể liên kết vào Internet.
Có thể hiểu, trong IoT các thiết bị từ nhỏ nhất đều có kết nối đến Internet và
con người chúng ta có thể điều khiển, giám sát và sử dụng chúng từ xa qua mạng
Internet mọi lúc, mọi nơi cho các mục đích khác nhau trong đời sống. Và mạng cảm
biến không dây là một ứng dụng trong số đó. Do đó vấn đề nhận biết và định dạng
các đối tượng trong IoT là một trong những điểm quan trọng. Việc định dạng có thể
thông qua đánh dấu, mỗi đối tượng được đánh dấu riêng biệt và chúng ta có thể dễ
dàng quản lý chúng thông qua máy tính. Hiện nay có nhiều công nghệ có thể đảm
nhận việc đánh dấu này chẳng hạn như RFID, NFC, mã vạch, mã QR, watermark kĩ
thuật số,... Việc kết nối có thể thực hiện qua Wi-Fi, GPRS, mạng viễn thông băng
rộng, Bluetooth, hồng ngoại,... và nếu nhìn từ web, chúng ta có thể sử dụng địa chỉ
IP để xác định từng đối tượng riêng biệt. Và sự xuất hiện của IPv6 với không gian

địa chỉ rộng lớn, việc liên kết mọi vật với nhau qua mạng Internet là hoàn toàn dễ
dàng.
1.4.2. OM2M
1.4.2.1. Giới thiệu
Machine-to-Machine (M2M) là một khái niệm trừu tượng được nói đến trong
IoT, được xem là hệ thống đường ống dẫn thông tin đi khắp mọi nơi. Hứa hẹn kết
nối hàng tỉ các thiết bị công nghệ trong tương lai gần bao gồm các lĩnh vực khác
nhau. Sensors, thẻ RFID/NFC, các thiết bị thông minh đều có thể được giao tiếp với
nhau. Số lượng kết nối M2M liên tục tăng với tốc độ chóng mặt, như vậy trong
tương lai gần sẽ cung cấp nhiều tiện ích và lợi thế cho các lĩnh vực khác nhau từ
Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

11


xây dựng, năng lượng, y tế, công nghiệp, giao thông, bán lẻ, bảo mật cho các dịch
vụ môi trường.
M2M trải qua nhiều phát triển và thay đổi lớn từ công nghệ đã hình thành
nên nền tảng M2M ngang hàng trên toàn cầu và được kế thừa đến hệ thống M2M
hiện nay. Việc phát triển này mở đường cho một tương tác thông suốt giữa các thiết
bị thông minh và thiết bị không đồng nhất khi triển khai M2M quy mô lớn. Tuy
nhiên các yếu tố như khả năng tương tác, hệ thống phân phối ngày càng phức tạp và
thiếu chuẩn hóa là thách thức đối với M2M.
Một tiêu chuẩn trong việc thách thức khả năng tương tác M2M đã được đưa
ra bởi Viện tiêu chuẩn viễn thông châu âu (ETSI) quy định các thông số kĩ thuật bao
gồm: yêu cầu dịch vụ, các chức năng, kiến trúc, giao diện truyền thông, và làm thế
nào để phối hợp chức năng hoạt động với tiêu chuẩn và công nghệ hiện có.
Như vậy trong ĐATN này đề xuất OM2M project một nền tảng của ETSIcompliant platform. OM2M sử dụng kiến trúc RESTful chạy ở lớp OGSi. Nó có thể
mở rộng thông qua bổ sung và hỗ trợ nhiều giao thức công nghệ. Một dịch vụ được
bổ sung dựa trên tính toán và ngữ nghĩa của thiết kế trong hệ thống, phát hiện động

năng và tự cấu hình cho M2M.
Trong mạng lưới M2M thì không có một tiêu chuẩn công nghệ kết nối cụ thể
nào, tất cả thiết bị có thể sử dụng bất cứ công nghệ kết nối nào mà nó có.
Giao tiếp: Các thiết bị M2M có thể kết nối với nhau qua các mạng cố định
như: Ethernet, HomePlug, HomePNA, HomeGrid / G.hn và LonWorks. Công nghệ
tầm ngắn như: RFID, NFC, Wi-Fi, Bluetooth, Xbee, Zigbee, Z-Wave, M-Bus; đối
với truyền dữ liệu tầm xa, hoặc diện rộng thì có: công nghệ vệ tinh, GSM, GPRS,
3G,LTE,…

Hình 1: Mô hình hoạt động của M2M

Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

12


Lưu trữ và phân tích: những gì IoT có chính là dữ liệu lớn, nguồn dữ liệu
được lưu trữ và phân tích thông qua M2M.
Khai thác và ứng dụng: Một trong những ví dụ điển hình là sản phẩm nhà
thông minh. Các thiết bị, ứng dụng đề được kết nối với một máy chủ nội bộ hoặc
gateway cho phép các nhà dịch vụ hoặc chủ nhà truy cập điều kiển và quản lý dữ
liệu. Chăm sóc sức khỏe bằng kỹ thuật số, theo dõi sức khỏe của người dùng liên
tục và đưa ra những cảnh báo khi cần thiết. Quản lý bãi đỗ xe tự động, việc quản lý
xe ra vào, tính phí ở bãi đỗ xe được tự động hóa. Nông nghiệp thông minh, với công
nghệ M2M cho phép người quản lý giám sát điều kiện phát triển của vật nuôi hay
cây trồng một cách chi tiết và tự động, từ đó có thể tác động, can thiệp để đạt được
năng suất cao (tự động hoặc đưa ra cảnh báo cho người quản lý).
1.4.2.2. Trình bày tổng quan về tiêu chuẩn ETSI M2M
Một thiết bị M2M chạy các ứng dụng bằng cách sử dụng SCL. Nó kết nối
trực tiếp đến các Netwwork Domain thông qua mạng truy cập có thể cung cấp dịch

vụ khác kết nối đến nó. Nó cũng có thể được kết nối vào Network Domain thông
qua Gateway từ một Local Area Network. Một Gateway cũng có thể chạy ứng dụng
M2M bằng SCL và hoạt động như một proxy giữa các thiết bị địa phương và
Network Domain. SCL cung cấp các chức năng mà có thể được chia sẻ bởi các ứng
dụng khác nhau. Chức năng quản lí mạng cho phép quản lí truy cập, core network,
giám sát, quản lí lỗi. Chức năng quản lí M2M bao gồm tất cả các chức năng cần
thiết để quản lí SCL trong Network Domain. Hình 2 mô tả kiến trúc chức năng
ETST M2M. Một SCL có thể được triển khai trên một mạng Network Domain
M2M (NSCL), một cổng Gateway Domain (GSCL), hoặc một thiết bị Divice
(DSCL). Nó cung cấp nhiều dịch vụ cho phép đăng kí máy, truyền thông đồng bộ
và không đồng bộ, khai phá tài nguyên, quản lí quyền truy cập, quảng bá nhóm…
Phía trên các ứng dụng mạng (NA), ứng dụng Gateway (GA), ứng dụng thiết bị DA
sẽ có các điểm tham chiếu. Tương ứng như vậy, ở NA có thể truy cập vào NSCL,
GA cho phép truy cập vào GSCL, DA/GSCL cho phép truy cập vào NSCL. Các
giao diện được thiết kế chung để hỗ trợ một loạt các công nghệ mạng và các giao
thức tăng cường khả năng tương tác.
Các kiến trúc OM2M theo chuẩn ETSI M2M, nó bao gồm các yếu tố sau:
• M2M Device: Một máy chạy M2M Divice SCL (DSCL), nó có thể được truy
vấn bởi các ứng dụng thiết bị M2M thông qua một giao diện mở. Một M2M
Divice có thể kết nối trực tiếp với mạng M2M hoặc gián tiếp thông qua cổng
hoạt động như một Proxy mạng.
• M2M Area Network: Cung cấp kết nối giữa các thiết bị M2M, và giữa thiết
bị với cổng mạng, nó dựa trên công nghệ hiện có như ZigBee, Phidgets, MBUS,…
Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

13


• M2M Gateway: Một máy chạy M2M Gateway SCL (GSCL) có thể truy vấn
bởi các ứng dụng M2M Gateway. Nó xác định và giải quyết các thiết bị

không đồng nhất, liên kết và kết nối mạng với các công nghệ giao thức khác
nhau bằng cách lập bản đồ và chuyển đổi hoạt động.
• Wide Area Network: Cung cấp mạng lõi với mạng truy cập để cho phép các
thiết bị M2M và các cổng giao tiếp với mạng M2M. Nó được dựa trên công
nghệ hiện có như XDSL, GERAN, UTRAN, WLAN, WIMAX, …
• M2M Network: cung cấp một M2M Network SCL (NSCL) mà có thể được
truy vấn bởi các ứng dụng M2M mạng (NA) thông qua một giao diện mở.
• M2M Service Capabilities Layer (SCL): Cung cấp một lớp dịch vụ ngang
cho các ứng dụng M2M trừu tượng hóa sự phức tạp của các thiết bị.
• Phát triển ứng dụng với một tên miền cụ thể.

Hình 2: Kiến trúc chức năng ETST M2M
ETST M2M áp dụng một kiến trúc RESTful, mỗi một SCL là một cây tài nguyên
chuẩn nơi lưu trữ thông tin trong đó có thể thực hiện thao tác lấy, cập nhật, xóa,
thực hiện. Một cây tài nguyên SCL hỗ trợ nhiều loại tài nguyên khác nhau:
• Để mô tả một lớp SCL lưu trữ OM2M sử dụng một lớp base “sclBase”, đây
là một lớp gốc cho tất cả nguồn lưu trữ khác trong SCL. Nhưng “scl”
resource lưu trữ thông tin của các scls khác ở trên những máy khác sau khi
xác thực thành công.
• Các “aplication” lưu trữ thông tin về ứng dụng sau khi đăng kí thành công
trên SCL hosting.
Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

14


• Các nguồn tài nguyên “container” hoạt động như một trung gian giữa các dữ
liệu đệm cho phép trao đổi giữa “aplication” và SCLs. Các tài nguyên
“contentInstance” đại diện cho một trường dữ liệu trong các “container”
• Các tài nguyên “accessRight” quản lí quyền điều hành của chủ sở hữu để

hạn chế vào bảo vệ các quyền truy cập và cơ cấu cây tài nguyên.
• Các tài nguyên “group” tăng cường hoạt động của cây tài nguyên bằng cách
bổ sung tính năng cho nhóm.
• Các tài nguyên “subscription” cho phép thuê bao đăng kí nhận được thông
báo không đồng bộ khi một sự kiện xảy ra như tiếp nhận một cảm biến mới,
hoặc tạo ra, cập nhật, xóa các tài nguyên.
• Các tài nguyên “announced” chứa một đại diện một phần của một tài
nguyên trong một SCL từ xa để đơn giản hóa các yêu cầu phát hiện trên
SCLs phân phối.
• Các tài nguyên “discovery” đóng vai trò như một công cụ tìm kiếm các
nguồn tài nguyên. Các nhóm tài nguyên chung với bộ sưu tập tài nguyên.
1.4.3. REST API
1.4.3.1. Giới thiệu
REST (Representational State Tranfer) đã được chọn sử dụng rộng rãi thay
cho web service dựa trên SOAP và WSDL. Bằng chứng quan trọng của sự thay đổi
này chính là việc các công ty dẫn đầu trong lĩnh vực cung cấp mạng 2.0 như Yahoo,
Google, Facebook đã phản đối các giao thức dựa trên SOAP và WSDL và ủng hộ
phương thức hướng đến tài nguyên và dễ sử dụng đối với dịch vụ của họ.
REST định nghĩa các quy tắc kiến trúc để bạn thiết kế Web Services chú
trọng vào tài nguyên hệ thống, bao gồm các trạng thái tài nguyên được định dạng
như thế nào và chuyển tải qua HTTP thông qua số lượng lớn người dùng và được
viết bởi những ngôn ngữ khác nhau. Nếu tính theo số dịch vụ mạng sử dụng, REST
đã nổi lên trong vài năm qua như là một mô hình thiết kế dịch vụ chiếm ưu thế.
Trong thực tế, REST đã có những ảnh hưởng lớn và gần như thay thế SOAP và
WSDL vì nó đơn giản dễ sử dụng hơn rất nhiều.
REST không thu hút được nhiều sự chú ý khi lần đầu tiên giới thiệu vào năm
2000 bởi Roy Fielding trong luận án của ông. Đến nay, đã xuất hiện nhiều
framework chủ đạo cho REST và chúng vẫn đang được phát triển.
Việc cụ thể hóa một Web Service REST sẽ tuân thủ 4 nguyên tắc cơ bản sau:
• Sử dụng các phương thức HTTP một cách rõ ràng.

• Phi trạng thái.
• Hiển thị cấu trúc thư mục như URIs.
• Chuyển đổi JavaScript Object Notation (JSON) và XML hoặc cả hai.

Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

15


1.4.3.2. Sử dụng các phương thức HTTP một cách rõ ràng
Một đặc tính quan trọng của dịch vụ Web service RESTful là sử dụng một
cách rõ ràng các phương thức HTTP theo cách một giao thức được xác định RFC
2616. Ví dụ HTTP GET được xác định như là một phương thức sinh ra số liệu được
sử dụng có chủ đích bởi các ứng dụng người dùng để thu thập tài nguyên, dữ liệu từ
một máy chủ, hoặc thực thi một truy vấn mà máy chủ sẽ tìm kiếm và phản hồi cùng
với một gói thông tin tương thích.
REST yêu cầu các nhà phát triển sử dụng các phương thức HTTP một cách
rõ ràng theo cách tương thích với các giao thức chuẩn. Nguyên lí thiết cơ bản này
thiết lập một ánh xạ 1-1 giữa các hành động tạo, đọc, cập nhật, và xóa các quá trình
vận hành và các phương thức HTTP. Theo cách ánh xạ này thì:
• Để tạo một tài nguyên trên máy chủ, bạn cần sử dụng phương thức POST.
• Để truy xuất một tài nguyên dùng phương thức GET.
• Để thay đổi trạng thái một tài nguyên hoặc cập nhật nó, sử dụng PUT.
• Để hủy bỏ hoặc xóa một tài nguyên, sử dụng DELETE
1.4.3.3. Phi trạng thái
Các web service REST cần được điều chỉnh về quy mô để đáp ứng các yêu
cầu ngày càng cao về chất lượng thực hiện. Các khu vực lưu trữ của máy chủ với
khả năng cần bằng tải và vượt qua sự mất mát, các bức ngăn và các cổng được sắp
xếp theo một phương thức đặc thù nhằm tạo ra một cấu trúc dịch vụ bền vững cho
phép chuyển tiếp yêu cầu từ một máy chủ tới máy chủ khác khi cần, để giảm tổng

thời gian phản hồi của một yêu cầu web service. Sử dụng máy chủ trung gian nhằm
nâng cao mức yêu cầu dịch vụ mạng REST của khách hàng để gửi các yêu cầu hoàn
chỉnh và độc lập, có nghĩa là gửi các yêu cầu bao gồm tất cả dữ liệu cần thiết để đáp
ứng sao cho các thành phần trong các máy chủ trung gian có thể gửi tiếp đi, gửi
theo tuyến và cân bằng tải mà không cần các trạng thái được kiểm soát bên trong
giữa các yêu cầu.
Một yêu cầu hoàn chỉnh, độc lập không đòi hỏi máy chủ để thu thập được bất
kì ngữ cảnh hoặc trạng thái của ứng dụng nào trong lúc xử lí yêu cầu. Một ứng dụng
(hoặc máy khách) Web Service REST chứa ở phần đầu hoặc phần thân trang HTTP
của một yêu cầu tất cả các tham số, ngữ cảnh và dữ liệu cần thiết bởi thành phần
bên ngoài máy chủ để đưa ra một phản hồi. Phi trạng thái theo nghĩa này nâng cao
tính hiệu quả của dịch vụ web, đơn giản hóa thiết kế và sự thi hành của các thành
phần của máy chủ vì khi máy chủ không có trạng thái sẽ hủy bỏ nhu cầu để đồng bộ
hóa các mảng dữ liệu với một ứng dụng bên ngoài.
1.4.3.4. Đưa ra cấu trúc thư mục giống URIs
Các địa chỉ web service REST nên có tính hiện thực theo nghĩa rằng chúng
dễ dàng đối với người dùng. Có thể nghĩ rằng một địa chỉ đường dẫn như là một
giao diện tự đóng gói mà đòi hỏi ít lí giải hoặc tham chiếu, nếu có, đối với một nhà
Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

16


phát triển để hiểu nó nhắm đến điểm gì và phân phát tài nguyên liên quan. Cuối
cùng, cấu trúc của một địa chỉ nên rõ ràng, có thể đoán được và dễ hiểu.
Một cách để đạt được mức độ sử dụng này là xác định thư mục giống URIs.
Loại URI này có thứ bậc, có điểm khởi nguồn tại một đường dẫn đơn giản, có
nhánh đi ra là các nhánh phụ thể hiện các vùng chính của dịch vụ. Theo định nghĩa
này, một URI không chỉ là một chuỗi bị cắt không giới hạn mà còn là một cây với
các nhánh chính và nhánh dọc nối với nhau tại các nút.

Cấu trúc địa chỉ của web service RESTful là:
• Giấu các đuôi tài liệu mở rộng của bản gốc trong máy chủ (.jsp, .php, .asp),
nếu có, vì vậy bạn có thể giấu một số thứ mà không cần thay đổi địa chỉ
URIs.
• Để mọi thứ là chữ thường.
• Thay thế các khoảng trống là gạch chân và gạch nối gạch nối.
• Tránh các chuỗi yêu cầu càng nhiều càng tốt
• Thay vì sử dụng mã (404 Not Found) khi yêu cầu địa chỉ cho một phần
đường dẫn, luôn luôn cung cấp một trang mặc định hoặc tài nguyên như một
phản hồi.
1.4.3.5. Chuyển đổi XML, JSON, hoặc cả hai
Một tài nguyên đại diện điển hình phản ánh trạng thái hiện tại của một tài
nguyên, và các thuộc tính của nó, tại thời điểm một ứng dụng máy khách yêu cầu
nó. Các đại diện tài nguyên theo nghĩa này chỉ là các bản tóm tắt lúc đó. Điều này
có thế đơn giản như một đại diện của một bản ghi trong một cơ sở dữ liệu, bao gồm
một tổng thể giữa tên, cột, và các thẻ XML, nơi các giá trị thành phần trong XML
bao gồm các giá trị dòng. Hoặc nếu hệ thống có một mô hình dữ liệu, thì theo định
nghĩa này, một tài nguyên đại diện là một bản tóm tắt các thuộc tính của những thứ
trong mô hình dữ liệu hệ thống.
Các chủ thể trong mô hình dữ liệu của bạn thường liên quan đến nhau theo
cách nào đó, và mối liên hệ giữa mô hình dữ liệu chủ thể (tài nguyên) nên được
phản ánh theo cách chúng được đại diện để chuyển đến một ứng dụng máy khách.
Cuối cùng, để đưa đến khả năng yêu cầu loại nội dung cụ thể cho các ứng
dụng máy khách mà phù hợp nhất với chúng, hãy cấu trúc dịch vụ của bạn sao cho
nó tận dụng được phần đầu chấp nhận HTTP sẵn có bên trong, nơi giá trị của phần
đầu là một loại MIME ( JSON, XML, XHTML)
Nó cho phép dịch vụ đươc nhiều khách hàng khác nhau sử dụng, viết bằng
cách ngôn ngữ khác nhau, chạy trên nền và thiết bị khác nhau. Sử dụng kiểu MIME
và phần đầu HTTP Accept là một cơ chế được biết như là nội dung thương thuyết,
cái mà cho phép máy khách chọn định dạng dữ liệu nào đúng với chúng và tối thiểu

hóa sự nối lại giữa dịch vụ và các ứng dụng mà sử dụng nó.
Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

17


1.4.4. AngularJS Framework
AngularJS là một framework ứng dụng web mã nguồn mở, có cấu trúc cho
các ứng dụng web động, được phát triển lần đầu năm 2009 bở Misko Hevery và
Adam Abrons. Hiện tại được duy trì bởi Google. Nó cho phép bạn sử dụng HTML
như là ngôn ngữ mẫu và cho phép bạn mở rộng cú pháp của HTML để diễn đạt các
thành phần ứng dụng của bạn một cách rõ ràng và súc tích.
1.4.4.1. Các tính năng AngularJS
• Data-binding: Nó tự động đồng bộ hóa dữ liệu giữa Model và View.
• Scope: Là những đối tượng hướng đến Model, nó hoạt động như là cầu nối
giữa Controller và View.
• Controller: Đây là những tính năng của AngularJS mà được giới hạn tới một
scope cụ thể.
• Service: AngularJS hoạt động với một vài dịch vụ có sẵn, ví dụ $http để tạo
XMLHttpRequests.
• Filter: Nó lọc các tập con từ tập item trong các mảng và trả về các mảng mới
• Directive: Directive là các marker trong các phần tử DOM (như các phần tử,
thuộc tính, css và nhiều hơn thế). Nó có thể dùng để tạo các thẻ HTML riêng
phục vụ những mục đích riêng. AngularJS có những Directive có sẵn như
ngBind, ngModel…
• Template: Là các Rendered View với các thông tin từ controller và model.
Nó có thể được sử dụng trong các file riêng rẽ (ví dụ như index.jsp) hoặc
nhiều view
• Routing: Là khái niệm của sự chuyển dịch qua lại các view
• Model-View-Controller: MVC là một mô hình thiết kế để phân chia các ứng

dụng thành nhiều phần khác nhau, mỗi phần sử dụng với một nhiệm vụ nhất
định
• Deep Linking: Cho phép bạn mã hóa trạng thái các ứng dụng trên địa chỉ
URL để nó có thể được bookmark. Các ứng dụng có thể được phục hồi lại từ
các địa chỉ URL với cùng 1 trạng thái.
• Dependency Injection: AngularJS có sẵn một hệ thống con dependency
ịnjection để giúp các lập trình viên tạo ra các ứng dụng dễ phát triển, dễ hiểu
và kiểm tra.
1.4.4.2. Ưu điểm của AngularJS
• AngularJS cung cấp khả năng tạo ra các Single Page Application một cách
rất rõ ràng và dễ dàng để duy trì.
• AngularJS cung cấp khả năng Data Binding tới HTML do đó giúp người
dùng cảm giác linh hoạt thân thiện.
• AngularJS code dễ dàng khi unit test.
Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

18


• AngularJS cung cấp khả năng tái sử dụng các component (thành phần).
• Với AngularJS, lập trình viên sẽ viết ít code hơn, với nhiều chức năng hơn.
• Với AngularJS, view là thành phần trong trang HTML thuần, trong khi
controller được viết bởi javascript với quá trình xử lí nghiệp vụ.
1.4.4.3. Nhược điểm của AngularJS
• Không an toàn: là một JavaScript framework, ứng dụng được viết bởi
AngularJS không an toàn. Phải có tính năng bảo mật và xác thực phía Server
sẽ giúp ứng dụng trở nên an toàn hơn.
• Nếu người sử dụng ứng dụng của bạn vô hiệu hóa JavaScript thì họ chỉ nhìn
được trang cơ bản, không thấy gì thêm
1.4.4.4. Các thành phần của AngularJS

AngularJS có thể được chia làm ba thành phần chính sau:
• ng-app: directive này định nghĩa và liên kết một ứng dụng AngularJS tới
HTML
• ng-model: directive này gắn kết giá trị của dữ liệu ứng dụng AngularJS đến
các điều khiển đầu vào HTML
• ng-bind: directive này gắn kết dữ liệu ứng dụng AngularJS đến các thẻ
HTML.
1.4.5. Mạng Nơ-ron nhân tạo
Mạng Nơ-ron nhân tạo (Artificial Neural Network- ANN) là mô hình xử lý
thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật,
bao gồm số lượng lớn các Nơron được liên kết ( Các liên kết này được gọi là trọng
số ) để xử lý thông tin. Giống với bộ não con người được học bởi kinh nghiệm
(thông qua huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức)
và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết . Việc hình
thành một mạng nơron thông qua một quá trình học từ các tập mẫu huấn luyện sẽ
làm thay đổi các trọng số (mối liên hệ giữa các nơron).
1.4.5.1. Nơ-ron nhân tạo
Một nơ-ron là một đơn vị xử lý thông tin và là thành phần cơ bản của một
mạng nơ-ron. Cấu trúc của một nơ-ron được mô tả trên hình 3.
Thành phần của Nơ-ron:
• Tập các đầu vào: Là các tín hiệu vào (input signals) của nơron, các tín hiệu
này thường được đưa vào dưới dạng một vector N chiều.
• Tập các liên kết: Mỗi liên kết được thể hiện bởi một trọng số (gọi là trọng
số liên kết – Synaptic weight). Trọng số liên kết giữa tín hiệu vào thứ i với
nơron j thường được kí hiệu là w ij. Thông thường, các trọng số này được
khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập
nhật liên tục trong quá trình học mạng.
Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

19



Hình 3: Mô hình Nơ-ron
• Bộ tổng (Summing): Thường dùng để tính tổng của tích các đầu vào với
trọng số liên kết của nó.
• Hàm truyền (Transfer function): Hàm này được dùng để giới hạn phạm vi
đầu ra của mỗi nơron. Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng
đã cho. Thông thường, phạm vi đầu ra của mỗi nơron được giới hạn trong
đoạn [0,1] hoặc [-1, 1]. Các hàm truyền rất đa dạng, có thể là các hàm tuyến
tính hoặc phi tuyến. Việc lựa chọn hàm truyền nào là tuỳ thuộc vào từng bài
toán và kinh nghiệm của người thiết kế mạng. Một số hàm truyền thường sử
dụng trong các mô hình mạng nơron được đưa ra trong Bảng 1.
Hàm truyền

Đồ thị

Định nghĩa

Symmertrical
Hard Limit
(hardlims)

Linear
(purelin)

Saturating
Linear
(satlin)

y = purelin(x)


y=sgn(x)=

Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

20


Log-Sigmoid
(logsig)

y=

với

>0

Bảng 1: Các hàm truyền phổ biến
1.4.5.2. Mô hình mạng Nơ-ron
Một mạng nơ-ron là một mô hình tính toán được xác định qua các tham số:
kiểu nơron (như là các nút nếu ta coi cả mạng nơ-ron là một đồ thị), kiến trúc kết
nối (sự tổ chức kết nối giữa các nơ-ron) và thuật toán học ( thuật toán dùng để xác
định các trọng số liên kết trong mạng ).
Về bản chất một mạng nơ-ron có chức năng như là một hàm ánh xạ F: X
→Y, trong đó X là không gian trạng thái đầu vào (input state space) và Y là không
gian trạng thái đầu ra (output state space) của mạng. Các mạng chỉ đơn giản là làm
nhiệm vụ ánh xạ các vector đầu vào x ∈ X sang các vector đầu ra y ∈ Y thông qua
trọng số liên kết . Tức là y = F(x) = s(W, x), trong đó W là ma trận trọng số liên kết.
Hoạt động của mạng thường là các tính toán số thực trên các ma trận và đưa ra kết
quả.

1.4.5.3. Perceptron
Perceptron là mạng nơ-ron đơn giản nhất, nó chỉ gồm một nơ-ron, nhận đầu
vào là vector có các thành phần là các số thực. Cách thức hoạt động giống như một
nơ-ron đã nêu ở trên.
Perceptron cho phép phân loại chính xác trong trường hợp dữ liệu có thể
phân chia tuyến tính (các mẫu nằm trên hai mặt đối diện của một siêu phẳng). Nó
cũng phân loại đúng đầu ra các hàm AND, OR và các hàm có dạng đúng khi n đầu
ra khi có m đầu vào của nó đúng (n ≤m). Nó không thể phân loại được đầu ra của
hàm XOR.
1.4.5.4. Mạng nhiều tầng truyền thẳng
Mô hình mạng nơ-ron được sử dụng rộng rãi nhất là mô hình mạng nhiều
tầng truyền thẳng (MLP: Multi Layer Perceptron). Một mạng MLP tổng quát là
mạng có n+1 (n≥1) tầng. Trong đó gồm một tầng đầu ra (tầng thứ n+1) và (n) tầng
ẩn. Xem hình 4.
Các đặc điểm của mạng MLP :
• Nơ-ron tầng sau liên kết với tất cả nơron tầng trước đó. Mỗi liên kết như vật
là một trong số xác định.
• Đầu ra của một nơ-ron sẽ trở thành một thành phần đầu vào của nơ-ron thuộc
lớp kế tiếp.

Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

21


Hình 4: Mô hình mạng MLP
Hoạt động MLP:
Ban đầu, nơ-ron thuộc lớp ẩn thứ nhất nhận tín hiệu đầu vào và xử lý (tính
tổng trọng số, gửi tới hàm truyền, lấy kết quả dựa vào ngưỡng chọn) và ta sẽ thu
được các đầu ra của lớp thứ nhất. Tiếp theo ta tiếp tục tính toán đầu ra của lớp thứ 2

đựa vào đầu ra của lớp thứ nhất (Lúc này ta lại xem nơ-ron của lớp 2 giống với lớp
thứ nhất, con tập các đầu ra của nơ-ron lớp 1 lại giống với tập đầu vào). Nó tiếp tục
tính toán như thế cho đến khi các nơ-ron tầng ra cho kết quả.
1.4.5.5. Quá trình học của mạng Nơ-ron
Một mạng nơ-ron được huyấn luyện sao cho với một tập các vector đầu vào X,
mạng có khả năng tạo ra tập các vector đầu ra mong muốn Y của nó. Tập X được sử
dụng cho huấn luyện mạng được gọi là tập huấn luyện (training set). Các phần tử x
thuộc X được gọi là các mẫu huấn luyện (training example). Quá trình huấn luyện
bản chất là sự thay đổi các trọng số liên kết của mạng. Trong quá trình này, các
trọng số của mạng sẽ hội tụ dần tới các giá trị sao cho với mỗi vector đầu vào x từ
tập huấn luyện, mạng sẽ cho ra vector đầu ra y như mong muốn.
Có ba phương pháp học phổ biến là học có giám sát (supervised learning), học
không giám sát (unsupervised learning) và học tăng cường (Reinforcement
learning).
1.4.5.6. Phương pháp học có giám sát
Ta thực hiện các bước sau theo trình tự để hoàn thiện phương pháp học có
giám sát
B1: Xây dựng cấu trúc thích hợp cho mạng nơron . Chúng ta cần phải xác định các
tham số sau :
• Tham số đầu vào.
• Số nơrơn mạng ra.
• Số lượng lớp ấn.
• Chọn hàm truyền và ngưỡng.
• Thiết lập giá trị khởi tạo cho các trọng số.
Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

22


B2: Thực hiện tính toán đầu ra với một bộ mẫu với mạng nơron xây dựng ở bước

một.
B3 : So sánh kết quả giữa vector đầu ra với kết quả đúng ứng với bộ mẫu thử
nghiệm ở B1. Nếu có sự sai khác thì ta sẽ ta sẽ thực hiện B4. Nếu mạng đạt tới trạng
thái hội tụ chúng ta có thế dừng việc học, không thì chúng ta sẽ quay lại B2.
B4: Hiệu chỉnh các trọng số liên kết theo thuật toán nào đó sao cho khi chúng ta có
bộ input đầu vào đã sử dụng ở B2 thì ở đầu ra sẽ đạt được giá trị đúng giống với giá
trị của bộ mẫu đã cho. Sau đó chúng ta lặp lại B2.

Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

23


CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG
2.1. Phân tích và thiết hế hệ thống
2.1.1. Các yêu cầu thiết kế
Hệ thống phát hiện vấp ngã có thể hữu ích cho những người làm việc hoặc
tham gia các hoạt động vui chơi giải trí ở những nơi hẻo lánh với nguy cơ bị ngã
cao, chẳng hạn như người tàn tật, khuyết tật, các công nhân xây dựng, thợ săn,
những người trượt tuyết, …Tuy nhiên, mục đích chính của hệ thống phát hiện vấp
ngã là dành cho những người cao tuổi. Trong thực tế, trong những năm qua tuổi thọ
dân số thế giới đã tăng lên làm cho nguy cơ xảy ra vấp ngã ở người cao tuổi tăng
cao. Thật không may, những vết thương do vấp ngã là nguyên nhân chính của nhập
viện, gây nên dị tật và thậm chí tử vong ở những người cao tuổi.
Do đó, hệ thống phát hiện vấp ngã nhắm tới đối tượng người dùng là người
cao tuổi, những người thường xuyên phải xoay xở một mình trong thời gian dài.
Một hệ thống phát hiện vấp ngã phù hợp với người dùng phải đáp ứng các yêu cầu
sau:
• Tự động hóa, có thể gửi một cảnh báo mà người dùng không cần phải bấm
nút,

• Kịp thời, để đáp ứng sự giúp đỡ nhanh chóng và tránh làm tình trạng sức
khỏe của người dùng xấu đi,
• Độ tin cậy, liên quan đến khả năng phát hiện vấp ngã trong khi lọc các hoạt
động thường ngày giống như vấp ngã xảy ra,
• Khả năng giao tiếp, để luôn luôn được kết nối và có thể thông báo tới người
chăm sóc, người thân hay bạn bè,
• Tính khả dụng, dễ dàng sử dụng để người dùng chấp nhận nó.
Để thỏa mãn các yêu cầu đã đề cập ở trên, một hệ thống phát hiện vấp ngã
phải được thiết kế dựa trên các tính chất sau:
• Phát hiện vấp ngã được triển khai dựa trên thông tin của gia tốc, những
nghiên cứu trước đây cho thấy, gia tốc là thông tin đáng tin cậy nhất để sử
dụng trong việc phát hiện vấp ngã. Trong khi các dữ liệu động học khác như
vân tốc góc ít có liên quan.
• Tính khả dụng bị ảnh hưởng bởi số lượng cảm biến có thể đeo được và vị trí
của chúng trên cơ thể người dùng. Do đó nên sử dụng duy nhất 1 cảm biến.
Vùng eo và đầu là 2 vị trí cung cấp các dữ liệu về gia tốc phù hợp nhất cho
việc phát hiện vấp ngã. Tuy nhiên vùng eo là vị trí thoải mái nhất đối với
người dùng. Hơn nữa việc đặt máy đo gia tốc tại vùng eo, gần trung tâm với
trọng lực cơ thể làm cho cảm biến ít nhạy hơn với các biến động.
• Một số hệ thống phát hiện vấp ngã sử dụng thông tin về tư thế, cử động của
con người để cải thiện tính chính xác của nó. Tư thế của con người có thể
Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

24


được tính toán hoặc giả định theo hướng của các trục gia tốc, hoặc sử dụng
hai hay nhiều hơn các cảm biến. Khi cả 2 phương pháp đều làm giảm khả
năng sử dụng của hệ thống thì giải pháp không cần dùng đến thông tin tư thế
nên được dùng hơn.

• Tuy nhiên, vì những lí do về khả năng sử dụng, các thuật toán phát hiên vấp
ngã nên chỉ làm việc với độ lớn gia tốc.
• Các thuật toán phát hiện vấp ngã phải được tự học, theo cách này, nó có thể
tự điều chỉnh các thông số hoạt động theo đặc điểm cụ thể của người sử dụng
( ví dụ như chiều cao, cân nặng, tốc dộ di chuyển, …).
• Một giao diện người-máy, thậm chí đơn giản, đều bắt buộc đáp ứng 2 lí do:
 Một nút dừng là cần thiết, để tránh việc tự động cảnh báo sai được
gửi tới người sử dụng.
 Để cung cấp các phản hồi cho thuật toán ngã tự học.
Một thiết bị mang theo được với hình thức nhỏ dường như tuân thủ nguyên
tắc như vậy. Để cho phép hệ thống hoạt động ngoài trời, thậm chí cách xa các tòa
nhà, thông tin liên lạc nên dựa vào các mạng di động hiện có. Rõ ràng, điện thoại
thông minh là ứng cử viên tốt: chúng bây giờ là một nền tảng điện toán hiệu quả và
bao gồm một loạt các hệ thống con cảm biến, chẳng hạn như gia tốc kế và con quay
hồi chuyển (thường được sử dụng để quản lý các định hướng của màn hình và sử
dụng vị trí của các thiết bị như một hình thức đầu vào).Đồng thời, cung cấp một
chức năng mới, chẳng hạn như việc phát hiện vấp ngã, thông qua một thiết bị quen
thuộc sẽ tạo nhiều điều kiện cho việc triển khai rộng rãi các ứng dụng.
Nhóm đồ án thiết kế và thực hiện một hệ thống phát hiện vấp ngã đáp ứng
các yêu cầu đưa ra bằng cách sử dụng một điện thoại thông minh gắn vào thắt lưng
của người dùng hoặc bỏ vào túi quần. Một ứng dụng, với tính chất tự học, tiếp tục
thu thập dữ liệu gia tốc thông qua việc tích hợp, áp dụng các thuật toán phát hiện
vấp ngã, và gửi một cảnh báo cho một tập hợp các địa chỉ liên lạc được xác định
trước khi một sự kiện vấp ngã được phát hiện. Sự tương tác giữa người dùng và các
ứng dụng diễn ra bằng cách sử dụng giao diện điện thoại thông minh.
2.1.2. Phỏng vấn người dùng cuối
Như đã thảo luận trong phần trước, tính khả dụng là một vấn đề quan trọng
của hệ thống tự động phát hiện vấp ngã có thể mang theo được. Ngay cả các thuật
toán đáng tin cậy nhất cũng có thể trở nên vô ích nếu hệ thống tổng thể không có
được sự chấp nhận của người dùng về một số vấn đề như tính dễ sử dụng, hiệu suất

nhận được, tính riêng tư, chi phí.
Một phương pháp phổ biến và hiệu quả để đánh giá tính khả dụng của hệ
thống đó là phỏng vấn người dùng cuối. Để đánh giá phương pháp này, chúng tôi
cho một nhóm nhỏ, gồm 5 nam và 5 nữ từ độ tuổi từ 58 đến 86 xem nguyên mẫu
của hệ thống và yêu cầu họ đánh giá khả năng sử dụng của nó. Khảo sát tập trung
vào phản ứng của người dùng về hệ thống có thể mang theo được và sự sẵn lòng
Sinh viên thực hiện: Nguyễn Thành Lợi - 20114633 - Lớp CNTT 1.01 K57

25


×