ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
BÙI NGUYỄN MẠNH TUẤN
LÊ NGUYỄN QUANG VŨ
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG ỨNG DỤNG INTERNET OF THINGS
DỰA TRÊN NỀN TẢNG WEB
KỸ SƯ NGÀNH TRUYỀN THÔNG VÀ MẠNG MÁY TÍNH
TP. HỒ CHÍ MINH, 2015
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
BÙI NGUYỄN MẠNH TUẤN– 11520451
LÊ NGUYỄN QUANG VŨ – 11520695
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG ỨNG DỤNG INTERNET OF THINGS
DỰA TRÊN NỀN TẢNG WEB
KỸ SƯ NGÀNH TRUYỀN THÔNG VÀ MẠNG MÁY TÍNH
GIẢNG VIÊN HƯỚNG DẪN
TS. LÊ TRUNG QUÂN
TP. HỒ CHÍ MINH, 2015
DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……………………
ngày ………………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1. …………………………………………. – Chủ tịch.
2. …………………………………………. – Thư ký.
3. …………………………………………. – Ủy viên.
4. …………………………………………. – Ủy viên.
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT
NAM
Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày…..tháng…..năm……..
NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
CỦA CÁN BỘ HƯỚNG DẪN
Tên khóa luận:
XÂY DỰNG ỨNG DỤNG INTERNET OF THINGS DỰA TRÊN NỀN TẢNG WEB
Nhóm SV thực hiện:
Cán bộ hướng dẫn:
BÙI NGUYỄN MẠNH TUẤN
11520451
LÊ NGUYỄN QUANG VŨ
11520695
TS.
LÊ
QUÂN
TRUNG
Đánh giá Khóa luận
1. Về cuốn báo cáo:
Số trang
_________
Số chương
_________
Số bảng số liệu
_________
Số hình vẽ
_________
Số tài liệu tham khảo
_________
Sản phẩm
_________
Một số nhận xét về hình thức cuốn báo cáo:
………………………………………………………………………………………
……………………………………………………………………………………..
……………………………………………………………………………………..
2. Về nội dung nghiên cứu:
………………………………………………………………………………………
……………………………………………………………………………………..
……………………………………………………………………………………..
3. Về chương trình ứng dụng:
………………………………………………………………………………………
……………………………………………………………………………………..
……………………………………………………………………………………..
4. Về thái độ làm việc của sinh viên:
………………………………………………………………………………………
……………………………………………………………………………………..
……………………………………………………………………………………..
Đánh giá chung: Khóa luận đạt/không đạt yêu cầu của một khóa luận tốt nghiệp
kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình
Điểm từng sinh viên:
Bùi Nguyễn Mạnh Tuấn:………../10
Lê Nguyễn Quang Vũ:………../10
Người nhận xét
(Ký tên và ghi rõ họ tên)
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT
NAM
Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày…..tháng…..năm……..
NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
CỦA CÁN BỘ PHẢN BIỆN
Tên khóa luận:
XÂY DỰNG ỨNG DỤNG INTERNET OF THINGS DỰA TRÊN NỀN TẢNG
WEB
Nhóm SV thực hiện:
Cán bộ phản biện:
BÙI NGUYỄN MẠNH TUẤN
11520451
LÊ NGUYỄN QUANG VŨ
11520695
Đánh giá Khóa luận
5. Về cuốn báo cáo:
Số trang
_________
Số chương
_________
Số bảng số liệu
_________
Số hình vẽ
_________
Số tài liệu tham khảo
_________
Sản phẩm
_________
Một số nhận xét về hình thức cuốn báo cáo:
…………………………………………………………………………………
……………………………………………………………………………………..
……………………………………………………………………………………..
6. Về nội dung nghiên cứu:
……………………………………………………………………………………
……………………………………………………………………………………..
……………………………………………………………………………………..
7. Về chương trình ứng dụng:
……………………………………………………………………………………
……………………………………………………………………………………..
……………………………………………………………………………………..
8. Về thái độ làm việc của sinh viên:
……………………………………………………………………………………
……………………………………………………………………………………..
……………………………………………………………………………………..
Đánh giá chung: Khóa luận đạt/không đạt yêu cầu của một khóa luận tốt nghiệp
kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình
Điểm từng sinh viên:
Bùi Nguyễn Mạnh Tuấn:………../10
Lê Nguyễn Quang Vũ:………../10
Người nhận xét
(Ký tên và ghi rõ họ tên)
LỜI CẢM ƠN
Lời đầu tiên, nhóm tác giả xin được gửi lời cảm ơn chân thành và sâu sắc đến các
thầy cô trong khoa Mạng Máy tính và Truyền thông nói riêng cũng như các thầy cô
trong trường Đại học Công nghệ Thông tin nói chung đã truyền đạt những kiến thực bổ
ích, những kinh nghiệm quý báu của mình trong suốt quá trình nhóm học tập và nghiên
cứu tại trường.
Tiếp theo, nhóm tác giả xin đặc biệt cảm ơn thầy TS. Lê Trung Quân – người thầy
đã truyền cảm hứng, niềm đam mê nghiên cứu, sáng tạo cho nhóm. Thầy là người đã
tận tình hướng dẫn, hỗ trợ và tạo mọi điều kiện tốt nhất cho nhóm tác giả hoàn thành
khóa luận này. Nhóm cũng xin chân thành cảm ơn đến thầy Nguyễn Đình Khương và
thầy Nguyễn Hạo Nhiên (Phòng dữ liệu và công nghệ thông tin) đã nhiệt tình giúp đỡ
và hỗ trợ kịp thời cho nhóm trong suốt thời gian làm khóa luận.
Bên cạnh đó, nhóm tác giả cũng xin gửi lời cảm ơn tới các anh chị và bạn bè trong
khoa Mạng Máy tính và Truyền thông nói chung cũng như các bạn trong lớp học tập
nói riêng đã giúp đỡ, trao đổi kiến thức trong suốt thời gian nhóm học tập và nghiên
cứu tại trường.
Cuối cùng, nhóm tác giả xin được gửi lời cảm ơn tới gia đình vì đã luôn bên cạnh,
động viên nhóm. Gia đình chính là nguồn động lực to lớn, là chỗ dựa tinh thần vững
chắc không chỉ trong quá trình học tập, nghiên cứu mà còn trong mọi hoạt động cuộc
sống thường ngày của nhóm tác giả.
TP. Hồ Chí Minh, tháng 01 năm 2016
Nhóm tác giả
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC
Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG INTERNET OF THINGS TRÊN
NỀN TẢNG WEB.
Cán bộ hướng dẫn: TS. Lê Trung Quân
Thời gian thực hiện: Từ ngày 30/9/2013 đến ngày 17/1/2014
Sinh viên thực hiện:
Bùi Nguyễn Mạnh Tuấn – 11520451
Lê Nguyễn Quang Vũ – 11520695
Nội dung đề tài: mục tiêu của đề tài xây dựng một mạng cảm biến không dây thu
thập dự liệu môi trường để hiển thị lên web. Để hiện thực hệ thống, đề tài tập trung
nghiên cứu xây dựng một hệ thống gồm: một webserver có nhiệm vụ tiếp nhận
thông tin được gửi từ các node cảm biến, các node thu thập dữ liệu môi trường
(phần cứng mã nguồn mở và công nghệ truyền không dây) và thông tin được hiển
thị lên web tất cả tạo thành một hệ thống hoàn chỉnh có thể áp dụng vào thực tế.
Kế hoạch thực hiện:
Từ 15/9/2015 đến 30/9/2015 lên ý tưởng, thiết kế hệ thống.
Từ 1/10/2015 đến 31/10/2015 nghiên cứu, tìm hiểu các giải pháp kỹ
thuật.
Từ 1/11/2015 đến 15/12/2015 hiện thực hệ thống.
Từ 16/12/2015 đến 3/1/2016 kiểm tra, đánh giá hệ thống và viết báo cáo.
Phân công công việc:
Công việc chung: lên ý tưởng, thiết kế hệ thống, kiểm tra, đánh giá kết quả và viết
báo cáo.
Bùi Nguyễn Mạnh Tuấn:
Tìm hiểu và hiện thức Webserver sử dụng Apache.
Tìm hiểu và hiện thực kỹ thuật cân bằng tải.
Phát triển trang chủ của Web.
Lê Nguyễn Quang Vũ:
Tìm hiểu về mạng cảm biến không dây, phần cứng mã nguồn mở Arduino và
giao tiếp không dây giữa các node từ đó xây dựng mô hình mạng cảm biến.
Hổ trợ phát triển trang Web.
Xác nhận của CBHD
TP. HCM, ngày….tháng …..năm…..
(Ký tên và ghi rõ họ tên)
Sinh viên
(Ký tên và ghi rõ họ tên)
Sinh viên 1
Bùi Nguyễn Mạnh Tuấn
Sinh viên 2
Lê Nguyễn Quang Vũ
MỤC LỤ
DANH SÁCH HÌNH VẼ
DANH SÁCH BẢNG
DANH SÁCH TỪ VIẾT TẮT
Chương 1. GIỚI THIỆU...............................................................................................4
1.1
Tổng quan.........................................................................................................4
1.2
Phát biểu vấn đề, mục tiêu của Luận Văn.........................................................6
1.3
Phạm vi của đề tài, các giới hạn của đề tài........................................................7
1.3.1
Phạm vi đề tài.............................................................................................7
1.3.2
Giới hạn của đề tài......................................................................................7
1.4
Cấu trúc của Luận Văn......................................................................................7
Chương 2. TỔNG QUAN VỀ TÌNH HÌNH NGHIÊN CỨU, CÁC CÔNG VIỆC
LIÊN QUAN..................................................................................................................9
2.1
Web Server........................................................................................................9
2.1.1
INTERNET INFORMATION SERVER (IIS)..........................................10
2.1.2
APACHE WEB SERVER.........................................................................11
2.2
Cân bằng tải cho hệ thống web server.............................................................12
2.2.1
Giới thiệu tổng quan.................................................................................12
2.2.2
Kỹ thuật cân bằng tải web server..............................................................16
2.3
Wireless Sensor Network................................................................................36
2.3.1
Giới thiệu về mạng cảm biến không dây..................................................36
2.3.2
Kiến trúc truyền thông trong mạng cảm biến...........................................36
2.3.3
Cấu trúc cơ bản của mạng cảm biến không dây........................................41
2.3.4
Các ứng dụng............................................................................................50
2.4
Tìm hiểu hệ thống cảm biến Wireless Sensor Network sử dụng mạch Arduino
53
2.4.1
Tìm hiểu về Arduino.................................................................................53
2.4.2
Các thiết bị cảm biến................................................................................59
2.5
Tìm hiểu về mạng Zigbee................................................................................61
2.5.1
Các đặt tính của mạng Zigbee..................................................................62
2.5.2
Kiến trúc mạng cơ bản của ZigBee...........................................................66
2.5.3
Application Layer.....................................................................................69
2.5.4
Network Layer..........................................................................................74
2.5.5
MAC và PHY Layer.................................................................................86
Chương 3. PHƯƠNG PHÁP LUẬN..........................................................................87
3.1
Xây dựng mạng cảm biến không dây..............................................................87
3.1.1
Hướng phát triển của mạng cảm biến không dây......................................87
3.1.2
Cấu trúc mạng của đề tài..........................................................................87
3.2
Xây dựng Webserver.......................................................................................89
3.2.1
Dự kiến topology mạng của server...........................................................89
3.2.2
Xây dựng hệ thống cân bằng tải...............................................................90
3.2.3
Cài đặt bộ cân bằng tải vào hệ thống........................................................91
3.2.4
Dự kiến database của Webserver..............................................................96
3.2.5
Dự kiến xây dựng website cho đề tài........................................................97
3.3
Hướng tiếp cận phần cứng nguồn mở............................................................106
3.4
Truyền không dây giữa các node...................................................................108
3.4.1
Truyền không dây RF 433MHz..............................................................108
3.4.2
Thư viện VirtualWire..............................................................................109
3.4.3
Công nghệ Zigbee...................................................................................110
Chương 4. HIỆN THỰC, ĐÁNH GIÁ.....................................................................112
4.1 Xây dựng hệ thống High-availability và Loadbalancing cho Web Server trên
CentOS 6 sử dụng HAProxy và Keepalived............................................................112
4.1.1 Cấu hình Load Balancing và Reverse Proxy sử dụng HAproxy và
keepalived cho Web server...................................................................................112
4.1.2
Kiểm tra..................................................................................................121
4.1.3
Đồng bộ dữ liệu trên 2 Database Server sử dụng MySQL Server...........123
4.1.4
Đồng bộ dữ liệu hai chiều trên 2 Webserver bằng unison.......................127
4.2 Xây dựng hệ thống cảm biến Wireless Sensor Network sử dụng mạch Arduino
Uno R3 và Mạch thu phát DRF1605H....................................................................134
4.2.1
Mạch đọc nhiệt độ - độ ẩm với cảm biến DHT11...................................134
4.2.2
Mạch đọc cường độ ánh sáng với cảm biến BH1750..............................136
4.2.3
Mạch truyền dữ liệu với RF 433MHz.....................................................138
4.2.4
Hiện thực truyền nhận dữ liệu cảm biến giữa 2 Arduino........................141
4.3
Hiện thực hóa Website chính thức.................................................................142
Chương 5. KẾT LUẬN............................................................................................155
5.1
Kết quả đạt được...........................................................................................155
5.2
Hạn chế.........................................................................................................155
5.3
Hướng phát triển...........................................................................................155
DANH SÁCH THAM KHẢO....................................................................................157
DANH SÁCH HÌNH VẼ
Hình 1-1 Internet of things – xu hướng mới của thế giới công nghệ hiện đại...............22
Hình 2-1 Thị phần trang web đang hoạt động sử dụng web server qua các năm [1].......29
Hình 2-2 Cách làm việc của cookie user=1..................................................................38
Hình 2-3 Mô hình Global Server Load Balacing..........................................................40
Hình 2-4 Cân bằng tải sử dụng phần cứng....................................................................45
Hình 2-5 Mô hình triển khai các node cảm biến không dây.........................................55
Hình 2-6 Ngăn xếp giao thức mạng cảm biến không dây[5]..........................................55
Hình 2-7 Cấu trúc phẳng của mạng cảm biến không dây.............................................59
Hình 2-8 Bus Topology[3]..............................................................................................60
Hình 2-9 Ring Topology[3]............................................................................................61
Hình 2-10 Cấu trúc phân cấp của mạng cảm biến không dây.......................................62
Hình 2-11 Tree Topology[3]...........................................................................................64
Hình 2-12 Star Topology[3]............................................................................................65
Hình 2-13 Mesh Topology[3].........................................................................................66
Hình 2-14 Circular Topology[3].....................................................................................67
Hình 2-15 Grid Topology[3]...........................................................................................68
Hình 2-16 Hình ảnh của một board mạch Arduino Uno R3..........................................75
Hình 2-17 Cảm biến độ ẩm, nhiệt độ DHT11...............................................................77
Hình 2-18 Cảm biến cường độ ánh sáng BH1750........................................................78
Hình 2-19 Mô hình truyền dẫn mạng ZigBee...............................................................81
Hình 2-20 Ứng dụng của mạng Zigbee.........................................................................84
Hình 2-21 Kiến trúc mạng cơ bản của Zigbee [6]...........................................................85
Hình 2-22 Sơ đồ stack của Application Layer [6]...........................................................87
Hình 2-23 Mã hóa dùng khóa đối xứng trong mạng Zigbee [6].....................................90
Hình 2-24 Quá trính thiết lập mạng Zigbee [6]..............................................................97
Hình 2-25 Quá trình tham gia của mạng Zigbee [6].......................................................99
Hình 3-1 Cấu trúc mạng cảm biến..............................................................................106
Hình 3-2 Mô hình xây dựng hệ thống server cân bằng tải..........................................107
Hình 3-3 Mối quan hệ giữa các bảng trong database..................................................115
Hình 3-4 Sơ đồ phân cấp chức năng phía Admin site.................................................119
Hình 3-5 Sơ đồ phân cấp chức năng phía User site.....................................................119
Hình 3-6 Sơ đồ luồng dữ liệu mức ngữ cảnh..............................................................120
Hình 3-7 Sơ đồ luồng dữ liệu mức 1 – Quản lý thành viên........................................120
Hình 3-8 Sơ đồ luồng dữ liệu mức 1 – Quản lý node.................................................121
Hình 3-9 Sơ đồ luồng dữ liệu mức 1 – Quản lý thông báo.........................................121
Hình 3-10 Sơ đồ luồng dữ liệu mức 1 – Quản lý báo cáo...........................................122
Hình 3-11 Xây dựng mô hình thực thể user................................................................122
Hình 3-12 Xây dựng mô hình thực thể project...........................................................123
Hình 3-13 Xây dựng mô hình thực thể project...........................................................123
Hình 3-14 Xây dựng mô hình thực thể sensor............................................................124
Hình 3-15 Mô hình thực thể liên kết...........................................................................124
Hình 3-16 Mạch thu phát RF 433MHz.......................................................................126
Hình 4-1 Mô hình hệ thống server xây dựng trên openstack cloud.............................130
Hình 4-2 SSH vào web server 1..................................................................................131
Hình 4-3 Kết quả khi truy cập WebServer thông qua IP Floating...............................132
Hình 4-4 SSH vào web server 2..................................................................................132
Hình 4-5 Kết quả chạy lệnh ip addr sh eth0................................................................138
Hình 4-6 Webserver1 tạm thời được pause.................................................................140
Hình 4-7 Kiểm tra trên HAProxy...............................................................................140
Hình 4-8 Sử dụng WinSCP kết nối đến database server1...........................................142
Hình 4-9 Sử dụng WinSCP kết nối đến database server2...........................................143
Hình 4-10 Kết quả đồng bộ dữ liệu trên database server 1.........................................145
Hình 4-11 Kết quả đồng bộ dữ liệu trên database server 2.........................................145
Hình 4-12 Tạo key pair trên webserver 1....................................................................146
Hình 4-13 Tạo key pairs trên webserver 1..................................................................147
Hình 4-14 Trao đổi key pairs trên webserver 1...........................................................147
Hình 4-15 Trao đổi key pairs trên webserver 2...........................................................148
Hình 4-16 Kiểm tra public key được chuyển từ Webserver1......................................148
Hình 4-17 Kiểm tra public key được chuyển từ Webserver2......................................149
Hình 4-18 Kết nối Arduino với cảm biến DHT11.......................................................152
Hình 4-19 Sơ đồ nối chân giữa Arduino và DHT11....................................................152
Hình 4-20 Kết nối Arduino với cảm biến BH1750.....................................................154
Hình 4-21 Sơ đồ nối chân giữa Arduino và BH1750..................................................154
Hình 4-22 Kết nối Arduino với mạch phát TX 433 Mhz............................................156
Hình 4-23 Kết nối Arduino với mạch thu TX 433 Mhz..............................................156
Hình 4-24 Sơ đồ nối chân giữa Arduino và RF 433MHz kit......................................157
Hình 4-25 Cấu trúc node cảm nhận và node thu thập dữ liệu.....................................159
Hình 4-26 Kết quả dữ liệu nhận được.........................................................................159
Hình 4-27 Giao diện đăng nhập của trang Web..........................................................160
Hình 4-28 Giao diện trang quản lý (admin site).........................................................161
Hình 4-29 Menu của tab trang quản lý.......................................................................161
Hình 4-30 Giao diện thêm dự án................................................................................162
Hình 4-31 Giao diện Quản lý mô hình dự án..............................................................163
Hình 4-32 Menu tab thống kê.....................................................................................163
Hình 4-33 Giao diện trang thống kê các node.............................................................164
Hình 4-34 Giao diện thống kê người dùng.................................................................165
Hình 4-35 Menu tab báo cáo......................................................................................165
Hình 4-36 Kết quả báo cáo được xuất........................................................................166
Hình 4-37 Menu tab quản lý người dùng....................................................................166
Hình 4-38 Giao diện đăng ký người dùng..................................................................167
Hình 4-39 Giao diện trang quản lý.............................................................................168
Hình 4-40 Menu tab trang quản lý..............................................................................168
Hình 4-41 Giao diện thêm node..................................................................................169
Hình 4-42 Giao diện xóa node....................................................................................169
Hình 4-43 Menu tab mô hình......................................................................................170
Hình 4-44 Giao diện tạo mô hình giả lập....................................................................170
Hình 4-45 Giao diện sơ đồ lắp đặt các node...............................................................171
Hình 4-46 Giao diện bảng thống kê các node.............................................................171
Hình 4-47 Chức năng quản lý hồ sơ cá nhân..............................................................172
Hình 4-48 Giao diện hiển thị thông tin người dùng....................................................172
DANH SÁCH BẢN
Bảng 2-1 Đánh giá thay đổi sau 1 tháng (tháng 9/2015 so với tháng 8/2015)..............31
Bảng 2-2 So sánh IIS và Apache [2]...............................................................................31
Bảng 2-3 So sánh việc sử dụng một server và nhiều server..........................................32
Bảng 2-4 So sánh các phương tìm đường trong ZigBee.............................................104
Bảng 3-1 Bảng so sánh hệ thống cân bằng tải và hệ thống thông thường Với đề tài mà
nhóm đã xây dựng thì việc sử dụng hệ thống cân bằng tải là rất hợp lý...............110
Bảng 3-2 Cấu trúc bảng users.....................................................................................115
Bảng 3-3 Cấu trúc bảng sensors..................................................................................115
Bảng 3-4 Cấu trúc bảng nodes....................................................................................116
Bảng 3-5 Cấu trúc bảng projects.................................................................................116
Bảng 3-6 Mô tả chức năng chính dành cho giao diện admin......................................117
Bảng 3-7 Mô tả chức năng chính của giao diện dành cho user...................................117
Bảng 3-8 So sánh giữa 3 phần cứng mã nguồn mở được sử dụng phổ biến hiện nay
được khảo sát bởi Digital Diner...........................................................................126
Bảng 3-9 So sánh xu hướng ứng dụng giữa các giao thức wireless khác và ZigBee.. 130
Bảng 4-1 Kết nối chân giữa Arduino và DHT11.........................................................154
Bảng 4-2 Kết nối chân giữa Arduino và BH1750.......................................................156
Bảng 4-3 Kết nối chân giữa Arduino và RF 433MHz (phát)......................................158
Bảng 4-4 Kết nối chân giữa Arduino và RF 433MHz (nhận).....................................158
DANH SÁCH TỪ VIẾT TẮT
WSN
IoT
RF
ZC
ZR
ZED
PC
CSMA-CA
O-QPSK
DSSS
ACK
SAP
API
NLDE-SAP
CRC
PAN
PHY
NWK
APS
APSME
APSDE
AF
ZDO
ZDP
PIB
NIB
AIB
LAMP
RR
TCP
SPOF
SLB
TTL
Wireless Sensor Network
Internet of Things
Radio Frequences
ZigBee Coordinator
ZiBee Router
ZigBee End Device
Personal Computer
Carrier Sense Multiple Access Collision Avoidance
Offset-Quadrature Phase-Shift Keying
Direct Sequence Spread Spectrum
Acknowledgement
Service Access Point
Application Programming Interface
Network Layer Data Entity Service Access Point
Cyclic Redundancy Check
Personal Area Network
Physical Layer
Network Layer
Application Support Sublayer
APS Management Entity
APS Data Entity
Application Framework
ZigBee Device Object
ZigBee Device Profile
PAN Information Base
NWK Information Base
APS Information Base
Linux, Apache, MySQL, PHP
Round robin
Transmission Control Protocol
Single point of failure
Server Load Balancing
Time-To-Live
TÓM TẮT KHÓA LUẬN
Mạng cảm biến không dây được quản lý thông qua website là đề tài có thể phục vụ cho
nhiều lĩnh vực khác nhau trong cuộc sống tùy vào mục đích của người dùng, với việc
quản lý thông tin dữ liệu được gửi về từ cảm biến bằng website sẽ làm việc điều khiển,
quản lí, giám sát môi trường trở nên đơn giản và thông minh hơn, người dùng thể nắm
bắt được thông tin môi trường dù ở bất cứ đâu qua Internet. Đề tài tập trung xây dựng
một webserver sử dụng cơ chế cân bằng tải để tăng tính sẵn sàng cho hệ thống do dữ
liệu cảm biến được gửi về liên tục và cũng để phục vụ người dùng kịp thời, nghiên cứu
và cố gắng hiện thực một mạng cảm biến không dây với board Arduino, các thiết bị
cảm biến và các thiết bị truyền không dây. Bên cạnh đó, đề tài còn tiếp cận và lập trình
Web để hiển thị thông tin dữ liệu cảm biến thu thập giúp người dùng dễ dàng quản lý
được môi trường sống cũng như làm việc của mình. Đề tài cố gắng hoàn thiện một hệ
thống hoàn chỉnh có thể ứng dụng thực tế trong quá trình hiện thực.
1
LỜI MỞ ĐẦU
Khái niệm Internet of Things được thực sự đưa ra vào năm 1999, khi mà người ta bắt
đầu nhìn nhận được tiềm năng của xu hướng này, lúc mà các rào cản giới hạn Internet,
khoa học công nghệ dần được khai phá.
Mặc dù khái niệm Internet of Things được đưa ra từ lâu. Nhưng trong những năm gần
đây nó mới được nhiều doanh nghiệp cũng như các nhà khoa học để ý và phát triển
mạnh mẽ. Trong các năm gần đây tại các triển lãm công nghệ CES, triển lãm di động
toàn cầu... các hãng sản xuất lớn thay nhau đưa ra các thiết bị thông minh: tivi thông
minh, tủ lạnh thông minh và ý tưởng về nhà thông minh... liên tục được giới thiệu. Các
ứng dụng giám sát này thông qua một thiết bị gateway để giao tiếp với các node cảm
ứng trong mạng bằng các giao thức như JSP, bluetooth, wifi, ... nhưng với kiến trúc này
thì phải có mặt người quản trị ở đó để cấu hình và quản lý.
Vì lý do trên việc xây dựng một Webserver sẽ giúp cho người cho công việc quản lý
cũng như cấu hình trở nên dễ dàng hơn. Nhóm sử dụng thiết bị đầu cuối là những cảm
biến không dây (wireless sensor) được lắp đặt ở các vị trí quanh một căn phòng tạo
thành các điểm nút (node), chúng sẽ gửi và nhận thông tin thông qua máy trạm
Webserver đóng vai trò là gateway. Dữ liệu được xử lý và thông báo trên giao diện web
cho người quản trị có thể theo dõi và nắm bắt được các thông số: nhiệt độ, độ ẩm, ánh
sáng, … và cấu hình thiết bị từ xa không nhất thiết phải có mặt ở nơi đặt thiết bị cảm
biến.
Với sự bùng nổ mạnh mẽ của Internet of Things như hiện nay, việc nhóm lựa chọn
đề tài này để thực hiện là nắm bắt và đón đầu công nghệ. Thể hiện sự sáng tạo và bắt
kịp xu hướng mới nhất hiện nay.
Nắm bắt được những vấn đề trên, nhóm đã quyết định thực hiện khóa luận với ý
tưởng Xây dựng ứng dụng Internet of things dựa trên nền tảng web với các chức năng
2
chính là ứng dụng các cảm biến không dây để lấy thông số cần thiết trả về Webserver
để xử lý và hiển thị trên giao diện quản lý từ người quản trị.
Nội dung của khóa luận sẽ trình bày về cách thực hiện hóa ý tưởng của nhóm thông
qua các phần Giới thiệu đề tài, Kiến thức nền tảng, các Phiên bản (bao gồm Tìm hiểu
và Phân tích yêu cầu; Thiết kế Hệ thống theo yêu cầu; Triển khai xây dựng Hệ thống;
Tổng kết và đánh giá những kết quả đạt được cũng như chưa đạt được) và Kết luận và
Hướng phát triển trong các phiên bản tiếp theo.
Tuy đã có nhiều tìm tòi, nghiên cứu và cố gắng, cộng với sự hướng dẫn tận tình của
giảng viên hướng dẫn nhưng trong quá trình thực hiện đề tài, nhóm tác giả khó tránh
khỏi những thiếu sót và hạn chế. Chính vì vậy, nhóm kính mong sự chia sẻ cũng như
những đóng góp quý báu từ thầy cô, bạn bè và gia đình để nhóm tác giả có thể hoàn
thiện đồ án này hơn nữa.
TP. Hồ Chí Minh, tháng 01 năm 2016
Nhóm tác giả
3
Chương 1. GIỚI THIỆU
1.1 Tổng quan
Internet of things (IoTs) là một khái niệm mới cho thấy mọi đồ vật đều có thể kết nối
Internet thông qua các bộ cảm biến (sensor). Hệ thống IoTs có thể bao gồm: các thiết bị
đeo (wearable) theo dõi chỉ số y tế, thiết bị đo từ xa, nhà thông minh, mạng cảm biến
không dây đo thông số môi trường, ô tô kết nối Internet, điện thoại di động tương tác
với môi trường...
Hình 1-1 Internet of things – xu hướng mới của thế giới công nghệ hiện đại
Thực chất, biểu hiện của Internet of Things (IoT) đã xuất hiện ngay từ thời kỳ sơ khai
của Internet, khi các nhà phát minh mong muốn kết nối tất cả mọi thứ qua một mạng
lưới đồng nhất để có thể điều khiển chúng phục vụ cho mục đích của con người.
Trong các tư liệu về IoT, người ta thường nhắc đến một chiếc máy bán nước giải khát
tự động tại trường Đại học Carnegie Melon (Mỹ) vào đầu những năm 1980 như là một
thiết bị đầu tiên mở màn cho xu hướng này, chiếc máy được lập trình để có thể kết nối
với người điều khiển qua Internet, nhằm kiểm tra tình trạng của máy và bổ sung nước
khi cần thiết mà không cần sự tiếp xúc kiểm tra trực tiếp [20].
4
Sau đó, khái niệm Internet of Things chỉ thực sự được đưa ra vào năm 1999, khi mà
người ta bắt đầu nhận thấy tiềm năng của xu hướng này, bên cạnh việc mạng Internet
cũng như nhiều rào cản về mặt khoa học công nghệ đã dần được khai phá.
Có thể tạm hiểu, Internet of Things là khi tất cả mọi thứ đều được kết nối với nhau qua
mạng Internet, người dùng (chủ) có thể kiểm soát mọi đồ vật của mình qua mạng mà
chỉ bằng một thiết bị thông minh, chẳng hạn như smartphone, tablet, PC hay thậm chí
chỉ bằng một chiếc smartwatch nhỏ bé trên tay.
Viễn cảnh tưởng chừng chỉ có trên phim ảnh này đã dần hiển hiện trên thực tế, với sự
phát triển của Nhà thông minh, TV thông minh, tủ lạnh thông minh, ... và cũng không
thể không kể tới sự mở rộng không gian địa chỉ lên IPv6 thay vì IPv4 như trước đây.
Cisco, nhà cung cấp giải pháp và thiết bị mạng hàng đầu hiện nay dự báo: Đến năm
2020, sẽ có khoảng 50 tỷ đồ vật kết nối vào Internet, bao gồm hàng tỷ thiết bị di động,
tivi, máy giặt, …
Để thấy được sự phát triển của lĩnh vực này, họ cũng đưa ra số liệu vào năm 1984, khi
mà Cisco mới thành lập mới chỉ có khoảng 1.000 thiết bị được kết nối mạng toàn cầu,
đến năm 2010, con số này đã lên mức 10 tỷ [20].
Intel, đơn vị mới tham gia vào thị trường sản xuất chip cho các thiết bị thông minh
phục vụ IoTs cũng đã thu về hơn 2 tỷ USD trong năm 2014 từ lĩnh vực này, tăng
trưởng 19% so với năm 2013 [20].
Và không thể không kể tới một thương hiệu Việt Nam là Bkav cũng đã đạt được những
thành tựu đáng ghi nhận về Internet of Things. Hệ thống nhà thông minh SmartHome
của Bkav là một tổ hợp các thiết bị thông minh trong 1 ngôi nhà, đều được kết nối
Internet và có thể tự động điều chỉnh cũng như điều khiển qua smartphone.
Sau hàng chục năm nghiên cứu và sản xuất, Bkav SmartHome đã có chỗ đứng nhất
định trên thị trường và hoàn toàn có thể cạnh tranh với những giải pháp nhà thông
minh khác trên thế giới.
Bên cạnh đó, các ông lớn như Google, Apple, Samsung, Microsoft cũng không hề giấu
diếm ý định xâm nhập thị trường này, hứa hẹn một cuộc cạnh tranh mạnh mẽ trong thời
gian tới đây, đưa kỷ nguyên IoTs đến sớm hơn với mọi người.
5
1.2 Phát biểu vấn đề, mục tiêu của Luận Văn
Để có được một hệ thống hoạt động ổn định và hiệu quả, các vật không những được
kết nối với nhau mà còn phải kết nối với nền tảng web cùng với một hệ thống server đủ
mạnh.
Từ thực tế đó nhóm đã tiến hành và xây dựng một hệ thống IoTs bao gồm các thiết bị
cảm biến wireless sensor (đo nhiệt độ, độ ẩm, ánh sáng đầu cuối); thiết bị nhận dữ liệu
từ các wireless sensor và giao tiếp trực tiếp với server; webserver (nhận dữ liệu thu
được và hiển thị lên trang web quản lý). Việc tạo ra từng thành phần trong hệ thống
cũng không quá khó khăn, nhưng việc kết nối và tạo ra một hệ thống hoạt động hiệu
quả là không hề dễ dàng, nhất là một hệ thống đáp ứng nhu cầu sử dụng của người
dùng đầy tính thực tiễn này.
Mục tiêu của luận văn là ứng dụng những kiến thức tích lũy trong quá trình học tập từ
nhà trường, những môn học từ căn bản đến chuyên ngành kết hợp với việc tham khảo ý
kiến từ phía những nhà chuyên môn, thầy cô để tạo ra một sản phẩm không những
mang tính lý thuyết mà còn giàu tính thực tiễn. Hệ thống mà nhóm tạo ra không những
giúp cho cuộc sống tốt đẹp hơn khi không những quản lý được tình hình thời tiết trong
ngôi nhà của mình mà còn có thể ứng dụng trong sản xuất nông nghiệp với quản lý
nhiệt độ, độ ẩm, ánh sáng để nhắc nhở việc tưới tiêu cây trồng, chăm sóc vật nuôi…
1.3 Phạm vi của đề tài, các giới hạn của đề tài
1.3.1 Phạm vi đề tài
Trong giới hạn của đề tài này, đối tượng nghiên cứu của khóa luận bao gồm:
Các thiết bị cảm biến (đo nhiệt độ, độ ẩm, ánh sáng), board mạch Arduino, mạch
thu phát Zigbee, RF thông thường.
Ngôn ngữ lập trình PHP, MySQL, CSS, Java Script.
Hệ điều hành CentOS.
Apache Webserver.
6