Đồ á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.
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 2HÀ NỘI 05-2016
Trang 3PHIẾ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: thanhloi0907@gmail.comLớ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 chomạ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épbả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
Trang 4LỜ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ânthành cảm ơn thầy TS Trần Hải Anh và cô PGS.TS Ngô Quỳnh Thu, Bộ môn Truyềnthô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 trongnhó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
Trang 5đỡ đế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 emxin 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ả
Trang 6MỤ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
DANH MỤC HÌNH ẢNH 6
DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT 7
CHƯƠNG 1 : ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP 8
1.1 Đặt vấn đề 8
1.2 Hướng giải quyết vấn đề của đồ án 8
1.3 Các nghiên cứu tương tự 9
1.4 Cơ sở lý thuyết 10
1.4.1 Internet of Things 10
1.4.2 OM2M 10
1.4.3 REST API 14
1.4.4 AngularJS Framework 16
1.4.5 Mạng Nơ-ron nhân tạo 18
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 22
2.1 Phân tích và thiết hế hệ thống 22
2.1.1 Các yêu cầu thiết kế 22
2.1.2 Phỏng vấn người dùng cuối 23
2.1.3 Phát hiện ngã cơ bản 25
2.2 Xây dựng hệ thống tự động phát hiện ngã 26
2.2.1 Quá trình cảm biến 26
2.2.2 Phát hiện ngã thật và lọc sự kiện gần giống ngã 27
2.2.3 Hoạt động của ứng dụng trên điện thoại thông minh 32
2.3 Website hiển thị thông tin người dùng được gửi lên 34
CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG VÀ ĐÁNH GIÁ KẾT QUẢ 35
3.1 Môi trường phát triển 35
3.1.1 Android Studio 35
3.1.2 OM2M Platform 36
3.2 Triển khai hệ thống và kết quả thu được 40
3.2.1 Huấn luyện mạng Nơ-ron 40
3.2.2 Gửi dữ liệu thông tin người dùng lên server 41
3.2.3 Kết quả thu được 42
3.4 Đánh giá kết quả 44
3.4.1 Ưu điểm 44
3.4.2 Nhược điểm 44
3.4.3 Khả năng ứng dụng vào thực tế 44
3.4.4 Kết luận và định hướng phát triển 44
TÀI LIỆU THAM KHẢO 46
Trang 7DANH MỤC HÌNH ẢNH
Hình 1: Mô hình hoạt động của M2M 10
Hình 2: Kiến trúc chức năng ETST M2M 12
Hình 3: Mô hình Nơ-ron 18
Hình 4: Mô hình mạng MLP 20
Hình 5: Quá trình cảm biến với hữu hạn trạng thái máy 26
Hình 6: Hệ thống phân loại 27
Hình 7: Ngồi hoặc nằm trên bề mặt đàn hồi 28
Hình 8: Nhảy 28
Hình 9: Đi bộ 29
Hình 10: Kiến trúc mạng Nơ-ron 32
Hình 11: Hoạt động của hệ thống phát hiện ngã 34
Hình 12: Website hiển thị thông tin người dùng 35
Hình 13: Cấu trúc một Project Android Studio 37
Hình 14: Giao diện web IN-CSE "xác thực" 39
Hình 15: Giao diện web IN-CSE "in-cse cseBase resource 40
Hình 16: Giao diện web IN-CSE "remote mn-cse resource 41
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 44
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 45
Trang 8DANH MỤC BẢNG BIỂU
Bảng 1: Các hàm truyền phổ biến 20
Bảng 2: Phỏng vấn người dùng cuối 25
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
Trang 9DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT
âu
Trang 10CHƯƠNG 1 : ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP
Cùng với sự phát triển chung của thế giới, dân số loài người đang già đinhanh 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ạnhcủ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ệnnay 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ừ 60tuổ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 chongườ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óccho người già của từng gia đình và xã hội… sẽ là những vấn đề quốc gia cần quantâm
Hiện nay, ngã đang là một trong những nguyên nhân chính gây ra chấnthươ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ấnthươ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ậuquả 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ìnhtrạ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ườnghợ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ềuquố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
Trang 11nú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àngtă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ệnngã 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áptiế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 đặtcả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, giatố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
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 tinkhô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ẳnghạ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 đặcbiệ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, emtrì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êncả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ườnghợ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 minhhoặ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 đã đượccông nhận trong nhiều cuộc thử nghiệm với một số người cao tuổi
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ệnngã, 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.
Trang 12 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ếntrú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ôngdây dùng sóng radio) cũng như một số loại cảm biến khác IoT sau đó cũng đượcdù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ườithu 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ếtchí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ọilúc mọi nơi Nhà thông minh có thể xem là bước đầu của IoT bởi chúng đều đượcliê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ạngcá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ể đảmnhậ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ăngrộ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 trongIoT, đượ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ếtnố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 trongtươ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ừ
Trang 13xâ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ànhnên nền tảng M2M ngang hàng trên toàn cầu và được kế thừa đến hệ thống M2Mhiệ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 Tuynhiê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 baogồ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
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 độngnă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ố địnhnhư: 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; đốivớ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
Trang 14Lư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ặcgateway 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êntụ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ôngnghệ 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 haycây trồng một cách chi tiết và tự động, từ đó có thể tác động, can thiệp để đạt đượcnăng suất cao (tự động hoặc đưa ra cảnh báo cho người quản lý)
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ácgiao diện được thiết kế chung để hỗ trợ một loạt các công nghệ mạng và các giaothứ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:
vấn bởi các ứng dụng thiết bị M2M thông qua một giao diện mở Một M2MDivice 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ổnghoạt động như một Proxy mạng
bị với cổng mạng, nó dựa trên công nghệ hiện có như ZigBee, Phidgets, BUS,…
Trang 15M- M2M Gateway: Một máy chạy M2M Gateway SCL (GSCL) có thể truy vấnbở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ácnhau bằng cách lập bản đồ và chuyển đổi hoạt động.
thiết bị M2M và các cổng giao tiếp với mạng M2M Nó được dựa trên côngnghệ hiện có như XDSL, GERAN, UTRAN, WLAN, WIMAX, …
truy vấn bởi các ứng dụng M2M mạng (NA) thông qua một giao diện mở
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ị
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ênchuẩ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:
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
trên SCL hosting
Trang 16 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”
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
bổ sung tính năng cho nhóm
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
nguyên trong một SCL từ xa để đơn giản hóa các yêu cầu phát hiện trênSCLs phân phối
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 thaycho web service dựa trên SOAP và WSDL Bằng chứng quan trọng của sự thay đổinà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ạngnhư thế nào và chuyển tải qua HTTP thông qua số lượng lớn người dùng và đượcviế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ềuframework 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:
Trang 171.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ộtcá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ùngvớ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àythiế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ìnhvận hành và các phương thức HTTP Theo cách ánh xạ này thì:
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êucầ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ớikhả 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ắpxế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 chophé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ổngthờ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ằmnâ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ànchỉ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ửitheo 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 tronggiữ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 HTTPcủ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ầnbê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 caotí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ộtgiao 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à
Trang 18phá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ốicù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ĩanà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ớicá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à:
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
đường dẫn, luôn luôn cung cấp một trang mặc định hoặc tài nguyên như mộtphản hồi
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àinguyê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ồmmộ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 XMLbao 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 địnhnghĩ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 theocá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 đượcphả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 ứngdụ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ằngcá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ểuhóa sự nối lại giữa dịch vụ và các ứng dụng mà sử dụng nó
Trang 191.4.4 AngularJS Framework
AngularJS là một framework ứng dụng web mã nguồn mở, có cấu trúc chocá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 HTMLnhư 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ácthành phần ứng dụng của bạn một cách rõ ràng và súc tích
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êngphụ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
rất rõ ràng và dễ dàng để duy trì
dùng cảm giác linh hoạt thân thiện
Trang 20 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.
controller được viết bởi javascript với quá trình xử lí nghiệp vụ.
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
được trang cơ bản, không thấy gì thêm
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ìnhthà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ẽ
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ộtmạ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
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ậpnhật liên tục trong quá trình học mạng
Trang 21Hì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ếntí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àitoá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.
Trang 22Về 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ônggian trạng thái đầu ra (output state space) của mạng Các mạng chỉ đơn giản là làmnhiệm vụ ánh xạ các vector đầu vào x ∈ X sang các vector đầu ra y ∈ Y thông quatrọ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ếtquả
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 đầuvà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ộtnơ-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ủahà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ềutầ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
Trang 23Hì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ínhtổ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ớpthứ 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ụctính toán như thế cho đến khi các nơ-ron tầng ra cho kết quả
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ử xthuộc X được gọi là các mẫu huấn luyện (training example) Quá trình huấn luyệnbả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áctrọ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
Trang 24B2: 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.
Trang 25CHƯƠ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ặctham 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ấpngã 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ăngcao 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ậpviệ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:
nút,
khỏe của người dùng xấu đi,
động thường ngày giống như vấp ngã xảy ra,
chăm sóc, người thân hay bạn bè,
Để 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:
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
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 choviệ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ớingườ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ớitrọng lực cơ thể làm cho cảm biến ít nhạy hơn với các biến động
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ể