Với một thiết bị di động điện thoại, laptop, máy tính bảng… chỉ cần có kết nối tới internet, chúng ta có thể điều khiển và quản lý thông tin các thiết bị điện dù khoảng cách là bao nhiêu
Trang 1ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN VIỄN THÔNG
-o0o -
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG INTERNET
GVHD: PGS.TS Hồ Văn Khương SVTH: Nguyễn Phước Hiện MSSV: 41104450
TP HỒ CHÍ MINH, THÁNG 12 NĂM 2017
Trang 2MỤC LỤC
LỜI CẢM ƠN 1
TÓM TẮT LUẬN VĂN 2
Chương 1 GIỚI THIỆU ĐỀ TÀI 3
1.1 Đặt vấn đề 3
1.2 Yêu cầu luận văn 3
1.3 Nội dung tìm hiểu 4
1.4 Kết quả cần đạt 4
Chương 2 TỔNG QUAN VỀ INTERNET VÀ TCP/IP 5
2.1 Mạng Internet 5
2.1.1 Khái niệm mạng Internet 5
2.1.2 Cấu trúc internet 5
2.1.3 Giao thức của mạng Internet - giao thức IP 6
2.1.4 Mô hình OSI 8
2.1.4.1 Tầng vật lý (Physical) 9
2.1.4.2 Tầng liên kết dữ liệu (Data Link) 10
2.1.4.3 Tầng mạng (Network) 10
2.1.4.4 Tầng giao vận (Transport) 10
2.1.4.5 Tầng phiên (Session) 10
2.1.4.6 Tầng trình diễn (Presentation) 10
2.1.4.7 Tầng ứng dụng (Application) 11
2.2 Bộ giao thức TCP/IP 11
2.2.1 Tổng quan 11
Trang 32.2.1.1 Tầng liên kết 12
2.2.1.2 Tầng internet 12
2.2.1.3 Tầng giao vận 12
2.2.1.4 Tầng ứng dụng 13
2.2.2 So sánh TCP/IP với OSI 13
2.2.3 Giao thức trong mô hình TCP/IP 14
2.2.3.1 Internet Protocol – IP 14
2.2.3.2 Transmission Control Protocol - TCP 15
2.2.3.3 User Datagram Protocol - UDP 17
2.2.3.4 Internet control message protocol – ICMP 18
2.2.3.5 Giao thức phân giải địa chỉ - ARP 19
2.2.3.6 Giao thức phân giải địa chỉ - RARP 20
Chương 3 TỔNG QUAN VỀ MẠNG ZIGBEE 21
3.1 Giới thiệu về các giao thức truyền thông không dây 21
3.1.1 Personal area network (PAN) 21
3.1.2 Local area network (LAN) 21
3.1.3 Metropolitan area network (MAN) 22
3.1.4 Wide area network (WAN) 22
3.2 Giao thức Zigbee 23
3.2.1 Giới thiệu 23
3.2.2 Chuẩn truyền thông không dây IEEE 802.15.4 23
3.2.3 Cấu trúc của giao thức Zigbee 24
3.2.4 Thành phần mạng Zigbee 25
3.2.5 Mô hình mạng Zigbee 26
Trang 43.2.5.1 Mạng mắt lưới (mesh) 27
3.2.5.2 Mạng hình sao (star) 27
3.2.5.3 Mạng hình cây (cluster tree) 28
3.3 Mô hình giao thức của Zigbee/IEEE 802.15.4 28
3.3.1 Tầng vật lý 29
3.3.2 Tầng điều khiển dữ liệu 29
3.3.3 Tầng mạng 30
3.3.4 Tầng ứng dụng 30
Chương 4 CƠ SỞ DỮ LIỆU MYSQL VÀ RESTFUL WEB SERVICE 32
4.1 Cơ sở dữ liệu MySQL 32
4.1.1 Giới thiệu 32
4.1.2 Tiến trình kết nối ODBC 32
4.1.3 Kết hợp PHP và MySQL 33
4.1.4 Định danh và phân quyền 35
4.1.4.1 Định danh 35
4.1.4.2 Phân quyền trong MySQL 35
4.1.5 Cơ sở dữ liệu phpMyAdmin 36
Giao diện phpMyAdmin 36
4.2 RESTful web sevice 40
4.2.1 Giới thiệu 40
4.2.2 Quy tắc cơ bản để cài đặt RESTful web service 40
4.2.2.1 Sử dụng các phương thức HTTP một cách rõ ràng 40
4.2.2.2 Phi trạng thái 42
4.2.2.3 Cấu trúc thư mục URI 42
Trang 54.2.2.4 Chuyển đổi XML, JSON hoặc cả hai 42
Chương 5 THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG 44
5.1 Yêu cầu thiết kế 44
5.2 Phương hướng thiết kế 44
5.3 Các module sử dụng 45
5.3.1 Module wifi ESP8266 45
5.3.1.1 Tổng quan 45
5.3.1.2 Cấu hình thiết bị 47
5.3.2 Module DRF1605H 50
5.3.2.1 Tổng quan 50
5.3.2.2 Cấu hình thiết bị 51
5.4 Thiết kế mạch điều khiẻn 55
5.4.1 Sơ đồ mạch tổng quát 55
5.4.2 Sơ đồ mạch nguồn 56
5.4.3 Sơ đồ kết nối vi xử lý 57
5.4.4 Sơ đồ chân nạp, thạch anh và reset cho pic 59
5.4.5 Sơ đồ mạch điều khiển relay 60
5.4.6 Khối ESP8266 60
5.4.7 Khối Zigbee DRF1605H 61
5.5 Mạch in 62
Chương 6 THIẾT KẾ VÀ THI CÔNG PHẦN MỀM 63
6.1 Yêu cầu thiết kế 63
6.2 Phương pháp thực hiện 63
6.3 Sơ đồ giải thuật 64
Trang 66.3.1 Mạch điều khiển Coordinator 64
6.3.2 Mạch điều khiển Router 65
6.3.3 Các hàm sử dụng PHP lấy dữ liệu cho mạch điều khiển 66
Chương 7 KẾT QUẢ THỰC TẾ 67
7.1 Phần cứng 67
7.2 Phần mềm 68
7.3 Ứng dụng vào thiết bị thực tế 69
7.4 Quy trình hoạt động 70
7.5 Nội dung đã đạt được 72
7.6 Nội dung chưa đạt được 73
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 74
TÀI LIỆU THAM KHẢO 75
Trang 7DANH MỤC HÌNH VẼ
Hình 2.1-1: Cấu trúc mạng internet 5
Hình 2.1-2: Internet dưới góc nhìn của người sử dụng 6
Hình 2.1-3: Cấu trúc IP datagram 7
Hình 2.1-4: Mô hình OSI 9
Hình 2.2-1: Mô hình TCP/IP 12
Hình 2.2-2: Sự khác nhau giữa TCP/IP với OSI 13
Hình 2.2-3: cấu trúc gói tin trong giao thức IP 14
Hình 2.2-4: Cấu trúc gói tin TCP 16
Hình 2.2-5: Qua trình hủy kết nối của TCP 17
Hình 2.2-6: cấu trúc gói tin UDP 18
Hình 2.2-7: Hoạt động của ARP 20
Hình 2.2-8: Hoạt động của RARP 20
Hình 3.1-1: Các nhóm truyền thông không dây 21
Hình 3.2-1: Băng tần hệ thống mạng Zigbee 24
Hình 3.2-2: cấu trúc giao thức Zigbee 25
Hình 3.2-3: Cấu trúc liên mạng mạng Zigbee 26
Hình 3.2-4: Cấu trúc mạng mắt lưới của Zigbee 27
Hình 3.2-5: Cấu trúc mạng hình sao của Zigbee 27
Hình 3.2-6: Cấu trúc mạng hình cây của Zigbee 28
Hình 3.3-1: Mô hình giao thức của Zigbee 29
Hình 4.1-1: PHP kết hợp MySQL 34
Hình 4.1-2: Giao diện quản lý của phpMyAdmin 37
Hình 4.1-3: Thông tin chính của Database Server 37
Trang 8Hình 4.1-4: Các mục giao diện quản lý phpMyAdmin 37
Hình 4.1-5: Mục Browse trong phpMyAdmin 38
Hình 4.1-6: Mục Structure trong phpMyAdmin 38
Hình 4.2-1: sử dụng sai phương thức HTTP 41
Hình 4.2-2: sử dụng đúng phương thức HTTP 41
Hình 4.2-3: minh họa URI trong RESTul web service 42
Hình 5.3-1: Module ESP8266 45
Hình 5.3-2: Sơ đồ mạch module ESP826 46
Hình 5.3-3: Module Zigbee DRF1605H 50
Hình 5.3-4: Các chân của DRF1605H 51
Hình 5.4-1: Sơ đồ mạch điều khiển 55
Hình 5.4-2: Sơ đồ mạch nguồn 56
Hình 5.4-3: Sơ đồ két nối dsPic30F4013 57
Hình 5.4-4: Mạch thạch anh, reset và chân nạp cho Pic 59
Hình 5.4-5: Sơ đồ mạch relay 60
Hình 5.4-6: Sơ đồ mạch ESP8266 60
Hình 5.4-7: Sơ đồ mạch DRF1605H 61
Hình 5.5-1: Mạch in mạch điều khiển - Router 62
Hình 5.5-2: Mạch in mạch điều khiển - Coordinator 62
Hình 6.3-1: Sơ đồ giải thuật mạch điều khiển Coordinator 64
Hình 6.3-2: Sơ đồ giải thuật mạch điều khiển Router 65
Hình 6.3-3: Sơ đồ giải thuật cho hàm xử lý dùng Restful 66
Hình 7.1-1: Mạch điều khiển – Router 67
Hình 7.1-2: Mạch điều khiển – Coordinator 67
Trang 9Hình 7.2-1: Giao diện bảo mật 68
Hình 7.2-2: Giao diện quản lý 68
Hình 7.3-1: Các relay đang ở trạng thái ngắt 69
Hình 7.3-2: Các relay đang ở trạng thái đóng 69
Hình 7.4-1: SQL Server dữ liệu quản lý người dùng 70
Hình 7.4-2: SQL Server lưu dữ liệu 70
Hình 7.4-3: Thông tin lấy được từ server 71
Hình 7.4-4: Chế độ truyền transparent data 72
Trang 10DANH MỤC BẢNG
Bảng 2.2-1: Thông điệp của ICMP 19
Bảng 4.1-1: Bảng định danh trong MySQL 35
Bảng 4.1-2: Lệnh thường dùng với phpMySQL 39
Bảng 5.3-1: Bảng kết nối ESP8266 47
Bảng 5.3-2: Tập lệnh AT cho ESP8266 49
Bảng 5.3-3: Một số lệnh điều khiển DRF1605H 54
Bảng 5.4-1: Tính chất điện áp của ic LM2576T 56
Bảng 5.4-2: Tính chất điện áp ic ASM1117 56
Bảng 5.4-3: Kết nối của vi xử lý Pic 58
Trang 111
LỜI CẢM ƠN
Kiến thức rộng lớn muôn màu muôn vẻ, nắm bắt được kiến thức và làm chủ được công nghệ là một hành trình gian khổ và vất vả Trên con đường đó không có
sự thành công nào mà không gắn liền với những sự hỗ trợ, giúp đỡ dù ít hay nhiều,
dù trực tiếp hay gián tiếp Trong suốt quá trình học tập tại trường Đại Học Bách Khoa TP.HCM, chúng em đã nhận được sự giúp đỡ tận tình của các thầy cô giáo, điều đó thật đáng quý và trân trọng
Với lòng biết ơn sâu sắc nhất, em xin gửi lời cảm ơn đến quý thầy cô ở Bộ Môn Viễn Thông trường Đại Học Bách Khoa TP.HCM và đặc biệt là sự hướng dẫn
và giúp đỡ nhiệt tình của thầy PGS.TS Hồ Văn Khương đã giúp em trong suốt quá trình thực hiện luận văn này
Xin chân thành cảm ơn quý thầy cô ở các khoa trong trường Đại Học Bách Khoa TP.HCM đã tạo nền móng kiến thức cho em
Xin cảm ơn gia đình đã luôn đặt niềm tin nơi con và động viên con trong suốt khoảng thời gian học tập tại trường Cũng xin được cảm ơn các bạn cùng khóa đã luôn giúp đỡ, sát cánh trong suốt quá trình làm luận văn, những lúc khó khăn cùng nhau bước qua quãng đời sinh viên tươi đẹp này
Bài luận văn được nghiên cứu và thực hiện trong hơn 3 tháng và ban đầu em còn bỡ ngỡ vì vốn kiến thức của em còn hạn Do vậy, không tránh khỏi những thiếu sót, em rất mong nhận được ý kiến đóng góp của quý Thầy Cô và các bạn đọc để bài luận văn của em được hoàn thiện hơn
Sau cùng, xin gửi lời chúc sức khỏe và lòng tri ân chân thành đến quý thầy cô!
Tp Hồ Chí Minh, ngày 27 tháng 12 năm 2017
Nguyễn Phước Hiện
Trang 122
TÓM TẮT LUẬN VĂN
Điều khiển thiết bị qua mạng internet có thể là đề tài cũ nhưng không bao giờ
là mất đi sức hút với mọi người Với một thiết bị di động (điện thoại, laptop, máy tính bảng…) chỉ cần có kết nối tới internet, chúng ta có thể điều khiển và quản lý thông tin các thiết bị điện dù khoảng cách là bao nhiêu cũng không thành vấn đề Bản thân em cũng rất thích đề tài này và em đã quyết định lựa chọn đề tài này làm luận văn tốt nghiệp cho mình
Để thực hiện đề tài của em là sử dụng một máy chủ dữ liệu trung gian, quản lý bằng website và thiết bị điều khiển sử dụng vi xử lý pic Vi xử lý lấy dữ liệu trên máy chủ về liên tục, đảm bảo tương tác theo thời gian thực giữa người dùng và thiết
bị Sau khi lấy được dữ liệu, vi xử lý sẽ gửi thông tin đi các mạch điều khiển khác Tất cả các thiết bị điều khiển đều sử dụng kết nối không dây
Sau khi nghiên cứu và thực hiện đề tài, em xin trình bày báo cáo này với các nội dung chính như sau:
Phần 1: Cơ sở lý thuyết
o Chương 2: Tổng quan về Internet và TCP/IP
o Chương 3: Tổng quan về mạng Zigbee
o Chương 4: Cơ sở dữ liệu MySQL và RESTful web service
Phần 2: Thiết kế và thi công
o Chương 5: Thiết kế và thi công phần cứng
o Chương 6: Thiết kế và thi công phần mêm
o Chương 7: Kết quả thực tế
Trang 13Sự ra đời của công nghệ truyền thông với giao thức TCP/IP đã làm thay đổi hoàn toàn suy nghĩ cũng như phạm vi ứng dụng của thiết bị giám sát từ xa Mô hình mạng phổ biến đó là mạng nội bộ LAN (Local Area Network) và mạng diện rộng WAN (Wide Area Network) gọi chung là mạng Ethernet đã cho phép mở rộng dễ dàng phạm vi giám sát và quy mô của hệ thống Không những thế, trong mạng Ethernet, có thể gắn nhiều thiết bị đầu cuối khác nhau có cùng giao tiếp thông qua cổng truyền thông ethernet như máy tính, máy in, camera do đó, việc vận hành và giám sát trở nên cực kỳ dễ dàng
Với đề tài “Điều khiển thiết bị qua mạng ineternet” em mong xây dựng các hệ thống điều khiển, giám sát và điều khiển với khoảng cách không giới hạn
Hiện nay có rất nhiều phương thức điều khiển từ xa, chẳng hạn như: điều khiển bằng tia hồng ngoại hay sóng vô tuyến… nhưng các phương pháp này phụ thuộc khoảng cách, chỉ có tác dụng trong một phạm vi hẹp
Vì vậy, đề tài này không những là một thực tại khách quan mà nó còn đóng vai trò đăc biệt quan trọng thực sự ở hiện tại cũng như trong tương lai sau này
Do đó, việc điều khiển thiết bị qua mạng internet là một nhu cầu hết sức cần thiết và đây chính là lý do mà em quyết định chọn đề tài này
1.2 Yêu cầu luận văn
Điều khiển thiết bị qua mạng internet
Trang 144
Quản lý thiết bị từ website và các thiết bị cầm tay
Áp dụng mạng zigbee thành lập hệ thống mạng các thiết bị điều khiển
1.3 Nội dung tìm hiểu
Tìm hiểu tổng quát về mạng Internet
Tìm hiểu về giao thức kết nối TCP/IP
Tìm hiểu về mạng Zigbee
Tìm hiểu về ngôn ngữ PHP và Web server
Thiết kế mạch điều khiển sử dụng vi xử lý PIC
Thiết lập tiếp giữa mạch kết nối wifi, mạch kết nối zigbee với vi xử lý
Tạo cơ sở dữ liệu trên máy chủ làm nơi trung gian trao đổi thông tin
Thiết kế giao diện quản lý trên trang web
1.4 Kết quả cần đạt
Xây dựng được server dữ liệu và website quản lý
Các thiết bị điều khiển giao tiếp thành công với server
Các thiết bị trong mạng zigbee có thể trao liên lạc với nhau
Có thể điều khiển đóng/ngắt các thiết bị khác
Trang 155
Chương 2 TỔNG QUAN VỀ INTERNET VÀ TCP/IP
2.1 Mạng Internet
2.1.1 Khái niệm mạng Internet
Internet là một hệ thống thông tin toàn cầu có thể được truy nhập công cộng gồm các mạng máy tính được liên kết với nhau Hệ thống này truyền thông tin theo kiểu nối chuyển gói dữ liệu (packet switching) dựa trên một giao thức liên mạng đã được chuẩn hóa (giao thức IP) Hệ thống này bao gồm hàng ngàn mạng máy tính nhỏ hơn của các doanh nghiệp, của các viện nghiên cứu và các trường đại học, của người dùng cá nhân và các chính phủ trên toàn cầu
2.1.2 Cấu trúc internet
Internet là một liên mạng kết nối các mạng nhỏ hơn với nhau Như vậy, cấu trúc Internet gồm các mạng máy tính được kết nối với nhau thông qua các kết nối viễn thông Thiết bị dùng để kết nối các mạng máy tính với nhau là cổng nối Internet (Internet Gateway) hoặc bộ định tuyến (Router)
Hình 2.1-1: Cấu trúc mạng internet
Trang 166
Tuy nhiên, đối với người dùng internet chỉ là một mạng duy nhất
Hình 2.1-2: Internet dưới góc nhìn của người sử dụng
2.1.3 Giao thức của mạng Internet - giao thức IP
Giao thức mạng là tập hợp các quy tắc và quy ước điều khiển việc trao đổi thông tin (truyền thông) giữa các hệ thống máy tính
Trong mạng Internet thì giao thức liên mạng (IP - Internet Protocol) là giao thức phổ biến và thông dụng nhất hiện nay Giao thức IP là một giao thức hướng dữ liệu được sử dụng bởi các máy chủ nguồn và đích để truyền dữ liệu trong một liên mạng chuyển mạch gói
Dữ liệu trong một liên mạng IP được gửi theo các khối được gọi là các gói (packet hoặc datagram) Cụ thể, IP không cần thiết lập các đường truyền trước khi một máy chủ gửi các gói tin cho một máy khác mà trước đó nó chưa từng liên lạc Giao thức IP cung cấp một dịch vụ gửi dữ liệu không đảm bảo (còn gọi là cố gắng cao nhất), nghĩa là nó hầu như không đảm bảo gì về gói dữ liệu Gói dữ liệu có thể đến nơi mà không còn nguyên vẹn, nó có thể đến không theo thứ tự (so với các gói khác được gửi giữa hai máy nguồn và đích đó), nó có thể bị trùng lặp hoặc bị
Trang 177
mất hoàn toàn Nếu một phần mềm ứng dụng cần được bảo đảm, nó có thể được cung cấp từ nơi khác, thường từ các giao thức giao vận nằm phía trên IP
Hình 2.1-3: Cấu trúc IP datagram Trong cấu trúc của IP datagram gồm có:
Version: Phiên bản của IP đang được sử dụng (IPv4 hoặc IPv6)
HLEN: chỉ độ dài của Internet Header
Type of Service: đặc tả tham số về dịch vụ gồm các trường về quyền ưu tiên gửi datagram, các chỉ số về độ trễ, thông lượng, độ tin cậy yêu cầu
Total Length: Độ dài toàn bộ của datagram kể cả header
Identification: Có chức năng giúp các Host đích lắp lại một gói tin đã bị phân mảnh
Flasgs: Cho biết datagram có phân mảnh hay không
Fragment Offset: chỉ vị trí của đoạn được phân mảnh (fragment) trong datagram
TTL (Time to Live): Cho biết thời gian tồn tại của Datagram trên liên mạng Để tránh tình trạng một gói tin bị lặp mãi trên mạng Mỗi khi qua một thiết bị định tuyến trường này sẽ giảm đi 1
Protocol: Cho biết giao thức tầng trên kế tiếp sẽ nhận dữ liệu ở trạm đích, thường là TCP hoặc UDP
Checksum: Mã kiểm tra lỗi bằng phương pháp CRC
Trang 188
Source Address: Địa chỉ IP của máy nguồn
Destination Address: Cho biết địa chỉ IP của trạm đích
Option: Khai báo các trường do người dùng yêu cầu
Data: Vùng dữ liệu cần gửi đi
Quá trình phân mảnh các gói dữ liệu: Trong quá trình truyền dữ liệu, một gói (datagram) có thể được truyền đi qua nhiều mạng khác nhau Một gói dữ liệu nhận được từ một mạng nào đó có thể quá lớn để truyền đi trong một gói đơn của mạng khác, bởi vậy mỗi loại cấu trúc mạng cho phép một đơn vị truyền cực đại (MTU - Maximum Transmission Unit) khác nhau - chính là kích thước lớn nhất cho một gói tin được truyền qua Nếu gói tin (datagram) có kích thước lớn hơn MTU của mạng, gói tin đó sẽ cần phân chia ra thành các Fragments để truyền đi
Fragments có định dạng giống như các gói datagram thông thường và có thêm phần đánh số cho các Fragments để phía nhận có thể sắp xếp và gộp lại thành gói tin ban đầu trước khi bị phân mảnh
2.1.4 Mô hình OSI
Một hình OSI (Open Systems Interconnection) – tạm dịch là mô hình tham chiếu kết nối các hệ thống mở: là một thiết kế dựa vào nguyên lý tầng cấp, lý giải một cách trừu tượng kỹ thuật kết nối truyền thông giữa các máy vi tính và thiết kế giao thức mạng giữa chúng Mô hình này được phát triển thành một phần trong kế hoạch kết nối các hệ thống mở (open systems interconnection) do ISO và IUT-T khởi xướng Nó còn được gọi là mô hình 7 tầng của OSI
Trang 19Lớp này mô tả các đặc trưng vật lý của mạng như:
Môi trường kết nối
Các loại dây cáp được dung để kết nối
Các chuẩn đầu cáp dung để kết nối
Khoảng cách kết nối
Đơn vị dữ liệu của tầng này là: bit
Trang 2010
2.1.4.2 Tầng liên kết dữ liệu (Data Link)
Tầng liên kết dữ liệu có chức năng thực hiện thiết lập các liên kết, duy trì và hủy bỏ các liên kết dữ liệu Kiểm soát lỗi và kiểm soát lưu lượng Tâng này bao gồm hai tầng nhỏ là: Media Access Control (MAC) và Logical Link Control (LLC) Đơn vị dữ liệu ở tầng này là: frame
2.1.4.3 Tầng mạng (Network)
Chức năng chính của tầng này là định tuyến, quyết định xem gói tin sẽ đi theo đường nào mà tối ưu nhất Tầng này cũng có nhiệm vụ cấp các địa chỉ mạng (ví dụ như địa chỉ IP)
Đơn vị dữ liệu ở tầng này là: packet
2.1.4.4 Tầng giao vận (Transport)
Là tầng chịu trách nhiệm, đảm bảo việc chuyển gói tin tới người dung (kết nối end-to-end) Kiểm soát độ tin cậy của kết nối, theo dõi các gói tin và truyền lại các gói tin lỗi Giao thức chính được sử dụng ở tầng này là TCP và UDP Cung cấp các địa chỉ cổng dịch vụ (address ports)
Đơn vị dữ liệu ở tầng này là: segment
2.1.4.5 Tầng phiên (Session)
Tầng phiên kiểm soát các (phiên) hội thoại giữa các máy tính Điều khiển phương thức trao đổi dữ liệu Quyết định trình tự truyền gói tin Đánh dấu các điểm
đã hoàn thành dễ dàng trong việc truyền lại
Đơn vị dữ liệu tầng này là: data
2.1.4.6 Tầng trình diễn (Presentation)
Tầng trình diễn hoạt động như tầng dữ liệu trên mạng Nó biến đổi về đúng chuẩn phù hợp với ứng dụng ở tầng 7 Thực hiện các công việc như mã hóa, giải mã hoặc nén, giải nén
Trang 21Đơn vị dữ liệu tầng này là: data
2.2 Bộ giao thức TCP/IP
2.2.1 Tổng quan
TCP/IP là bộ giao thức cho phép kết nối các hệ thống mạng không đồng nhất với nhau Ngày nay TCP/IP được sử dụng rộng rãi trong mạng cục bộ cũng như mạng toàn cầu
TCP/IP được xem như giản lược của mô hình tham chiếu OSI với 4 tầng như sau:
Tầng Liên Kết (Datalink Layer)
Tầng Mạng (Internet Layer)
Tầng Giao Vận (Transport Layer)
Tầng Ứng Dụng (Application Layer)
Trang 2212
Hình 2.2-1: Mô hình TCP/IP
2.2.1.1 Tầng liên kết
Tầng liên kết (còn được gọi là tầng liên kết dữ liệu hay tầng giao tiếp mạng)
là tầng thấp nhất trong mô hình TCP/IP, bao gồm các thiết bị giao tiếp mạng và các chương trình cung cấp các thông tin cần thiết để có thể hoạt động, truy nhập đường truyền vật lý qua các thiết bị giao tiếp mạng đó
2.2.1.2 Tầng internet
Tầng Internet ( hay còn gọi là tầng Mạng) xử lý quá trình truyền gói tin trên mạng, các giao thức của tầng này bao gồm : IP ( Internet Protocol) , ICMP ( Internet Control Message Protocol) , IGMP ( Internet Group Message Protocol )
2.2.1.3 Tầng giao vận
Tầng giao vận phụ trách luồng dữ liệu giữa 2 trạm thực hiện các ứng dụng của tầng trên, tầng này có 2 giao thức chính là TCP ( Transmisson Control Protocol)
và UDP ( User Datagram Protocol )
TCP cung cấp luồng dữ liệu tin cậy giữa 2 trạm, nó sử dụng các cơ
chế như chia nhỏ các gói tin ở tầng trên thành các gói tin có kích thước thích hợp cho tầng mạng bên dưới, báo nhận gói tin, đặt hạn chế thời gian timeout để đảm bảo bên nhân biết được các gói tin đã
Trang 2313
gửi đi Do tầng này đảm bảo tính tin cậy nên tầng trên sẽ không cần quan tâm đến nữa
UDP cung cấp một dịch vụ rất đơn giản hơn cho tầng ứng dụng
Nó chỉ gửi dữ liệu từ trạm này tới trạm kia mà không đảm bảo các gói tin đến được tới đích Các cơ chế đảm bảo độ tin cậy được thực hiện bởi tầng trên
2.2.1.4 Tầng ứng dụng
Là tầng trên của mô hình TCP/IP bao gồm các tiến trình và các ứng dụng cung cấp cho người sử dụng để truy cập mạng Có rất nhiều ứng dụng được cung cấp trong tầng này, mà phổ biến là Telnet: sử dụng trong việc truy cập mạng từ xa, FTP (File Transport Protocol) dịch vụ truyền tệp tin, EMAIL: dịch vụ truyền thư tín điện tử WWW (Word Wide Web)
2.2.2 So sánh TCP/IP với OSI
Mỗi tầng trong TCP/IP có thể là một hay nhiều tầng của OSI Hình sau chỉ rõ mối tương quan giữa các tầng trong mô hình TCP/IP với OSI
Hình 2.2-2: Sự khác nhau giữa TCP/IP với OSI
Từ hình trên ta thấy được mô hình TCP/IP có sự giản lược hơn so với OSI khi
mà tầng 1 và 2 của OSI thì được TCP gộp lại thành tầng Network Interface và ba
Trang 2414
tầng cao nhất của OSI được TCP/IP gộp lại thành tầng Application Tầng giao vận trong mô hình TCP/IP không phải luôn đảm bảo độ tin cậy của việc truyền tin như ở trong tầng giao vận của OSI mà cho phép thêm một lựa chọn khác là UDP
2.2.3 Giao thức trong mô hình TCP/IP
2.2.3.1 Internet Protocol – IP
IP là giao thức không liên kết, chức năng chủ yếu là cung cấp các dịch vụ datagram và các khả năng kết nối liên mạng để truyền dữ liệu với phương thức chuyển mạch gói IP datagram, thực hiện tiến trình định địa chỉ và chọn đường Cấu trúc gói dữ liệu IP: gọi là các datagram, mỗi datagram có phần Header chứa các thông tin điều khiển
Hình 2.2-3: cấu trúc gói tin trong giao thức IP
VER (4 bits): Version hiện hành của IP được cài đặt
IHL (4 bits): độ dài phần header tính theo đơn vị word
Type of service (8 bits): Thông tin về loại dịch vụ
Total length (16 bits): chỉ độ dài datagram
Identification (16 bits): định danh cho một datagram
Flags (3 bits): liên quan đến sự phân đoạn các datagram
Fragment Offset (13 bits): chỉ vị trí của Fragment trong datagram
Time To Live (TTL – 8 bits): thời gian sống
Trang 2515
Protocol (8 bits): chỉ giao thức tang trên (TCP hay UDP)
Header Checksum (16 bits): mã kiểm soát lỗi CRC
Source address (32 bits): địa chỉ của trạm nguồn
Destination address (32 bits): địa chỉ của trạm đích
Option (có độ dài thay đổi): sử dụng trong trường hợp bảo mật, định tuyến đặc biệt
Padding (độ dài thay đổi): vùng đệm cho phần header luôn kết thúc ở
32 bits
Data (độ dài thay đổi): độ dài dữ liệu tối đa là 65.535 bytes, tối thiểu là
8 bytes
2.2.3.2 Transmission Control Protocol - TCP
TCP (Transmission Control Protocol) là một giao thức hướng liên kết (Connectin Oriented), tức là trước khi truyền dữ liệu TCP phát và TCP thu thương lượng để thiết lập một kết nối logic tạm thời, tồn tại trong quá trình truyền số liệu TCP nhận thông tin từ tầng trên, chia dữ liệu thành nhiều gói theo độ dài quy định và chuyển giao các gói tin xuống cho các giao thức tầng mạng (tầng IP) để định tuyến Bộ xử lý TCP xác nhận từng gói, nếu không có xác nhận gói dữ liệu sẽ được truyền lại Thực thể TCP bên nhận sẽ khôi phục lại thông tin ban đầu dựa trên thứ tự gói và chuyển dữ liệu lên tầng trên
Giao thức TCP hoạt động ở lớp 3 trong mô hình TCP/IP và ở lớp 4 trong mô hình OSI
Một số nhiệm vụ của TCP:
Thiết lập, duy trì, giải phóng liên kết giữa hai thực thể TCP Phân phát gói tin một cách tin cậy
Tạo số thứ tự các gói dữ liệu, điều khiển lỗi
Cung cấp khả năng đa kết nối thông qua số hiệu cổng
Truyền dữ liệu theo chế độ song công
Trang 26 Source port (16 bits): địa chỉ nguồn
Destination (16 bits): địa chỉ đích
Sequence Number (32 bits): số thứ tự khi phát
Acknowledgment Number (32 bits): bên thu xác nhận thu được dữ liệu đúng
HLEN (4 bits)
Reserved (6 bits): dành cho tương lai
Control bits (6 bits): các bit điều khiển
URG: vùng con trỏ khẩn có hiệu lực
ACK: vùng báo nhận (ACK number) có hiệu lực
PSH: chức năng PUSH
RST: khởi động lại liên kết
SYN: đồng bộ các số liệu tuần tự (sequence number)
FIN: không còn dữ liệu từ trạm nguồn
Trang 2717
Window (16 bits): số lượng các bytes dữ liệu trong vùng cửa sổ bên phát
Chech sum (16 bits): theo phương pháp CRC
Urgent Pointer (16 bits): số thứ tự của byte dữ liệu khẩn, khi URG được thiết lập
Option (thay đổi): khai báo độ dài tối đa của TCP data trong một segment
Padding (thay đổi): phần chèn thêm vào header
Quá trình kết nối và hủy kết nối của TCP:
Hình quá trình kết nối của TCP
Hình 2.2-5: Qua trình hủy kết nối của TCP
2.2.3.3 User Datagram Protocol - UDP
UDP là giao thức không liên kết, sử dụng cho các tiến trình không yêu cầu về
độ tin cậy cao, không có cơ chế xác nhận ACK, không đảm bảo chuyển giao các gói đến đích và theo đúng thứ tự cũng như không loại bỏ các gói tin trùng lặp
Trang 2818
Nó cho phép ứng dụng trao đổi thông tin qua mạng với ít thông tin điều khiển nhất Cung cấp cơ chế gán và quản lý các số hiệu cổng để định danh duy nhất cho các ứng dụng chạy trên một client của mạng
Hình 2.2-6: cấu trúc gói tin UDP
Trường hợp nên dùng UDP:
Nếu một số lượng lớn các gói tin nhỏ được truyền, thông tin cho việc kết nối và sửa lỗi có thể lớn hơn nhiều so với thông tin cần truyền Trong trường hợp này UDP là giải pháp hiệu quả nhất
Những ứng dụng kiểu “Query – Response” cũng rất phù hợp với UDP, câu trả lời có thể dùng làm sự xác nhận của một câu hỏi Một số ứng dụng đã tự nó cung cấp công nghệ riêng để chuyển giao thông tin tin cậy
2.2.3.4 Internet control message protocol – ICMP
ICMP là một giao thức hoạt động trên layer 2 - Internetwork trong mô hình TCP/IP hoặc layer 3 - Network trong mô hình OSI và là giao thức điều khiển của tầng IP, sử dụng để trao đổi các thông tin điều khiển dòng dữ liệu, thông báo lỗi và các thông tin trạng thái khác của bộ giao thức TCP/IP
Có hai loại: thông điệp truy vấn và thông điệp thông báo lỗi
Điều khiển lưu lượng
Thông báo lỗi
Định hướng lại các tuyến
Trang 29Thông báo lỗi Định hướng lại (Redirection)
Vượt ngưỡng thời gian (Time Exceeded) Bảng 2.2-1: Thông điệp của ICMP
2.2.3.5 Giao thức phân giải địa chỉ - ARP
Giao thức TCP/IP sử dụng ARP để tìm địa chỉ vật lý của trạm đích khi biết IP Mỗi hệ thống lưu trữ và cập nhật bảng thích ứng địa chỉ IP-MAC (ARP Cache) nó chỉ được cập nhật bởi người quản trị hệ thống hoặc tự động bởi giao thức ARP sau mỗi lần ánh xạ một địa chỉ tương ứng mới
Trước khi trao đổi dữ liệu, node nguồn phải xác định địa chỉ MAC của node đích bằng cách tìm kiếm trong bảng địa chỉ Nếu không tìm thấy, node nguồn gửi quảng bá một gói yêu cầu ARP (ARP Request) chứa địa chỉ IP đích
Tiến trình của ARP được mô tả như sau:
Trạm yêu cầu: Có IP, yêu cầu địa chỉ MAC
Trạm yêu cầu: tìm kiếm trong bảng ARP
Trang 3020
Nếu tìm thấy sẽ trả lại địa chỉ MAC
Nếu không tìm thấy, tao ARP Request phát quảng bá tới các trạm khác
Tùy theo gói tin trả lời, ARP cập nhật vào bảng ARP
Hình 2.2-7: Hoạt động của ARP
2.2.3.6 Giao thức phân giải địa chỉ - RARP
RARP là giao thức phân giải địa chỉ ngược, cho trước địa chỉ MAC tìm địa chỉ
IP tương ứng Nó khác với ARP là gói tin trả lời chỉ server được trả lời RARP Reply
Hình 2.2-8: Hoạt động của RARP
Trang 3121
Chương 3 TỔNG QUAN VỀ MẠNG ZIGBEE
3.1 Giới thiệu về các giao thức truyền thông không dây
Nhiều phương pháp và chuẩn kết nối đã được phát triển trên toàn thế giới dựa trên sự đa dạng về nhu cầu thương mại Những công nghệ này có thể được phân loại thành 4 nhóm (PAN, LAN, MAN, WAN) dựa trên những ứng dụng đặc trưng và phạm vi truyền của chúng Hình sau mô tả các nhóm này
Hình 3.1-1: Các nhóm truyền thông không dây
3.1.1 Personal area network (PAN)
PAN là một mạng sử dụng cho việc kết nối giữa các thiết bị cá nhân (gồm điện thoại và các thiết bị số cá nhân khác) Phạm vi truyền thông của PAN chỉ là vài mét PAN có thể kết nối các thiết bị với nhau hoặc với mạng internet
Mạng PAN không dây (wireless PAN) thường được kết nối bằng cách sử dụng các giao thức Infrared (IrDA), Bluetooth
3.1.2 Local area network (LAN)
Mạng LAN không dây (WLAN) là mạng kết nối hai hay nhiều đối tác truyền thông với nhau mà không cần dây nối Nó sử dụng sóng radio để đạt được chức
Trang 3222
năng tương tự như nối dây WLAN cho phép người dung di chuyển trong một vùng phạm vi hẹp (nhà ở, phòng làm việc, trường học…) mà vẫn kết nối được với mạng Wifi (chuẩn IEEE 802.11) là một đại diện điển hình của WLAN, gồm có 802.11a/b/g/n
3.1.3 Metropolitan area network (MAN)
Mạng MAN không dây là tên được đặt bởi IEEE 802.16 – nhóm làm việc trên chuẩn không dây băng tần rộng (được biết đến trong thương mại là WiMAX) Nó được định nghĩa là truy cập internet bang thông rộng từ thiết bị cố định hoặc di động thông qua anten Các trạm đăng ký kết nối với trạm cơ sở và trạm cơ sở kết nối đến mạng lõi
WiMAX có khả năng thay thế tốt mạng dây cố định vì đơn giản và tương đối
rẻ trong xây dựng Phạm vi phủ song của WiMAX có thể lên đến 16 km, tuy nhiên
ở khoảng cách lớn khả năng tải của mạng giảm đáng kể Trong hầu hết mọi trường hợp, các điểm truy cập được them vào để duy trì chất lượng dịch vụ
3.1.4 Wide area network (WAN)
WAN là mạng máy tính phủ sóng một vùng địa lý rộng, khác với PAN, LAN hay MAN thường chỉ hoạt động trong một khuôn viên giới hạn Ví dụ điển hình nhất của WAN là mạng internet WAN được sử dụng để kết nối các mạng địa phương (LAN) với nhau, vì thế người dung và máy tính trong khu vực này có thể kết nối với người dùng và máy tính trong khu vực khác Nhiều mạng WAN là mạng kín được xây dựng cho các tổ chức đặc biệt Các mạng khác được xây dựng bởi các nhà cung cấp dịch vụ internet (ISP) thì có nhiệm vụ kết nối mạng LAN của tổ chức vào internet Bên cạnh đó, WAN cũng là tên gọi cho các mạng truyền thông dữ liệu
di động như GSM, GPRS và 3G
Trang 33Tên gọi Zigbee lấy cảm hứng từ điệu nhảy theo đường zig-zag của ong mật (honey bee), điệu nhảy này được loài ong sử dụng để trao đổi thông tin với nhau về
vị trí của hoa và nguồn nước
3.2.2 Chuẩn truyền thông không dây IEEE 802.15.4
IEEE (Institute of Electrical and Electronics Engineers) là một tổ chức phi lợi nhuận nhằm mục đích nghiên cứu phát triển các công nghệ liên quan đến thiết bị điện và điện tử Trong đó nhóm 802 chuyên nghiên cứu về các công nghệ mạng và
bộ phận 802.15 được dành riêng cho các chuẩn mạng không dây IEEE 802.15.4 quy định truyền thông trên sóng radio trong phạm vi 10 mét đến 100 mét và hoạt động ở ba dải tần chính:
Dải 868 – 868.8 MHz (Châu Âu): chỉ một kênh tín hiệu, trong dải này tốc độ truyền là 20kb/s
Dải 902 – 928 MHz (Mỹ, Canada, Úc): có 10 kênh tín hiệu từ 1 – 10 với tốc độ truyền thường là 40kb/s
Dải 2.4 – 2.4835 GHz (hầu hết các nước khác trên thế giới): 16 kênh tín hiệu từ 11 – 26 với tốc độ truyền 250kb/s
Trang 3424
Hình 3.2-1: Băng tần hệ thống mạng Zigbee
3.2.3 Cấu trúc của giao thức Zigbee
Tương tự như các giao thức truyền thông khác, Zigbee cũng có một kiến trúc ngăn xếp nhiều tầng, trong đó tầng vật lý và tầng MAC (medium access control) được định nghĩa giống chuẩn IEEE 802.15.4 Sau đó ZigBee Allience đã định nghĩa thêm 4 thành phần chính: tầng mạng, tầng ứng dụng, đối tượng thiết bị Zigbee (Zigbee device objects – ZDO) và các đối tượng người dung (cho phép tùy biến theo từng ứng dụng) Trong đó việc thêm vào các ZDO chính là cải tiến đáng kể nhất, vì đây chính là các đối tượng thực hiện nhiều tác vụ như định nghĩa vai trò của các thiết bị, tổ chức và yêu cầu truy nhập vào mạng, bảo vệ cho thiết bị…
Trang 3525
Hình 3.2-2: cấu trúc giao thức Zigbee
3.2.4 Thành phần mạng Zigbee
Một mạng kiểu Zigbee gồm có 3 loại thiết bị:
ZC (Zigbee Coordinator): đây là thiết bị gốc có khả năng quyết định kết cấu mạng, quy định cách đánh địa chỉ và lưu giữ bảng địa chỉ Mỗi mạng chỉ có duy nhất một Coordinator và nó cũng là thành phần duy nhất có thể truyền thông với các mạng khác
ZR (Zigbee Router): có các chức năng định tuyến trung gian truyền dữ liệu, phát hiện và lập bản đồ các nút xung quanh, theo dõi, điều khiển, thu thập dữ liệu như nút bình thường Các router thường ở trạng thái hoạt động (active mode) để truyền thông với các thành phần khác của mạng
ZED (Zigbee End Devide): các nút này chỉ truyền thông với Coordinator hoặc Router ở gần nó, chúng được coi như điểm cuối của mạng và chỉ có nhiệm vụ hoạt động/đọc thông tin từ các thành phần vật
Trang 3626
lý ZED có kết cấu đơn giản và thường ở trạng thái nghỉ (sleep mode)
để tiết kiệm năng lượng Chúng chỉ được "đánh thức" khi cần nhận hoặc gửi một thông điệp nào đó
Các thiết bị này thường được chia làm 2 loại là FFD (Full Function Device) và RFD (Reduced Function Device) Trong đó FFD có thể hoạt động như một Coordinator, Router hoặc End Device, còn RFD chỉ có thể đóng vai trò End Device trong một mạng ZigBee
3.2.5 Mô hình mạng Zigbee
Chuẩn Zigbee có 3 cấu hình mạng cơ bản, tùy vào những ứng dụng cụ thể
mà người ta thiết lập mạng theo các cấu hình khác nhau
Hình 3.2-3: Cấu trúc liên mạng mạng Zigbee Hình trên cho ta thấy ba loại mạng mà Zigbee cung cấp: Mạng hình sao (star), mạng hình cây (cluster tree), mạng mắt lưới (mesh)
Trang 373.2.5.2 Mạng hình sao (star)
Hình 3.2-5: Cấu trúc mạng hình sao của Zigbee
Một kết nối được thành lập bởi các thiết bị với một thiết bị điều khiển trung tâm (PAN Coordinator) Mỗi mạng hình sao phải có một chỉ số nhận dạng cá nhân
Trang 3828
của riêng nó, gọi là PAN-ID, nó cho phép mạng này có thể hoạt động một cách độc lập
3.2.5.3 Mạng hình cây (cluster tree)
Hình 3.2-6: Cấu trúc mạng hình cây của Zigbee
Cấu trúc này là một dạng đặc biệt của cấu trúc hình lưới, trong đó đa số thiết
bị là FFD và một RFD có thể kết nối vào mạng như một nút rời rạc ở điểm cuối của nhánh cây Bất kỳ một nhánh cây nào cũng có thể hoạt động như một coordinator, cung cấp tín hiệu đồng bộ cho các thiết bị và các coordinator khác Vì thế cấu trúc mạng kiểu này có quy mô phủ sóng và khả năng mở rộng cao Trong loại cấu hình mạng này mặc dù có thể có nhiều coordinator nhưng sẽ chỉ có duy nhất một điều phối mạng PAN (PAN coordinator)
3.3 Mô hình giao thức của Zigbee/IEEE 802.15.4
Zigbee/IEEE 802.15.4 là công nghệ xây dựng và phát triển các tầng ứng dụng
và tầng mạng trên nền tảng là hai tầng Physical và Mac theo chuẩn IEEE 802.15.4, chính vì thế nên nó thừa hưởng được mọi ưu điểm đó là tính tin cậy, đơn giản, năng lượng tiêu hao ít và khả năng thích ứng cao với các môi trường mạng Phía dưới là
mô hình chuẩn của Zigbee/IEEE 802.15.4
Trang 393.3.2 Tầng điều khiển dữ liệu
Tầng điều khiển môi trường truy cập MAC (media access control) cung cấp 2 dịch vụ là dịch vụ dữ liệu MAC và quản lý MAC, nó có giao diện với điểm truy cập dịch vụ của thực thể quản lý tầng MAC (MLMESAP) Dịch vụ dữ liệu MAC có
Trang 403.3.3 Tầng mạng
Tầng vật lý trong mô hình của giao thức Zigbee được xây dựng trên nền của tầng điều khiển dữ liệu, nhờ những đặc điểm của tầng MAC mà tầng vật lý có thể kéo dài việc đưa tin, mở rộng qui mô mạng dễ dàng, một mạng có thể hoạt động cùng mạng khác một cách riêng biệt Tầng vật lý đảm nhận các chức năng như là:
Bảo mật: gán các thông tin bảo mật vào gói tin và gửi xuống tầng dưới
Định tuyến, giúp gói tin có thể đến được đúng đích mong muốn Có thể nói rằng thuật toán của ZigBee là thuật toán định tuyến phân cấp sử dụng bảng định tuyến phân cấp tối ưu được áp dụng từng trường hợp thích hợp
3.3.4 Tầng ứng dụng
Lớp ứng dụng của ZigBee/IEEE802.15.4 thực chất gồm các ba tầng, các tầng này tương ứng với các tầng phiên, trình diễn và ứng dụng trong mô hình 7 tầng Trong ZigBee/IEEE 802.15.4 thì chức năng của tầng Application Framework: