Professional Documents
Culture Documents
Zigbee Thesis PDF
Zigbee Thesis PDF
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---------------
3.1. Giới thiệu về các giao thức truyền thông không dây...................................21
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
6.3.3. Các hàm sử dụng PHP lấy dữ liệu cho mạch điều khiển ...................... 66
Hình 2.1-2: Internet dưới góc nhìn của người sử dụng ...............................................6
Hình 2.2-3: cấu trúc gói tin trong giao thức IP .........................................................14
Hình 2.2-5: Qua trình hủy kết nối của TCP. .............................................................17
Hình 3.2-4: Cấu trúc mạng mắt lưới 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 4.2-3: minh họa URI trong RESTul web service ............................................42
Hin
̀ h 5.3-4: Các chân của DRF1605H. .....................................................................51
Hin
̀ h 5.4-1: Sơ đồ mạch điều khiển. .........................................................................55
Hin
̀ h 5.4-2: Sơ đồ mạch nguồn. ................................................................................56
Hin
̀ h 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
Hin
̀ h 5.4-7: Sơ đồ mạch DRF1605H.........................................................................61
Hin
̀ h 5.5-1: Mạch in mạch điều khiển - Router ........................................................62
Hin
̀ h 5.5-2: Mạch in mạch điều khiển - Coordinator ................................................62
Hin
̀ h 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
Hin
̀ h 7.1-2: Mạch điều khiển – Coordinator. ............................................................67
Hình 7.2-1: Giao diện bảo mật ..................................................................................68
Hin
̀ h 7.3-1: Các relay đang ở trạng thái ngắt ............................................................69
Hin
̀ h 7.3-2: Các relay đang ở trạng thái đóng. ..........................................................69
Hin
̀ h 7.4-1: SQL Server dữ liệu quản lý người dùng. ...............................................70
Hin
̀ h 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
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ô!
1
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Đ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ế.
2
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Ngày nay, các thiết bị điện tử và tự động hóa có mặt ở khắp nơi, chúng ta dễ
dàng bắt gặp trong tất cả các lĩnh vực, từ những ứng dụng đặc biệt trong công
nghiệp cho đến những sản phẩm dân dụng. Ban đầu, việc giám sát từ xa thông qua
một hệ thống gồm các phần tử nối với nhau bằng dây dẫn với các chuẩn truyền
thông phổ biến như RS-232, RS-485 và các chuẩn công nghiệp như ProfiBus. Tuy
nhiên, việc mở rộng phạm vi điều khiển (tức số lượng các phần tử) của mô hình này
khá khó khăn và đặc biệt là khoảng cách điều khiển thì rất hạn chế.
Sự 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.
3
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
4
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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.
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).
5
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Tuy nhiên, đối với người dùng internet chỉ là một mạng duy nhất.
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ị
6
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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.
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.
7
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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.
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
8
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Lớp vật lý định nghĩa các đặc tính vật lý của mạng chẳng hạn như kết nối, cấp
điện áp và thời gian.
9
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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).
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).
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).
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.
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.
10
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Tầng ứng dụng là tầng gần với người sử dụng nhất. Nó cung cấp phương tiện
cho người dùng truy nhập các thông tin và dữ liệu trên mạng thông qua chương
trình ứng dụng. Tầng này là giao diện chính để người dùng tương tác với chương
trình ứng dụng, và qua đó với mạng. Một số ví dụ về các ứng dụng trong tầng này
bao gồm Telnet, Giao thức truyền tập tin FTP và Giao thức truyền thư điện tử
SMTP, HTTP, X.400 Mail remote.
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:
11
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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 đó.
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 ).
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 đã
12
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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.
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)
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
13
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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
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.
14
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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.
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.
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.
15
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
16
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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.
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.
17
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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.
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.
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
18
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Thông điệp Yêu cầu và phúc đáp mặt nạ địa chỉ (Address mask Request và
truy vấn Address mask Reply)
Thông điệp Yêu cầu ngừng hoặc giảm tốc độ phát (Source Quench)
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.
19
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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.
20
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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
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
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
21
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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.
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ụ.
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.
22
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Zigbee là một giao thức truyền thông bậc cao được phát triển dựa trên chuẩn
truyền thông không dây IEEE 802.15.4, sử dụng tín hiệu radio cho các mạng cá
nhân PAN (personal area network). Zigbee thích hợp với những ứng dụng không
đòi hỏi tốc độ truyền dữ liệu quá cao nhưng cần có mức độ bảo mật lớn và thời gian
hoạt động dài. Các mạng ad-hoc sử dụng sóng radio tương tự Zigbee đã được khai
nghén từ những năm 1998–1999 khi giới khoa học nhận thấy wifi và Bluetooth
không phù hợp cho nhiều ứng dụng công nghiệp. Tuy nhiên, chỉ đến năm 2004 bộ
tiêu chuẩn Zigbee mới chính thức được tạo dựng và thông qua bởi tổ chức ZigBee
Alliance.
Tê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.
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.
23
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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ị…
24
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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
25
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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.
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.
26
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
27
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
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.
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
28
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Tầng vật lý cung cấp hai dịch vụ dữ liệu PHY và quản lý PHY, hai dịch vụ
này có giao diện với dịch vụ quản lý tầng vật lý PLME (physical layer
management). Dịch vụ dữ liệu PHY điều khiển việc thu và phát của khối dữ liệu
PPDU (PHY protocol data unit) thông qua kênh sóng vô tuyến vật lý. Các tính năng
của tầng PHY là sự kích hoạt hoặc giảm kích hoạt của bộ phận nhận sóng, phát hiện
năng lượng, chọn kênh, chỉ số đường truyền, giải phóng kênh truyền, thu và phát
các gói dữ liệu qua môi trường truyền.
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ó
29
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
nhiệm vụ quản lý việc thu phát của khối MPDU (giao thức dữ liệu MAC) thông qua
dịch vụ dữ liệu PHY.
Nhiệm vụ của tầng MAC là quản lý việc phát thông tin báo hiệu beacon, định
dạng khung tin để truyền đi trong mạng, điều khiển truy nhập kênh, quản lý khe
thời gian GTS, điều khiển kết nối và giải phóng kết nối, phát khung Ack.
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à:
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:
30
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Dò tìm ra xem có nốt hoặc thiết bị nào khác đang hoạt động trong vùng
phủ sóng của thiết bị đang hoạt động hay không.
Duy trì kết nối, chuyển tiếp thông tin giữa các nốt mạng.
Chức năng của tầng Application Profiles là:
Xác định vai trò của các thiết bị trong mạng. (thiết bị điều phối mạng,
hay thiết bị đầu cuối, FFD hay RFD…).
Thiết lập hoặc trả lời yêu cầu kết nối.
Thành lập các mối quan hệ giữa các thiết bị mạng.
Chức năng của tầng Application là thực hiện các chức năng do nhà sản xuất
qui định (giao diện…) để bổ sung thêm vào các chức năng do ZigBee qui định.
31
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mạnh mẽ và tốc độ. MySQL
cho phép chúng ta lưu trữ, tìm kiếm, sắp xếp và lấy dữ liệu rất hiệu quả và nhanh
chóng. Cơ sở dữ liệu chủ MySQL điều khiển việc truy cập dữ liệu, cho phép nhiều
người dùng cùng truy cập đồng thời mà an toàn và nhanh chóng. Do đó MySQL trở
thành một hệ quản trị cơ sở dữ liệu chủ đa người dùng và đa luồng. Nó sử dụng
ngôn ngữ truy vấn có cấu trúc SQL, là ngôn ngữ truy vấn cơ sở dữ liệu chuẩn trên
thế giới hiện nay. MySQL trở nên phổ biến từ những năm 1996 nhưng lịch sử phát
triển của nó đã bắt nguồn từ những năm 1979.
MySQL là phần mềm có mã nguồn mở có thể download phần mềm miễn phí
trên Internet từ địa chỉ: http://mysql.com và hoàn toàn có thể học mã nguồn, thay
đổi mã nguồn để sử dụng theo mục đích riêng.
ODBC – Open DataBase Connectivity - là một chương trình giao tiếp lập trình
chuẩn cho người phát triển ứng dụng và nhà cung cấp cơ sở dữ liệu của Microsoft.
Để truy xuất đến các cơ sở dữ liệu thông qua ODBC, ta phải cài đặt Driver đến cơ
sở dữ liệu đó. ODBC có nhiều Driver hỗ trợ cho các cơ sở dữ liệu khác nhau, để
chuyển các mẫu tin thành những dữ liệu nguồn (Data Source). Hệ điều hành căn cứ
vào các thông tin khai báo để xác định cấp của ODBC Driver giao tiếp với Data
32
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Source. Việc nạp ODBC là “trong suốt” đối với chương trình ứng dụng. Trong môi
trường mạng, ODBC đảm nhận luôn cả việc xử lý những vấn đề truy xuất dữ liệu
trên mạng như việc truy cập đồng thời, giải quyết các xung đột…
Vì ODBC cung cấp sự truy xuất bất kỳ dạng cơ sở dữ liệu thông dụng có sẵn
nên tạo một sự uyển chuyển trong ứng dụng, từ đó giúp ta đưa cơ sở dữ liệu lên
trang Web một cách dễ dàng. Nếu ta có thể dùng ODBC với Web Server, tức là ta
có thể lấy dữ liệu từ cơ sở dữ liệu và đưa lên trang Web bất kể dữ liệu đó được lưu
trữ trên môi trường nào.
Personal Home Pge – PHP trên MySQL: PHP là ngôn ngữ dùng để tạo các
trang Web động từ server và gởi chúng tới trình duyệt. Tuy nhiên, PHP tương thích
với nhiều hệ điều hành hơn, và cũng tương thích với nhiều Web server hơn các
ngôn ngữ khác. Các điểm mạnh của PHP bao gồm:
Tính thực thi cao: PHP rất hiệu quả, sử dụng server rẻ, chúng ta có thể
đáp ứng hàng triệu lượt truy cập mỗi ngày vào trang Web.
Mạch ghép nối đến nhiều hệ thống cơ sở dữ liệu khác nhau: PHP kết
nối đến nhiều hệ thống cơ sở dữ liệu. Ngoài MySQL ra ta còn có thể
kết nối được với các hệ quản trị cơ sở dữ liệu khác như: PostgreSQL,
mSQl, Ocracle, dbm, filePro, Hyperwave, Infomix, InterBase, và
Sybase. Dùng ODBC (Open Database Connectivity Standard) có thể
kết nối đến bất kỳ cơ sở dữ liệu nào có hỗ trợ ODBC driver bao gồm
các sản phẩm của Microsoft và nhiều hãng khác.
Xây dựng thư viện cho nhiều tác vụ Web thông dụng: Do PHP được
thiết kế cho việc sử dụng Web nên nó có nhiều chức năng được xây
dựng để thực thi nhiều tác vụ quan hệ Web hữu dụng. Chúng ta có thể
thao tác trên hình ảnh GIF, kết nối với những dịch vụ mạng khác, gởi
mail, làm việc với cookie và tạo tài liệu PDF.
Dễ học và dễ sử dụng
33
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Mã nguồn mở.
PHP kết hợp với MySQL chính là sự kết hợp tuyệt vời giữa hai công nghệ
đang được ưa chuộng nhất hiện nay trên thế giới. Một bộ đôi có nhiều điểm chung
giống nhau như độc lập với hệ điều hành, mã nguồn mở, tiết kiệm chi phí…
Sự hỗ trợ tối đa các loại hàm trong PHP đối với MySQL làm cho mọi thao tác
trên dữ liệu trở nên nhanh chóng, phù hợp với xu thế thiết kế Web hiện nay là ưu
tiên cho tốc độ lấy dữ liệu. Sơ đồ làm việc giữa PHP và MySQL thông qua trình
duyệt Web được minh hoạ như hình dưới đây:
Bước 3: Ngôn ngữ kịch bản PHP gồm các câu lệnh PHP, chẳng hạn như lệnh
gọi kết nối cơ sở dữ liệu và truy xuất dữ liệu…
Bước 4: Dữ liệu được lấy lên từ cơ sở dữ liệu và kịch bản PHP sẽ làm một số
việc định dạng dữ liệu.
Bước 6: Apache gởi đến trình duyệt các yêu cầu đã được đáp ứng. Lúc này sẽ
thấy một số thông tin được lấy từ cơ sở dữ liệu.
34
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Các trường hợp khác để định danh cho mọi đối tượng trong MySQL phải tuân
theo nguyên tắc sau:
Đối tượng cần Chiều dài Trường hợp tương tự Ký tự được dùng
định danh tối đa
Mỗi hệ thống MySQL có thể có nhiều người sử sụng đồng thời. Vì lý do bảo
mật nên người quản trị hệ thống cần phải bảo vệ tài khoản và mật khẩu truy cập vào
root. Khi có một người dùng khác cần sử dụng hệ thống, người quản trị cần cấp cho
người dùng này một tài khoản và mật khẩu riêng để log vào hệ thống. Ngoài ra cần
phải cấp cho người này một số quyền tối thiểu để thực hiện một vài thao tác. Các
35
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
quyền này dùng để xác định những điều gì người dùng này có thể làm được và
những gì không thể làm được.
Hệ thống phân quyền của MySQL gồm các cấp độ như sau:
PhpMyAdmin là một công cụ mã nguồn mở được viết bằng ngôn ngữ PHP
dùng để tương tác với cơ sở dữ liệu MySQL thông qua giao diện chương trình duyệt
web. Có thể nói phpMyAdmin là bản thu gọn cho chương trình MySQL tuy vậy
nhưng nó vẫn có thể thực hiện hầu hết các tác vụ tương tự MySQL như tạo, sửa
hoặc xóa cơ sở dữ liệu, bảng biểu, cột, hàng, thực hiện xuất/nhập cơ sở dữ liệu cũng
như quản lý người dùng.
PhpMyAdmin cung cấp cho người dùng giao diện quản lý cơ sở dữ liệu qua
website rất thân thiện và dễ sử dụng.
36
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
37
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Browse: Hiển thị thông tin chi tiết về nội dung các cột, các hàng, bên trong cơ
sở dữ liệu. Ngoài hiển thị thì trong tab này cũng cho phép sửa, xóa hoặc xuất bảng
dữ liệu đó ra thành tập tin.
SELECT `a` FROM `b` WHERE `c` Câu lệnh được dùng để đọc dữ liệu trong
38
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
INSERT INTO `a` VALUES `b` a: Cột trong bảng cần thêm dữ liệu.
Xóa dữ liệu
Import/Export: Nhập dữ liệu từ tập tin vào cơ sở dữ liệu MySQL hoặc xuất dữ
liệu ra tập tin.
39
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
REST là viết tắt của REpresentational State Transfer (dịch nôn na là chuyển
trạng thái đại diện) là một kiểu kiến trúc lập trình, nó định nghĩa các quy tắc để thiết
kết các web service chú trọng vào tài nguyên hệ thống. Trong kiến trúc REST mọi
thứ đều được coi là tài nguyên, chúng có thể là: tệp văn bản, ảnh, trang html, video,
hoặc dữ liệu động… REST server cung cấp quyền truy cập vào các tài nguyên,
REST client truy cập và thay đổi các tài nguyên đó. Ở đây các tài nguyên được định
danh dựa vào URI, REST sử dụng một vài đại diện để biểu diễn các tài nguyên như
văn bản, JSON, XML.
RESTful web service là các web service được viết dựa trên kiến trúc REST.
REST đã được chọn và sử dụng rộng rãi thay thế cho các web service dựa trên
SOAP và WSDL. RESTful web service nhẹ, có khả năng dễ mở rộng và bảo trì.
Điểm chú ý đầu tiên khi cài đặt RESTful web service là sử dụng một cách rõ
ràng các phương thức HTTP theo cách mà chúng được định nghĩa bởi RFC 2616.
Ví dụ phương thức GET được định nghĩa với mục đích để client sử dụng vào việc
lấy dữ liệu từ server hoặc thực hiện một truy vấn để server tìm và trả về một tập các
tài nguyên phù hợp. REST yêu cầu các nhà phát triển sử dụng một cách rõ ràng các
phương thức HTTP và nhất quán với cách mà chúng được định nghĩa. Quy tắc này
40
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
của REST giúp thiết lập ánh xạ một một giữa các hành động tạo, đọc, cập nhật và
xóa với các phương thức HTTP. Theo đó sẽ có:
Để tạo một tài nguyên trên server ta dùng phương thức POST.
Để lấy (đọc) tài nguyên trên server ta dùng phương thức GET.
Để update tài nguyên trên server ta dùng phương thức PUT.
Để xóa tài nguyển trên server ta dùng phương thức DELETE.
41
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Theo REST trạng thái hoặc được giữ trên client hoặc được chuyển thành trạng
thái của tài nguyên. Nói một cách khác một server sẽ không bao giờ giữ trạng thái
thông tin trao đổi với bất kỳ client nào nó giao tiếp, mỗi request lên server thì client
phải đóng gói thông tin đầy đủ để thằng server hiểu được. Điều này giúp hệ thống
của bạn dễ phát triển,bảo trì, mở rộng vì không cần tốn công CRUD trạng thái của
client. Ngoài ra còn một nguyên nhân quan trọng hơn đó là nó tách biệt client khỏi
sự thay đổi của server.
URI trong RESTful web service phải tự mô tả, hoặc tham chiếu được cái mà
nó trỏ tới và các tài nguyên liên quan. Ngoài ra URI cũng phải đơn giản, có thể
đoán biết được, và dễ hiểu. Để tạo ra URI với yêu cầu trên thì ta nên định nghĩa
URI có câu trúc giống thư mục. Loại URI này có phân cấp, có gốc là một đường
dẫn đơn, các nhánh từ gốc là các đường dẫn phụ dẫn đến các các vùng service
chính.
Điều cuối cùng trong tập các ràng buộc khi thiết kế RESTful web service phải
làm là định dạng dữ liệu mà ứng dụng và service trao đổi trong phụ tải
request/response hoặc trong HTTP body. Cung cấp nhiều đại diện biểu diễn cho tài
nguyên cho các request khác nhau. Cụ thể ở đây ta có thể sử dụng các một vài kiểu
MIME thông dụng sau:
42
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
JSON
XML
XHTML
Điều này cho phép các service sử dụng bởi các client viết bởi các ngôn ngữ
khác nhau, chạy trên nhiều nền tảng và thiết bị khác nhau. Sử dụng các kiểu MIME
cho phép client chọn dạng dữ liệu phù hợp với nó.
43
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Để tạo ra mạch điều khiển thiết bị qua mạng internet ta cần đáp ứng các yêu
cầu như sau:
Giao tiếp với các module kết nối với mạng internet qua wifi và mạng
zigbee.
Nhận và xử lý thông tin dạng JSON được lấy từ web server.
Chuyển thông tin vào mạng zigbee.
Điều khiển các relay đóng hoặc ngắt theo thông tin nhận được.
44
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
ESP8266 là một SoC cung cấp một giải pháp mạng wifi hoàn chỉnh và khép
kín.
Module ESP8266 là module wifi giá rẻ và được đánh giá rất cao cho các ứng
dụng liên quan đến Internet và Wifi cũng như các ứng dụng truyền nhận sử dụng
thay thế cho các module RF khác.
ESP8266 là một chip tích hợp cao, được thiết kế cho nhu cầu của một thế giới
kết nối mới, thế giới Internet of thing (IOT). Nó cung cấp một giải pháp kết nối
mạng Wi-Fi đầy đủ và khép kín, cho phép nó có thể lưu trữ các ứng dụng hoặc để
giảm tải tất cả các chức năng kết nối mạng Wi-Fi từ một bộ xử lý ứng dụng.
ESP8266 có xử lý và khả năng lưu trữ mạnh mẽ cho phép nó được tích hợp
với các bộ cảm biến, vi điều khiển và các thiết bị ứng dụng cụ thể khác thông qua
GPIOs với một chi phí tối thiểu và một PCB tối thiểu.
45
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
46
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Các chân 18 tới chân 23 của vi xử lý ESP8266 dành cho kết nối SPI.
Các chân 25-26 của ESP sử dụng cho kết nối nối tiếp (UART).
Thiết lập kết nối vi xử lý với ESP8266 giao tiếp bằng UART
GND Đất
Tốc độ giao tiếp mặc định của ESP8266 qua cổng nối tiếp là 9600.
Chúng ta có thể sử dụng tập lệnh AT để cấu hình lại cho module.
Lưu ý là kết thúc dữ liệu truyền sang phải có hai ký tự <CR> và <LF> tương
đương với 2 byte 0x0D và 0x0A.
Sau khi cài đặt thông số kỹ thuật sẽ tự động được lưu lại và không phải cài lại
mỗi khi khởi động. Nếu reset các thông số sẽ không còn.
47
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
(0 = Open, 1= WEP, 2=
WPA_PSK, 3= WPA2_PSK,
4=WPA_WPA2_PSK)
48
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
49
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
DRF1605 là module Zigbee dựa trên Chip Zigbee CC2530 của hãng Texas
Instruments nhưng đã được hãng DTK viết firmware riêng để chúng ta có thể giao
tiếp với nó một cách dễ dàng qua giao thức UART quen thuộc. Nhờ vậy, sẽ giảm
được nhiều thời gian để tiếp xúc với mạng zigbee.
50
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Mặc định module được thiết lập ở chế độ Router và PAN ID = 0x119B, chạy
ở kênh 22 (2460 Mhz).
Khi có hai hay nhiều Coordinator hoạt động chung một PAN ID thì thiết bị
khởi động sau sẽ tự động thay đổi PAN ID (+1) để tránh xung đột.
B1: Tắt hết các thiết bị, chọn một thiết bị tạo mạng Zigbee, vào chế độ cài đặt
bằng lệnh qua UART, cấu hình chế độ Coordinator với PAN ID và chọn kênh phù
hợp. Rồi reset thiết bị.
51
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
B2: Các thiết bị tham gia mạng cài đặt chế độ Router với PAN ID và kênh
sóng trùng với lúc cài đặt Coordinator. Reset thiết bị.
B3. Sau khi thiết bị Router chạy sẽ tự động quét và gia nhập với mạng cùng
kênh sóng và PAN ID.
Một số lệnh điều khiển cho DRF1605H (bảng sử dụng mã hexa và XY là tổng
của 6 bytes đầu tiên được giữ ở mức thấp 8 bit):
00 20 00 00 0D
XX = 0D:C13, 2415MHz
00 40 00 00 0E
XX = 0E: C14, 2420MHz
00 80 00 00 0F
XX = 0F: C15, 2425MHz
00 00 01 00 10
XX = 10: C16, 2430MHz
00 00 02 00 11
XX = 11: C17, 2435MHz
00 00 04 00 12
52
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
00 00 20 00 15
XX = 14: C20, 2450MHz
00 00 40 00 16
XX = 15: C21, 2455MHz
00 00 80 00 17
XX = 16: C22, 2460MHz
00 00 00 01 18
XX = 17: C23, 2465MHz
00 00 00 02 19
XX = 18: C24, 2470MHz
00 00 00 04 1A
XX = 19: C25, 2475MHz
00 00 09 06 00 00 XX = 01: 9600
00 01 09 02 00 00 XX = 02: 19200
00 03 08 04 00 00
XX = 03: 38400
53
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
00 05 07 06 00 00 XX = 04: 57600
01 01 05 02 00 00 XX = 05: 115200
6 FC 00 91 87 6A 35 XY Reset module
54
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
55
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
8 < Vin < 40 4.75 5.0 5.25 0.5A < ILoad < 3A
4.75 < Vin < 12 3.235 3.3 3.365 0A < ILoad < 1A
56
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
57
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Mạch nạp MCLR, PGC, 1;8;9 Các chân này được kéo ra
PGD header kết nối với mạch nạp
chương trình cho vi điều khiển
58
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Hình 5.4-4: Mạch thạch anh, reset và chân nạp cho Pic.
SW1 có chức năng reset cho PIC
XTAL là thạch anh 20 Mhz cung cấp xung clock cho PIC hoạt động.
59
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Vi xử lý ban đầu luôn cấp tín hiệu mức cao vào C1. Khi vi xử lý cấp một tín
hiệu mức thấp tới C1, cuộn dây trong relay sẽ được cấp dòng chạy qua làm tiếp
điểm NO đóng lại và tiếp điểm NC mở ra. Tùy vào ứng dụng chúng ta cần mà nối
tương ứng với NC hay NO của relay.
Diode 1N4148 có tác dụng triệt tiêu dòng điện của cuộn dây chạy ngược về
khi relay chuyển trạng thái từ đang được cấp dòng sang ngắt dòng.
60
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Mạch ESP8266 sử dụng nguồn 3.3V làm nguồn nuôi. Khi vào chế độ sử dụng
cần cấp 1 điện áp cao (3V3) vào chân CHPD (chip power down).
Hai chân ESPTX(1) và ESPRX(5) dùng để giao tiếp thông tin với vi xử lý
chính.
Hai chân ESPTX(1) và ESPRX(5) dùng để giao tiếp thông tin với vi xử lý
chính.
Mạch reset cho phép vi xử lý có thể gửi tín hiệu reset xuống mạch
DRF1605H. Tín hiệu được cách ly qua opto PC817 đảm bảo không có xung dột
điện áp giữa 2 mạch (5V Pic và 3v3 DRF1605H).
61
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
5.5. Mạch in
62
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Để các thiết bị phần cứng có thể hoạt động, chúng ta cần lập trình các phần
mềm tương ứng cũng như tạo các giao diện quản lý cho hệ thống. Để đáp ứng điều
này chúng ta cần thực hiện được các yêu cầu sau:
Lập trình cho vi xử lý PIC có thể nhận, gửi và xử lý tín hiệu, có thể
giao tiếp tốt với mạch wifi ESP8266 và mạch zigbee DRF1605H.
Tạo cơ sở dữ liệu lưu trữ thông tin.
Tạo các hàm để xử lý dữ liệu.
Tạo website quản lý thiết bị.
Để có thể đáp ứng các yêu cầu thiết kế ta có thể sử dụng các chương trình biên
dịch, thiết kế khác nhau nhưng em xin chọn các ngôn ngữ lập trình và các ứng dụng
quen thuộc sau:
Sử dụng chương trình biên dịch PIC C để lập trình cho vi xử lý PIC.
Sử dụng cơ sở dữ liệu trên web với chương trình hỗ trợ PHPMyAdmin.
Sử dụng ngôn ngữ lập trình PHP tạo ra các hàm xử lý dữ liệu phục vụ
cho giao tiếp với các thiết bị như PIC, điện thoại thông minh, máy tính
bảng...
Kết hợp HTML và PHP tạo giao diện quản lý trên website.
63
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
64
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
65
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
6.3.3. Các hàm sử dụng PHP lấy dữ liệu cho mạch điều khiển
66
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
67
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Hin
̀ h 7.2-1: Giao diện bảo mật
68
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
69
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Nơi lưu dữ liệu trung gian là MySQL Server được quản lý bởi công cụ
phpMyAdmin.
70
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Do khi thiết kế mạch em sử làm mạch điều khiển – Coordinator có luôn việc
điều khiển các relay nên mạch điều khiển – Coordinator có cả main_id và sub_id.
Sử dụng main_id cho biết đó là thiết bị quản lý mạng con zigbee.
Khi các thiết bị điều khiển lấy thông tin trên SQL server về chỉ cần sử dụng
main_id. Các cột stt1, stt2, stt3, stt4 chứa giá trị tương ứng với việc đóng, ngắt các
relay (0 là ngắt, 1 là đóng).
Mạch điều khiển - Coordinator thông qua kết nối wifi của module ESP8266
kết nối vào mạng internet, gửi yêu cầu lấy dữ liệu trên server mỗi 2s 1 lần. Dữ liệu
được trả về dưới dạng JSON.
{"id":"R0001","stt1":"0","stt2":"1","stt3":"1","stt4":"0"}
{"id":"R0002","stt1":"1","stt2":"1","stt3":"1","stt4":"1"}
Mỗi lần lấy được thông tin mới vi xử lý sẽ so sánh dữ liệu mới nhận được với
dữ liệu cũ. Nếu dữ liệu thay đổi thì gửi dữ liệu mới vào mạng Zigbee, nếu không có
sự thay đổi thì lại tiếp tục yêu cầu lấy thông tin từ SQL server.
Trong mạng zigbee hoạt động ở chế độ Transparent Data Transmission: Khi
Coordinator nhận được tín hiệu từ cổng nối tiếp của nó, nó sẽ gửi thông tin đi toàn
bộ các nodes mạng vì thế nên tất cả Router đều nhận được thông tin từ Coordinator.
71
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Ngược lại, Router khi gửi ra ngoài sẽ tự động gửi tới Coordinator, các Router không
nhận được gói tin từ Router khác.
Đã giao tiếp thành công giữa các thiết bị với nhau. Vi xử lý với ESP8266,
DRF1605H, liên lạc và lấy cũng như gửi dữ liệu tới server thành công.
Mạng Zigbee hoạt động ổn định, truyền tốt trong mạng.
Thiết kế được giao diện web, tuy đơn giản nhưng trực quan dễ sử dụng.
Thiết kế được giao diện bảo mật cho web quản lý điều khiển
Thiết lập được server web và các hàm xử lý thông tin tốt, không gây ra lỗi.
Các relay điều khiển bật/tắt được hầu hết các thiết bị gia dụng (yêu cầu sử
dụng 220V và dòng điện nhỏ hơn 7A).
Mạch điều khiển hoạt động ổn định, không nóng, ít hao điện do chỉ cần cấp
nguồn bằng sạc điện thoại (5V-1A) và có thể hoạt động liên tục.
72
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Giao diện web còn đơn giản, chưa có hệ thống phân chia thiết bị, hệ thống
quản lý cho nhiều người cùng sử dụng.
Dữ liệu nhận qua internet đôi khi có mất gói. Trong mạng zigbee thỉnh
thoảng truyền gói tin không đủ.
Hệ thống có sự chậm trễ 3-5s do phải truyền thông tin qua mạng internet và
chu kỳ lấy dữ liệu của vi xử lý là 2s.
73
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
Sau khi thiết kế, thi công và kiểm nghiệm lại kết quả, mạch chạy khá ổn định.
Chúng ta có thể ở bất kỳ nơi nào miễn là có kết nối internet là có thể điều khiển
được các thiết bị.
Có thể ứng dụng đề tài vào thực tế ngay, tuy nhiên cần thiết kế thu gọn lại
mạch điều khiển, phân loại các loại mạch điều khiển, thu thập thông tin, giám sát,
báo động,… để có thể thành lập một hệ thống quản lý cho nhiều người có thể sử
dụng. Ngoài ra, chúng ta có thể phát triển các ứng dụng di động tương tác với SQL
server để điều khiển thiết bị làm tăng tính tiện dụng cho cuộc sống. Chỉ với một
thiết bị cầm tay có kết nối internet là chúng ta có thể quản lý mọi thiết bị điện xung
quanh mình.
Qua việc thực hiện luận văn này đã giúp em có thêm kiến thức về rất nhiều
lĩnh vực khác nhau như là: lập trình web, lập trình vi xử lý, thiết lập SQL Server,
hiểu thêm về các giao thức TCP, UDP, IP, có hiểu biết về các chuẩn của IEEE như
là Ethernet 802.3, Wifi 802.11, Zigbee 802.15.4,…
Cuối cùng em xin chân thành cảm ơn thầy Hồ Văn Khương đã giúp đỡ em tìm
hiểu và hoàn thành bài luận văn tốt nghiệp.
74
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
75
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương
18. [ONLINE].http://myclass.vn/khoa-hoc/khoa-hoc-php-can-ban/
19. [ONLINE].http://vietjack.com/sql/index.jsp
20. [ONLINE]. http://freetuts.net/json-la-gi-cau-truc-chuoi-json-236.html
21. [ONLINE]. http://blog.huntgang.com/2015/01/20/arduino-esp8266-tutorial-
web-server-monitor-example/
22. [ONLINE]. http://www.ccsinfo.com/downloads.php#manuals
23. Nguyễn Sỹ Hậu. Giáo trình hướng dẫn thiết kế mạch điện tử với Altium
Designer v1.0.[ONLINE]. http://www.slideshare.net/Syhaunguyen/gio-trnh-
hng-dn-thit-k-mch-in-t-vi-altium-designer-v10
24. Sharp.Opto PC817 datasheet.[ONLINE].
25. YLE.Relay5V-7A datasheet.[ONLINE].
76