Tải bản đầy đủ (.pdf) (76 trang)

thi công hệ thống điều khiển các thiết bị trong toà nhà qua mạng internet

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




LỜI CẢM ƠN
SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
LỜI CẢM ƠN
Cá nhân em xin gửi lời cảm ơn chân thành đến quý thầy cô của trường Học viện
Công nghệ Bưu chính Viễn thông nói chung cũng như thầy cô ở khoa Viễn thông II nói
riêng đã tận tình giảng dạy và giúp đỡ để em có thể hoàn thành được đồ án này. Sau thời
gian học tập tại trường, em đã tiếp nhận được nhiều kiến thức bổ ích từ quý thầy cô, nó sẽ
là hành trang quý báu để em ứng dụng vào cuộc sống và công việc sau này.
Đặc biệt em xin chân thành cảm ơn thầy Phan Thanh Toản, thầy là người đã tận
tình hướng dẫn, giúp đỡ và tạo điều kiện thuận lợi nhất cho em trong suốt quá trình thực
hiện đồ án này. Để có được thành quả như ngày hôm nay là nhờ vào sự hướng dẫn và
những ý kiến đóng góp vô cùng quý báu của thầy.
Em xin cảm ơn bạn bè và người thân trong gia đình đã giúp đỡ, đóng góp ý kiến và
động viên em để có thể hoàn thành đề tài và đúng như kế hoạch đã đề ra.
Một lần nữa em xin chân thành cảm ơn quý thầy cô của trường, đặc biệt là thầy
Phan Thanh Toản người đã tận tình hướng dẫn em. Cuối cùng em xin gửi lời chúc đến
quý thầy cô cùng các bạn sinh viên của trường được dồi dào sức khỏe và thành công trong
công việc.
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Nguyễn Hữu Hậu










MỤC LỤC
SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
MỤC LỤC
Nội dung Trang
PHIẾU ĐỀ CƯƠNG ĐỒ ÁN TỐT NGHIỆP
LỜI CẢM ƠN
MỤC LỤC
MỤC LỤC HÌNH
LỜI NÓI ĐẦU 1
CHƯƠNG I: GIỚI THIỆU 2
1.1. Đặt vấn đề 2
1.2. Ý nghĩa của đề tài 3
1.3. Giới hạn đề tài nghiên cứu 3
1.4. Mục tiêu nghiên cứu 4
1.5. Kết quả nghiên cứu của đề tài 4
1.6. Sơ đồ tổng quan của hệ thống 4
CHƯƠNG II: TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TCP/IP 7
2.1. Giới thiệu 7
2.2. Hoạt động của mạng Internet 7
2.2.1. Các giao thức (Protocols) 7
2.2.2. Địa chỉ IP (IP Address) 8
2.2.3. Mô hình Khách – Chủ (Client – Server Model) 8
2.2.4. Hệ thống tên miền (DNS - Domain Name System) 8
2.3. Kết nối Internet 8
2.4. Giao thức TCP/IP 8
2.4.1. Tầng Ứng Dụng (Application Layer) 9

2.4.2. Tầng Giao Vận (Transport Layer) 10
2.4.3. Tầng Internet (Internet Layer) 14
2.4.4. Lớp giao tiếp mạng 17
2.5. Công Nghệ Ethernet 18
CHƯƠNG III: TỔNG QUAN VỀ BOARD MẠCH ARDUINO 20
3.1. Arduino Mega 2560 20
3.1.1. Tổng quan 20
3.1.2. Sơ đồ chân của Arduino Mega 2560 22
3.2. Arduino Ethernet Shield 23
3.2.1. Tổng quan 24
3.2.2. Đặc điểm 24



MỤC LỤC
SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
3.2.3. Các thành phần chức năng 25
3.2.4. Truyền thông SPI 26
3.3. Arduino IDE 28
3.3.1 Arduino Toolbar 30
3.3.2 Arduino IDE Menu 30
CHƯƠNG IV: THIẾT KẾ VÀ THI CÔNG 34
4.1. Phân tích yêu cầu điều khiển 34
4.2. Tổng quan chương trình chính 35
4.3. Thiết kế và thi công Web Server 37
4.3.1. Thiết kế giao diện web 37
4.3.2. Giám sát trên Web 39
4.3.3. Điều khiển trên Web 39
4.4. Thiết kế phần cứng mạch chính 43

CHƯƠNG V: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 48
5.1. Kết luận 48
5.2. Hướng phát triển đề tài 51
PHỤ LỤC A: CÀI ĐẶT ARDUINO IDE VÀ CÀI ĐẶT DRIVER
PHỤ LỤC B: MÃ CHƯƠNG TRÌNH ĐIỀU KHIỂN
TỪ VIẾT TẮT
TÀI LIỆU THAM KHẢO





MỤC LỤC HÌNH
SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
MỤC LỤC HÌNH
Hình Trang
Hình 1.1: Sơ đồ tổng quan hệ thống 4
Hình 1.2: Sơ đồ khối của bộ điều khiển 5
Hình 2.1: Cấu trúc họ giao thức TCP/IP 9
Hình 2.2: Cấu trúc gói TCP 11
Hình 2.3: Lưu đồ trạng thái kết nối TCP 12
Hình 2.4: Cấu trúc gói tin IP 14
Hình 2.5: Cấu trúc gói tin ARP 16
Hình 2.6: Cấu trúc khung Ethernet theo IEEE 802.3 18
Hình 3.1: Arduino Mega 2560 20
Hình 3.2: Các thành phần trên board mạch Arduino Mega 2560 22
Hình 3.3: Arduino Ethernet Shield 23
Hình 3.4: Các thành phần trên board Ethernet Shield 25
Hình 3.5: Đầu nối ICSP của Ethernet Shield 25

Hình 3.6: Đèn led trên RJ45 26
Hinh 3.7: Giao diện SPI 27
Hinh 3.8: ICSP trên board Arduino 27
Hình 3.9: Mô hình hoạt động của chương trình Arduino 28
Hình 3.10: Arduino IDE 29
Hình 3.11: Arduino Toolbar 30
Hình 3.12: IDE menu 30
Hình 3.13: File menu 30
Hình 3.14: Examples menu 31
Hình 3.15: Sketch menu 31
Hình 3.16: Edit menu 32
Hình 3.17: Tool menu 32
Hình 3.18: Board Arduino sử dụng 33
Hình 3.19: Hiển thị Board và Serial Port 33
Hình 4.1: Giải thuật tổng quan 35
Hình 4.2: Giải thuật chương trình chính 36
Hình 4.3: Giao diện Web đăng nhập vào hệ thống 37
Hình 4.4: Giao diện Web điều khiển các thiết bị 38
Hình 4.5: Từ cảm biến nhệt độ lên trình duyệt 39
Hình 4.6: Vi điều khiển nhận lệnh từ Web và điều khiển 40



MỤC LỤC HÌNH
SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
Hình 4.7: Sơ đồ nguyên lý nguồn cung cấp cho toàn mạch 43
Hình 4.8: Khối điều khiển – Arduino Mega 2560 44
Hình 4.9: Khối giao tiếp mạng – Arduino Ethernet Shield 44
Hình 4.10: Sơ đồ nguyên lý khối cảm biến nhiệt độ 45

Hình 4.11: Sơ đồ nguyên lý khối công suất 46
Hình 4.12: Sơ đồ mạch in khối công suất 47
Hình 5.1: Mạch công suất được lắp trên mô hình 49
Hình 5.2: Sản phẩm hoàn thành 50





Trang 1

LỜI NÓI ĐẦU
SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
LỜI NÓI ĐẦU
Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của chúng
ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn. Việc ứng dụng những tiến bộ
kỹ thuật vào các lĩnh vực đời sống là nhu cầu thiết yếu. Trong lĩnh vực xây dựng đòi hỏi
chúng ta ngày càng nâng cao chất lượng công trình và các dịch vụ tiện ích. Chúng ta cần
có giải pháp điều khiển tích hợp cho các toà nhà, căn hộ cao cấp, tích hợp các thiết bị điện
tử, nghe nhìn, truyền thông thành một hệ thống hoàn chỉnh và thống nhất.
Nhận thức được tầm thực tiễn đó em chọn đề tài đồ án tốt nghiệp “Thi công hệ
thống điều khiển các thiết bị trong toà nhà qua mạng Internet”. Trong suốt thời gian
hoàn thành đồ án, em đã tìm hiều về vi điều khiển, các chế độ truyền thông, cảm biến đo,
cơ cấu chấp hành, cách kết nối mạng Internet, điều khiển qua thiết bị qua Internet, đồng
thời tìm hiểu về các chỉ tiêu tối ưu khi vận hành hệ thống.
Dưới sự hướng dẫn, chỉ bảo nhiệt tình của thầy Phan Thanh Toản cùng với sự cố
gắng nỗ lực của cá nhân, em đã hoàn thành đồ án đúng thời hạn cho phép. Tuy nhiên do
thời gian hạn chế, cũng như lượng kiến thức rất lớn nên em không thể tránh khỏi nhiều
thiếu xót. Vì vậy em rất mong sẽ nhận được nhiều ý kiến đánh giá, góp ý của thầy cô giáo

và các bạn sinh viên để em có thể phát triển và hoàn thiện thêm đề tài này.

Em xin chân thành cảm ơn!
Sinh viên thực hiện
Nguyễn Hữu Hậu



Trang 2

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
CHƯƠNG I: GIỚI THIỆU
CHƯƠNG I: GIỚI THIỆU
1.1. Đặt vấn đề
Ngày nay cùng với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật, công
nghệ kỹ thuật điện tử truyền thông đóng vai trò quan trọng trong mọi lĩnh vực khoa học
kỹ thuật, quản lý, công nghiệp, cung cấp thông tin Do đó là một sinh viên chuyên ngành
Điện tử truyền thông chúng ta phải biết nắm bắt và vận dụng nó một cách có hiệu quả
nhằm góp phần vào sự phát triển nền khoa học kỹ thuật thế giới nói chung và trong sự
phát triển kỹ thuật điện tử truyền thông nói riêng. Bên cạnh đó còn là sự thúc đẩy sự phát
triển của nền kinh tế nước nhà.
Như chúng ta cũng đã biết, gần như các thiết bị tự động trong nhà máy, trong đời
sống của các gia đình ngày nay đều hoạt động độc lập với nhau, mỗi thiết bị có một quy
trình sử dụng khác nhau tuỳ thuộc vào sự thiết lập, cài đặt của người sử dụng. Chúng
chưa có một sự liên kết nào với nhau về mặt dữ liệu. Nhưng đối với hệ thống điều khiển
thiết bị từ xa thông qua mạng Internet thì lại khác. Ở đây, các thiết bị điều khiển tự động
được kết nối với nhau thành một hệ thống hoàn chỉnh qua một một thiết bị trung tâm và
có thể giao tiếp với nhau về mặt dữ liệu.
Điển hình của một hệ thống điều khiển thiết bị trong toà nhà qua mạng Internet

gồm có các thiết bị đơn giản như bóng đèn, quạt máy, lò sưởi đến các thiết bị tinh vi,
phức tạp như tivi, máy giặt, hệ thống báo động… Tất cả các thiết bị này có thể giao tiếp
với nhau về mặt dữ liệu thông qua một đầu não trung tâm. Đầu não trung tâm ở đây có thể
là một máy vi tính hoàn chỉnh hoặc có thể là một bộ xử lý đã được lập trình sẵn tất cả các
chương trình điều khiển. Bình thường, các thiết bị trong toà nhà này có thể được điều
khiển từ xa thông qua mạng Internet. Chẳng hạn như việc tắt quạt, đèn điện… khi chúng
ta quên chưa tắt trước khi chúng ta rời khỏi. Hay chúng ta có thể bật máy điều hòa để làm
mát phòng trước khi chúng ta sử dụng phòng trong một khoảng thời gian nhất định. Bên
cạnh đó chúng ta có thể theo dõi nhiệt độ tại các phòng hiện tại là bao nhiêu. Ngoài ra, hệ
thống còn mang tính bảo mật. Nghĩa là chỉ có một người dùng nào đó biết được tên đăng
nhập và biết đúng mật khẩu thì mới có thể điều khiển được hệ thống.
Từ những yêu cầu thực tế, những đòi hỏi ngày càng cao của cuộc sống, cộng với
sự hợp tác, phát triển mạnh mẽ của mạng Internet nên em đã chọn đề tài "Thi công hệ
thống điều khiển các thiết bị trong toà nhà qua mạng Internet" để đáp ứng được nhu
cầu ngày càng cao của con người và góp phần vào sự tiến bộ, văn minh, hiện đại của nước
nhà.


Trang 3

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
CHƯƠNG I: GIỚI THIỆU
Với đề tài trên em đã thực hiện việc điều khiển từ xa gồm các vấn đề sau:
 Điều khiển thiết bị qua Internet với giao thức TCP/IP. Người dùng đăng nhập vào
Website và thực hiện điều khiển thiết bị qua giao diện Web.
 Đo và cập nhật nhiệt độ tại các phòng cho người dùng biết trên Website.
1.2. Ý nghĩa của đề tài
Ngày nay cùng với sự tiến bộ của khoa học kỹ thuật, các thiết bị điện tử ra đời
ngày càng nhiều về chủng loại cũng như tính năng sử dụng. Bên cạnh đó nhu cầu sử dụng

các thiết bị một cách tự động ngày càng cao, con người ngày càng muốn có nhiều thiết bị
giải trí cũng như các thiết bị sinh hoạt với kỹ thuật và công nghệ ngày càng cao. Có thể ở
Việt nam chưa phát triển mạnh mẽ trong lĩnh này nhưng hiện nay ở trên thế giới, nhất là
các quốc gia thuộc Châu âu hay Mỹ thì việc điều khiển từ xa các toà nhà, ngôi nhà đã phát
triển rất mạnh mẽ.
Từ những nhu cầu thực tế đó, em muốn đưa một phần những kỹ thuật áp dụng vào
điều kiện thực tế để có thể tạo ra một hệ thống điều khiển thiết bị trong toà nhà qua mạng
Internet nhằm đáp ứng nhu cầu ngày càng cao của con người. Đề tài lấy cơ sở là mạng
Internet để điều khiển thiết bị. Việc sử dụng mạng Internet để điều khiển thiết bị có thuận
lợi là tiết kiệm chi phí, mang tính cạnh tranh và cơ động cao. Ngoài ra, sản phẩm của đề
tài này có tính mở, có thể áp dụng cho nhiều đối tượng khác nhau trong dân dụng cũng
như trong công nghiệp.
1.3. Giới hạn đề tài nghiên cứu
Để thực thi một hệ thống điều khiển thiết bị qua mạng Internet áp dụng cho một
toà nhà hoàn chỉnh như nói trên là rất phức tạp và rất tốn kém. Để đáp ứng việc điều
khiển toàn bộ các thiết bị này đòi hỏi phải có một lượng thời gian, kiến thức nhất định.
Bên cạnh đó còn là vấn đề tài chính. Với lượng thời gian và kiến thức có hạn, trong đề tài
này em thực hiện chỉ thực thi một phần của hệ thống hoàn chỉnh. Đó là điều khiển đóng
mở đèn, ngoài ra còn có chức năng cập nhật nhiệt độ trong phòng cho người dùng biết.
Với những gì đã trình bày trên, em đã tiến hành nghiên cứu, khảo sát và thực hiện
và dự kiến đạt được các mục tiêu đặt ra như sau:
- Thiết lập một Website và thực hiện điều khiển các thiết bị qua giao diện Web, sau
khi thực hiện lệnh điều khiển trạng thái của thiết bị on/off được thể hiện ngay trên
giao diện Web.
- Hệ thống sẽ luôn cập nhật nhiệt độ tại các phòng trong toà nhà cho người dùng biết
trên Website.

Trang 4

SVTH: NGUYỄN HỮU HẬU

LỚP: L12CQVT02-N
CHƯƠNG I: GIỚI THIỆU
1.4. Mục tiêu nghiên cứu
- Đồ án được nghiên cứu và thực hiện với mục đích áp dụng những kiến thức đã
được học trong nhà trường để thiết kế, tạo ra một hệ thống điều khiển từ xa qua
mạng Internet.
- Nghiên cứu và tạo một giao diện Web Server để thực hiện điều khiển qua mạng
Internet với chuẩn giao tiếp TCP/IP.
- Nghiên cứu và sử dụng board mạch Arduino và Arduino Shield. Arduino mà em đã
tiến hành nghiên cứu và sử dụng là Arduino Mega 2560 và Arduino Ethernet
Shield.
1.5. Kết quả nghiên cứu của đề tài
Với những mục tiêu và kế hoạch đã đề ra, cùng với sự nỗ lực nghiên cứu, tìm tòi
của cá nhân, em đã thực hiện đạt được những kết quả nhất định sau:
Thiết kế thành công mạch điều khiển thiết bị qua mạng Internet với các tính năng:
+ Giao tiếp thành công với mạng Internet qua chuẩn truyền thông TCP/IP, thực hiện
quan sát trạng thái và ra lệnh điều khiển thiết bị qua giao diện Web Server.
+ Đo và cập nhật nhiệt độ liên tục gửi về Web Server.
+ Ngoài ra, mạch điều khiển được thiết kế sẵn sàng cho việc tích hợp thêm các ngoại
vi trong tương lai.
1.6. Sơ đồ tổng quan của hệ thống
 Sơ đồ tổng quan của hệ thống:

Hình 1.1: Sơ đồ tổng quan hệ thống

Trang 5

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
CHƯƠNG I: GIỚI THIỆU

Dù đang ở rất xa, người sử dụng có thể dùng máy tính được kết nối với mạng
Internet hoặc các thiết bị như điện thoại, máy tính bảng để gửi tín hiệu tới bộ điều khiển
tác động lên các thiết bị điện trong toà nhà. Điều này rất thuận tiện cho chúng ta quản lý
các thiết bị điện trong toà nhà, chúng ta không cần phải đến từng tầng để kiểm tra mà có
thể cập nhật trạng thái và điều khiển hoạt động của các thiết bị điện trong toà nhà thật dễ
dàng.
 Sơ đồ khối của bộ điều khiển:



















Hình 1.2: Sơ đồ khối của bộ điều khiển




KHỐI
ĐIỀU KHIỂN

ARDUINO
MEGA 2560

KHỐI
ETHERNET

ARDUINO
ETHERNET
SHIELD



KHỐI
CẢM BIẾN

KHỐI
CÔNG SUẤT
KHỐI NGUỒN

THIẾT BỊ 1

THIẾT BỊ 2

THIẾT BỊ 3

THIẾT BỊ 4


Trang 6

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
CHƯƠNG I: GIỚI THIỆU
Chức năng từng khối:
 Khối giao tiếp Ethernet - Arduino Ethernet Shield:
Gồm Arduino Ethernet Shield được kết nối với khối điều khiển Arduino Mega
2560 truyền nhận tín hiệu qua giao thức SPI. Khối này có nhiệm vụ nhận lệnh điều khiển
qua Web Server với giao thức TCP/IP. Vi điều khiển nhận lệnh, thực thi xong và gửi trả
lại kết quả.
 Khối điều khiển - Arduino Mega 2560:
Khối trung tâm trong việc xử lý và điều khiển. Vi điều khiển nhận tín hiệu từ khối
giao tiếp Ethernet và cảm biến, sau đó đưa ra tín hiệu điều khiển.
 Khối cảm biến nhiệt độ:
Cảm biến được sử dụng là DS18B20 có nhiệm vụ đo nhiệt độ và gửi tín hiệu tới vi
điều khiển.
 Khối công suất:
Khối này bao gồm 4 transistor 2N2222 có nhiệm vụ khuếch đại điện áp để kích
cho relay. Khối công suất với dòng thấp, đáp ứng tải tiêu thụ công suất dân dụng như
bóng đèn.
 Khối nguồn:
Tạo nguồn với mức điện áp 5V cấp cho tất cả các khối gồm khối điều khiển, khối
Ethernet, khối cảm biến và khối công suất.



Trang 7

SVTH: NGUYỄN HỮU HẬU

LỚP: L12CQVT02-N
CHƯƠNG II: TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TCP/IP
CHƯƠNG II: TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TCP/IP
2.1. Giới thiệu
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. Chúng cung cấp một khối lượng thông tin và dịch vụ khổng
lồ trên internet.
Mạng Internet mang lại rất nhiều tiện ích hữu dụng cho người sử dụng, một trong
các tiện ích phổ thông của Internet là hệ thống thư điện tử (email), trò chuyện trực tuyến
(chat), máy truy tìm dữ liệu (search engine), các dịch vụ thương mãi và chuyển ngân, và
các dịch vụ về y tế giáo dục như là chữa bệnh từ xa, tổ chức các lớp học ảo.
Nguồn thông tin khổng lồ kèm theo các dịch vụ tương ứng chính là hệ thống các
trang Web liên kết với nhau và các tài liệu khác trong WWW (World Wide Web). Trái
với một số cách sử dụng thường ngày, Internet và WWW không đồng nghĩa. Internet là
một tập hợp các mạng máy tính kết nối với nhau bằng dây đồng, cáp quang, ; còn
WWW, hay Web, là một tập hợp các tài liệu liên kết với nhau bằng các siêu liên kết
(hyperlink) và các địa chỉ URL, và nó có thể được truy nhập bằng cách sử dụng Internet.
2.2. Hoạt động của mạng Internet
2.2.1. Các giao thức (Protocols)
Các giao thức là tập các luật mà các máy tính phải tuân theo khi giao tiếp trên Internet.
- Tranmission Control Protocol (TCP): thiết lập kết nối giữa hai máy tính để truyền
tải dữ liệu, chia dữ liệu thành những gói nhỏ và đảm bảo việc truyền nhận dữ liệu.
TCP là giao thức hướng kết nối (connection-oriented protocol).
- User Datagram Protocol (UDP): thiết lập kết nối nhanh nhưng không chắc chắn
giữa các máy tính để truyền tải dữ liệu, cung cấp ít dịch vụ để khắc phục lỗi.
- Internet Protocol (IP): điều chỉnh đường đi của những gói dữ liệu đường truyền

nhận trên Internet. TCP là giao thức phi kết nối (connectionless protocol).
- HTTP: cho phép trao đổi thông tin trên Internet.
- FTP: cho phép truyền nhận file trên Internet.
- SMTP: cho phép gửi thư điện tử trên Internet.
- POP3: cho phép nhận thư điện tử trên Internet.


Trang 8

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
CHƯƠNG II: TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TCP/IP
TCP/IP được dùng làm giao thức chuẩn khi giao tiếp trên Internet vì nó độc lập
với nền của hệ thống (platform independent) và không có tổ chức nào có quyền sở hữu
giao thức này.
2.2.2. Địa chỉ IP (IP Address)
Internet là một mạng kết nối rộng lớn giữa các máy tính. Để xác định một máy tính
trên mạng này, người ta dùng một con số gọi là địa chỉ IP. Địa chỉ IP gồm một tập 4 số
nhỏ hơn 255 và được ngăn cách bởi các dấu ‘.’. Ví dụ: 41.212.196.197.
2.2.3. Mô hình Khách – Chủ (Client – Server Model)
Internet dựa trên mô hình khách – chủ (client – server), trong đó dữ liệu được trao
đổi thông qua các trang web. Trong mô hình client – server, mỗi máy tính được xác định
bởi một địa chỉ Internet protocol (IP) và cả máy tính client, server cùng chấp nhận một
giao thức chung để để giao tiếp với nhau.
Trong mô hình khách - chủ, máy khách (client computer) yêu cầu thông tin từ một
máy chủ (server). Máy chủ chấp nhận yêu cầu và gửi thông tin về cho máy khách. Việc
trao đổi thông tin này được diễn ra thông qua những trang web.
2.2.4. Hệ thống tên miền (DNS - Domain Name System)
Mỗi máy tính trên mạng Internet được xác định bằng địa chỉ IP, nhưng con số này
rất khó nhớ. Để khắc phục nhược điểm này, người ta dùng hệ thống tên miền để đặt tên

cho máy tính. Ví dụ: tên miền www.google.com ứng với địa chỉ IP 125.234.52.148.
request web page Miền (domain) ứng với một tập các máy tính trên Internet. Phần mở
rộng của tên miền (domain name extension) được dùng để xác định quốc gia hay tổ chức.
2.3. Kết nối Internet
Để kết nối với Internet cần có một số yêu cầu về phần cứng và phần mềm sau:
- Phần cứng: máy tính, kết nối thông qua đường dây điện thoại hoặc kết nối cáp,
modem.
- Phần mềm: kết nối internet, hệ điều hành, giao thức TCP/IP, trình duyệt web.
- Các yêu cầu thiết yếu khi kết nối với Internet: kết nối với Internet thông qua một
nhà cung cấp Internet (Internet Service Provider), modem, trình duyệt và địa chỉ
URL.
2.4. Giao thức TCP/IP
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. TCP/IP là viết tắt của Transmission Control Protocol (Giao thức Điều Khiển
Truyền thông)/Internet Protocol (Giao thức Internet), ngày nay TCP/IP được sử dụng
rộng rãi trong các mạng cục bộ cũng như trên mạng Internet toàn cầu. TCP/IP không chỉ

Trang 9

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
CHƯƠNG II: TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TCP/IP
gồm 2 giao thức mà thực tế nó là tập hợp của nhiều giao thức. Chúng ta gọi đó là 1 hệ
giao thức hay bộ giao thức (Suite Of Protocols).
TCP/IP được xem là giản lược của mô hình tham chiếu OSI với bốn tầng, trong mô
hình này là (theo thứ tự từ trên xuống):
- Tầng Ứng Dụng (Application Layer).
- Tầng Giao Vận (Transport Layer).
- Tầng Liên Mạng (Internet Layer).
- Tầng Giao Tiếp Mạng (Network Interface Layer).


Hình 2.1: Cấu trúc họ giao thức TCP/IP
2.4.1. Tầng Ứng Dụng (Application Layer)
Gồm nhiều giao thức cung cấp cho các ứng dụng người dùng. Được sử dụng để
định dạng và trao đổi thông tin người dùng và hệ thống. Một số giao thức thông dụng
trong tầng này là: HTTP, FTP, SMTP,…Trong phạm vi đồ án, chúng ta sử dụng giao thức
HTTP mà cụ thể là xây dựng một Web Server nhúng vào hệ thống.
HTTP là giao thức truyền tải siêu văn bản (HyperText Transfer Protocol). HTTP
xác định cách các thông điệp được định dạng và truyền tải ra sao và hoạt động của Web
Server và các trình duyệt Web.Trong mô hình của HTTP, Web Server đồng thời cũng là
TCPServer, mở sẵn port mặc định dành cho dịch vụ HTTP là TCP80 (ở chế độ listen), sẵn
sàng đợi yêu cầu kết nối từ các client. Các client sẽ khởi tạo kết nối TCP thông qua port
này, sau khi Web Server chấp nhận kết nối, client sẽ gửi một bản tin HTTP (HTTP

Trang 10

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
CHƯƠNG II: TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TCP/IP
message) gọi là HTTP request tới server trên kết nối TCP vừa thiết lập. Server sẽ trả lời
lại bằng một bản tin HTTP khác là HTTP response. Bản tin này sẽ chứa nội dung trang
Web yêu cầu (được viết bằng ngôn ngữ HTML). Như vậy giao thức HTTP sẽ dựa cơ bản
trên các bản tin HTTP, gồm 2 loại là HTTP request và HTTP response.
Giả sử ta truy nhập vào địa chỉ IP của Web Server là 192.168.1.10 qua trình duyệt:
 Lúc đó, máy tính của chúng ta sẽ gửi đi một bản tin request của giao thức HTTP là
HTTP Get thông qua giao thức TCP (với cổng TCP được qui định cho giao thức
HTTP là 80) đến địa chỉ Web Server trên.
 Web Server, ở đây chính là vi điều khiển của chúng ta nhận được bản tin này (khi
đã đi qua hết các lớp giao thức ethernet, IP, TCP rồi mới đến HTTP). Tại đây vi
điều khiển sẽ đọc và phân tích bản tin HTTP request này để biết máy tính đang yêu

cầu tải nội dung trang web nào.
 Sau đó vi điều khiển sẽ lấy nội dung trang web này (được soạn thảo theo ngôn ngữ
HTML) chứa trên trên ROM, nó cũng có thể thêm vào trang web đó một số thông
tin (ví dụ đọc giá trị từ các sensor cảm biến nhiệt độ và đưa vào trong trang web),
và gửi toàn bộ nội dung trang web thông qua giao thức TCP trở lại cho máy tính.
Nếu nội dung trang web lớn nó có thể được gửi đi trên rất nhiều gói tin, vì mỗi gói
tin chỉ chứa tối đa 1460 byte dữ liệu.
 Máy tính nhận nội dung trang web và trình duyệt sẽ hiển thị lên cho chúng ta thấy.
Để điều khiển thiết bị kết tới hệ thống từ xa qua web, trên trang web ta có thể thiết
kế một nút nhấn chẳng hạn. Khi ta nhấn nút này trên trình duyệt, máy tính sẽ gửi đi
một bản tin HTTP nữa là HTTP Get. Vi điều khiển sẽ nhận bản tin HTTP post này,
phân tích dữ liệu chứa trong đó để có đáp ứng tương ứng (bật tắt bóng đèn) sau đó
nó sẽ gửi trả lại lần nữa nội dung trang web đã cập nhật những thay đổi vừa
rồi.Trình duyệt sẽ cập nhật nội dung này lên và ta sẽ thấy được tác động của thao
tác điều khiển.
2.4.2. Tầng Giao Vận (Transport Layer)
Nhiệm vụ của tầng là thiết lập phiên truyền thông giữa các máy tính và quy định
cách truyền dữ liệu. Hai giao thức chính trong tầng này gồm UDP (User Datagram
Protocol) và TCP (Transmission Control Protocol). Do UDP cung cấp các kênh truyền
thông phi kết nối nên nó không đảm bảo truyền dữ liệu một cách tin cậy nên trong phạm
vi đồ án chúng ta sử dụng thức TCP.Ngược lại với UDP, TCP cung cấp các kênh truyền
thông hướng kết nối và đảm bảo truyền dữ liệu 1 cách tin cậy. TCP thường truyền các gói
tin có kích thước lớn và yêu cầu phía nhận xác nhận về các gói tin đã nhận.



Trang 11

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N

CHƯƠNG II: TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TCP/IP
Cấu trúc gói TCP:

Hình 2.2: Cấu trúc gói TCP
Chú thích:
- Số port đích và số port nguồn: để phân biệt các tiến trình ứng dụng đang xảy ra trong
máy tính
- Các số sequence và Acknowledgement: số sequence để phân biệt các segment khác
nhau trong một dòng dữ liệu, các số Acknowledgement dùng trong cơ chế xác nhận
- Vùng Data offset: chiều dài của Header tính theo đơn vị 32 bit
Một số cờ (flags):
 URG (Urgent): thiết lập 1 khi có dữ liệu quan trọng cần truyền ngay.
 ACK: cho biết có số xác nhận nằm trong vùng Acknowledgement
 PSH (Push): được thiết lập trong trường hợp dữ liệu nên được giao tức thời
 RST (Reset): chỉ thị một lỗi sai và hủy bỏ phiên làm việc
 SYN (Synchronize): trong các bản tin khởi tạo khi thiết lập một kết nối truyền dữ
liệu
 FIN (Finish): dùng đóng 1 phiên làm việc
- Vùng Window: chỉ ra số lượng không gian bộ đệm khả dụng để nhận dữ liệu
- Vùng Checksum: vùng kiểm tra sai cho cả segment
- Vùng Urgent Pointer: chỉ ra chiều dài của dữ liệu urgent
- Vùng Options: xác định kích thước cực đại của 1 segment
Cụ thể hơn, vai trò của TCP trong chồng giao thức TCP gồm 3 chức năng chính:
điều khiển luồng, kiểm soát lỗi và báo nhận.

Trang 12

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
CHƯƠNG II: TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TCP/IP

- Điều khiển luồng: điều phối tốc độ và kích thước luồng dữ liệu để đảm bảo phía nhận
đủ khả năng nhận và xử lý luồng dữ liệu.
- Kiểm soát lỗi: đảm bảo các gói tin đến đúng và đủ.
- Báo nhận: khi nhận được dữ liệu và không có lỗi, phía nhận phải báo lại với phía gửi
biết.
Để thực hiện được các chức năng đó, một quá trình truyền dữ liệu qua giao thức
TCP (mà ta gọi là phiên truyền thông – session) gồm có 3 giai đoạn: Thiết lập kết nối,
truyền dữ liệu và giải phóng kết nối.
Để có thể giám sát chặt chẽ trạng thái và mọi sự kiện xảy ra trong một kết nối
TCP, trạng thái của một kết nối TCP được chuyển đổi tuân theo một lưu đồ trạng thái như
sau:

Hình 2.3: Lưu đồ trạng thái kết nối TCP


Trang 13

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
CHƯƠNG II: TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TCP/IP
Giải thích:
- TCP là giao thức hướng kết nối, dạng client – server. Tức là trong một phiên truyền
thông thì sẽ có một phía đóng vai trò client, phía còn lại, lúc nào cũng ở trạng thái chờ đợi
các client thiết lập kết nối tới chính là server.
- Ví dụ khi ta truy cập web, thì máy tính của ta là client, máy chủ chứa trang web chính là
server – vi điều khiển, lúc nào cũng ở trạng thái đợi các máy tính client kết nối đến (và
phải có khả năng thiết lập đồng thời nhiều kết nối, vì có thể có nhiều client kết nối tới
cùng lúc).
- Trong lưu đồ trên, áp dụng cho cả client và server. Cả client và server đều bắt đầu bằng
trạng thái “Close”. Client sẽ thiết lập kết nối theo con đường Active Open (nó chủ động

thiết lập kết nối). Server sẽ thiết lập kết nối theo con đường Passive Open (thụ động, vì nó
đợi client bắt đầu mà)
Quá trình chuyển trạng thái:
- Cả hai bắt đầu bằng trạng thái close, không có kết nối nào tồn tại.
- Khi Server mở một port TCP để đợi client thiết lập kết nối, nó chuyển sang trạng thái
“Listen”.
- Khi client gửi đi bản tin SYN, nó chuyển sang trạng thái “SYN sent”.
- Lúc này khi server nhận được bản tin SYN từ client và gửi đáp lại 1 bản tin SYN, nó
chuyển sang trạng thái “SYN Received”.
- Lúc này client gửi lại bản tin xác nhận ACK (bước 3 trong ví dụ), nó chuyển sang trạng
thái thiết lập kết nối “Established”.
- Server nhận được bản tin ACK trên của client, nó cũng chuyển sang trạng thái
“Established”.
- Sau đó hai bên tiến hành truyền dữ liệu, trạng thái cả hai đều là “Established”.
- Một trong hai phía truyền xong dữ liệu, đến đây thì vai trò hai bên là như nhau, ta giả
sử client truyền xong dữ liệu trước, nó sẽ gửi bản tin FIN, và chuyển sang trạng thái “FIN
wait 1”.
- Phía server nhận được bản tin này, gửi xác nhận ACK, và chuyển sang trạng thái “Close
wait”.
- Khi client nhận được xác nhận từ server (nhận được bản tin ACK trên) thì nó chuyển
sang trạng thái “FIN wait 2”.
- Đến lúc này server vẫn có thể tiếp tục gửi dữ liệu và client vẫn tiếp tục nhận (vì chỉ có
client báo là gửi xong dữ liệu).
- Đến khi nào server cũng gửi hết dữ liệu, nó sẽ gửi đi bản tin FIN, cho biết nó cũng đã
gửi xong dữ liệu và chuyển sang trạng thái “LAST ACK”.

Trang 14

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N

CHƯƠNG II: TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TCP/IP
- Khi client nhận được bản tin FIN trên từ server, nó gửi xác nhận (ACK) và chuyển sang
trạng thái “Time wait”, sau đó chờ 1 khoảng thời gian Timeout và đóng kết nối, quay lại
trạng thái “Close”.
- Khi server nhận được nó cũng chuyển từ “Last ACK” sang “Close” (không cần đợi
Timeout)
2.4.3. Tầng Internet (Internet Layer)
Nằm bên trên tầng truy nhập mạng. Tầng này có chức năng gán địa chỉ, đóng gói và định
tuyến (Route) dữ liệu. 4 giao thức quan trọng nhất trong tầng này gồm:
- IP (Internet Protocol): Có chức năng gán địa chỉ cho dữ liệu trước khi truyền và định
tuyến chúng tới đích.
- ARP (Address Resolution Protocol): Có chức năng biên dịch địa chỉ IP của máy
đích thành địa chỉ MAC.
- ICMP (Internet Control Message Protocol): Có chức năng thông báo lỗi trong
trường hợp truyền dữ liệu bị hỏng.
- IGMP (Internet Group Management Protocol): Có chức năng điều khiển truyền đa
hướng (Multicast).
Cấu trúc của gói IP:

Hình 2.4: Cấu trúc gói tin IP
Ý nghĩa:
- Version (có chiều dài 4 bit): cho biết phiên bản của giao thức, đối với trường hợp
của chúng ta, giao thức là IP version 4, trường này sẽ luôn có giá trị là 4 (0100).

Trang 15

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
CHƯƠNG II: TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TCP/IP
- Header Length (4 bit): cho biết chiều dài của header IP, tính theo đơn vị 4 byte (32

bit).
- TOS (8 bit): Type of Service.
- Total Length (16 bit): 16 bit tổng chiều dài của gói IP gồm cả phần header.
- Identification (16 bit): dùng nhận diện các phân đoạn của gói IP.
- Flags:
+ Bit đầu tiên không sử dụng.
+ Bit 2: DF (Don’t Fragment) = 1 có nghĩa là không phân đoạn gói này.
+ Bit 3: MF (More Fragment) = 0 => đây là phân đoạn cuối cùng.
- Fragmented offset (13 bit): độ dời (đơn vị 8 byte) tính từ điểm bắt đầu của Header
tới điểm bắt đầu của phân đoạn
- TTL (Time to Live) (8 bit): thời gian tồn tại trên mạng hoặc số chặng trên mạng
mà gói đi qua trước khi bị hủy bỏ.
- Protocol (8 bit): nhận diện Protocol trên lớp IP.
- Header checksum (16 bit): sửa sai cho phần Header.
- Các vùng địa chỉ nguồn, địa chỉ đích: địa chỉ IP 32 bit.
- Option: các tùy chọn dùng cho việc kiểm tra: Loose source routing, Strict source
routing, Record route và Timestamp.
- Padding: Gồm các số zero được thêm vào sao cho chiều dài của vùng Header là bội
số của 32 bit.
Cách thức mà dữ liệu được gửi qua giao thức IP được tiến hành như sau:
- Khi nhận được một segment dữ liệu (từ giao thức lớp trên là TCP) cần gửi đến đích
nào đó, địa chỉ đích này phải được xác định bằng địa chỉ IP (tức là địa chỉ mạng
hay địa chỉ luận lý). Lớp giao thức IP sẽ gắn thêm vào đầu segment dữ liệu một
header IP để tạo thành gói IP hoàn chỉnh. Trong header IP này có chứa 2 thông tin
quan trọng, đó là địa chỉ host gửi (source IP address) và địa chỉ host nhận
(destination IP address). Địa chỉ source đương nhiên là địa chỉ của bản thân nó,
còn địa chỉ đích phải được cung cấp cho lớp IP khi muốn gửi dữ liệu qua giao thức
này.
- Gói tin IP này sau đó được chuyển đến lớp giao thức ethernet để thêm phần header
ethernet vào và gửi đi.

Nhưng giao thức ethernet lại gửi các khung dữ liệu đi dựa vào một loại địa chỉ
khác là địa chỉ MAC (hay còn gọi là địa chỉ vật lý). Tại sao lại cần đến 2 địa chỉ như vậy?
Lý do là địa chỉ vật lý chỉ có giá trị trong phạm vi mạng LAN, nó sẽ không thể giúp xác
định vị trí host ở bên ngoài phạm vi mạng LAN. Khi gửi dữ liệu ra ngoài mạng LAN, các
router sẽ chuyển dữ liệu đi dựa và địa chỉ IP. Như vậy trong phần địa chỉ MAC nguồn và
địa chỉ MAC đích trong header của khung ethernet, ta sẽ điền các địa chỉ nào? Đối với địa

Trang 16

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
CHƯƠNG II: TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TCP/IP
chỉ MAC nguồn, đương nhiên ta sẽ điền địa chỉ MAC của chính Arduino Ethernet Shield
đã được xác lập. Nhưng còn địa chỉ MAC đích, sẽ có 2 trường hợp xảy ra:
- Nếu host đích nằm trong cùng 1 mạng LAN với chúng ta, ta sẽ điền địa chỉ MAC
đích là địa chỉ tương ứng của host đích. Frame dữ liệu sẽ được gửi thẳng đến đích.
- Nếu host đích nằm bên ngoài mạng LAN, rõ ràng ta không thể gửi dữ liệu trực tiếp
đến host đích mà phải thông qua gateway, khi đó địa chỉ MAC đích phải là địa chỉ
gateway.
Vẫn còn một vấn đề nữa mà ta phải giải quyết. Đó là trong cả hai trường hợp trên,
dù là cần gửi cho gateway hay thẳng đến host đích, thì đến đây, ta mới chỉ biết địa chỉ IP
của host đích (hay của gateway) mà không biết địa chỉ MAC tương ứng. Vậy nảy sinh
một vấn đề là làm sao biết được địa chỉ MAC của một host khi biết địa chỉ IP?
Đến đây, chính là phát sinh vai trò của giao thức phân giải địa chỉ (APR – Address
Resolution Protocol). Vai trò của giao thức này là tìm ra địa chỉ MAC khi biết địa chỉ IP
của 1 host.
Cấu trúc gói ARP:

Hình 2.5: Cấu trúc gói tin ARP
Ý nghĩa:

 Hardware type (2 bytes): cho biết loại địa chỉ phần cứng, đối với địa chỉ MAC của
giao thức ethernet thì giá trị này được qui định là "0x0001".
 Protocol type (2 bytes): cho biết loại địa chỉ giao thức lớp trên, đối với địa chỉ IP,
giá trị này được qui định là “0x0800”.
 HLEN (1 byte): cho biết chiều dài của địa chỉ vật lý (địa chỉ MAC).

Trang 17

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
CHƯƠNG II: TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TCP/IP
 PLEN (1 byte): cho biết chiều dài của địa chỉ giao thức (địa chỉ IP).
 Operation (2 bytes): cho biết hoạt động đang thực hiện trong gói tin này (request
hay reply).
 Sender H/W (hardware address, 6 bytes): địa chỉ vật lý của phía gửi.
 Sender IP (4 bytes): địa chỉ IP của phía gửi.
 Target H/W (6 bytes): địa chỉ vật lý của phía nhận, nếu chưa biết thì sẽ là chứa
toàn 0.
 Target IP (4 bytes): địa chỉ IP của phía nhận.
Cách thức mà dữ liệu được gửi qua giao thức ARP được tiến hành như sau:
- Khi giao thức IP đưa xuống yêu cầu tìm chỉ MAC của host có IP là a.b.c.d thì nó
phải trả lời ngay địa chỉ MAC của địa chỉ trên dạng XX:XX:XX:XX:XX:XX.
- Cách thức ARP lấy thông tin giải quyết vấn đề trên là: giao thức ARP duy trì một
bảng gọi là ARP cache gồm hai cột, một cột ghi địa chỉ IP, một cột ghi địa chỉ
MAC tương ứng với địa chỉ IP đó. Mỗi khi được hỏi bởi giao thức IP, nó sẽ tra
bảng này để tìm câu trả lời. Khi được hỏi về một địa chỉ IP a.b.c.d nào đó mà
không có sẵn trong bảng ARP cache, nó sẽ lập tức tìm trong mạng LAN phần tử có
địa chỉ IP là a.b.c.d bằng cách gửi yêu cầu tới các phần tử trong mạng LAN. Các
phần tử này đều nhận được yêu cầu và phần tử nào có IP a.b.c.d sẽ trả lời lại địa
chỉ MAC của nó là XX:XX:XX:XX:XX:XX. Vậy giao thức ARP sẽ lập tức thêm

cặp địa chỉ IP a.b.c.d và địa chỉ MAC XX:XX:XX:XX:XX:XX vào trong bảng
ARP cache và trả lời lại cho giao thức IP.
2.4.4. Lớp giao tiếp mạng
Tầng giao tiếp mạng liên quan tới việc trao đổi dữ liệu giữa hai trạm thiết bị trong
cùng một mạng. Giao thức được sử dụng trong phạm vi đồ án là giao thức Ethernet. Phần
cứng được sử dụng Arduino Ethernet Shield giao tiếp qua chuẩn SPI (Serial Pheripheral
Interface).
Trong chồng giao thức TCP/IP, giao thức Ethernet đóng vai trò lớp truy nhập và
truyền dẫn. Việc gửi và nhận dữ liệu ở lớp Ethernet được thực hiện dựa vào địa chỉ vật lý
hay còn gọi là địa chỉ MAC. Trong mỗi khung Ethernet đều chứa 2 địa chỉ MAC: một địa
chỉ của host gửi và một địa chỉ của host nhận. Khi lớp Ethernet nhận được một khung dữ
liệu, trước hết nó sẽ kiểm tra địa chỉ host nhận xem có phải là địa chỉ của nó không (tức là
gửi cho nó), nếu đúng nó sẽ nhận khung này và chuyển đến lớp IP. Ngoài ra còn có 1
trường hợp nữa lớp Ethernet sẽ nhận khung là nếu địa chỉ host nhận là địa chỉ broadcast
(tức là gửi cho tất cả mọi máy trong mạng LAN), trong trường hợp này frame sẽ được
nhận và xử lý. Ngoài việc kiểm tra địa chỉ, trong khng Ethernet còn có 1 trường chứa mã

Trang 18

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
CHƯƠNG II: TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TCP/IP
kiểm tra lỗi giúp phát hiện những lỗi xảy ra trong quá trình truyền, các khung bị xác định
là có lỗi sẽ bị bỏ qua.
2.5. Công Nghệ Ethernet
Hơn 20 năm trước, Ethernet ra đời mang lại một mạng truyền dữ liệu nối tiếp tốc
độ cao. Tới nay, nó đã trở thành một chuẩn được chấp nhận khắp thế giới, và là giao thức
thống trị các mạng LAN. Hơn 85% kết nối mạng được cài đặt trên thế giới là Ethernet.
Tốc độ truyền dữ liệu phổ biến nhất của Ethernet là 10 triệu bit/s (10 Mbps), mặc dù vậy,
hầu hết các mạng hiện nay đang được nhanh chóng nâng cấp lên Fast Ethernet với tốc độ

100 Mbps. Ethernet thường gắn với hệ điều khiển công nghiệp qua một điều khiển độc
lập kết nối với PC hay mạng bằng cáp Ethernet.
Ngày 22 tháng 5 năm 1973, Robert Metcalfe thuộc Trung tâm Nghiên cứu Palto
Alto của hãng Xerox – PARC, bang California, đã đưa ra ý tưởng hệ thống kết nối mạng
máy tính cho phép các máy tính có thể truyền dữ liệu với nhau và với máy in lazer. Lúc
này, các hệ thống tính toán lớn đều được thiết kế dựa trên các máy tính trung tâm đắt tiền
(mainframe). Điểm khác biệt lớn mà Ethernet mang lại là các máy tính có thể trao đổi
thông tin trực tiếp với nhau mà không cần qua máy tính trung tâm. Mô hình mới này làm
thay đổi thế giới công nghệ truyền thông.
Chuẩn Ethernet 10Mbps đầu tiên được xuất bản năm 1980 bởi sự phối hợp phát
triển của 3 hãng: DEC, Intel và Xerox. Chuẩn này có tên DIX Ethernet (lấy tên theo 3 chữ
cái đầu của tên các hãng). Uỷ ban 802.3 của IEEE đã lấy DIX Ethernet làm nền tảng để
phát triển. Năm 1985, chuẩn 802.3 đầu tiên đã ra đời với tên IEEE 802.3 Carrier Sense
Multiple Access with Collition Detection (CSMA/CD) Access Method vesus Physical
Layer Specification. Mặc dù không sử dụng tên Ethernet nhưng hầu hết mọi người đều
hiểu đó là chuẩn của công nghệ Ethernet. Ngày nay chuẩn IEEE 802.3 là chuẩn chính
thức của Ethernet. IEEE đã phát triển chuẩn Ethernet trên nhiều công nghệ truyền dẫn
khác nhau vì thế có nhiều loại mạng Ethernet. Các chuẩn Ethernet đều hoạt động ở tầng
Data Link trong mô hình 7 lớp OSI vì thế đơn vị dữ liệu mà các trạm trao đổi với nhau là
các khung (frame). Cấu trúc khung Ethernet như sau:
Hình 2.6: Cấu trúc khung Ethernet theo IEEE 802.3


Trang 19

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
CHƯƠNG II: TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TCP/IP
 Các trường quan trọng trong phần mào đầu sẽ được mô tả dưới đây:
 preamble: trường này đánh dấu sự xuất hiện của khung bit, nó luôn mang giá trị

10101010. Từ nhóm bit này, phía nhận có thể tạo ra xung đồng hồ 10 Mhz.
 SFD (start frame delimiter): trường này mới thực sự xác định sự bắt đầu của một
khung. Nó luôn mang giá trị 10101011.
 Các trường Destination và Source: mang địa chỉ vật lý của các trạm nhận và gửi
khung, xác định khung được gửi từ đâu và sẽ được gửi tới đâu.
 LEN: giá trị của trường nói lên độ lớn của phần dữ liệu mà khung mang theo.
 FCS mang CRC (cyclic redundancy checksum): phía gửi sẽ tính toán trường này
trước khi truyền khung. Phía nhận tính toán lại CRC này theo cách tương tự. Nếu
hai kết quả trùng nhau, khung được xem là nhận đúng, ngược lại khung coi như là
lỗi và bị loại bỏ.














Trang 20

SVTH: NGUYỄN HỮU HẬU
LỚP: L12CQVT02-N
CHƯƠNG III: TỔNG QUAN VỀ BOARD MẠCH ARDUINO
CHƯƠNG III: TỔNG QUAN VỀ BOARD MẠCH ARDUINO

3.1. Arduino Mega 2560
3.1.1. Tổng quan
Arduino là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị
phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm nổi bật của
Arduino là môi trường phát triển ứng dụng cực kỳ mạnh. Và điều làm nên hiện tượng
Arduino chính là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm.
Hình 3.1: Arduino Mega 2560
Arduino Mega 2560 sử dụng chip ATmega2560. Nó có 54 chân digital I/O (trong
đó có 15 chân điều chế độ rộng xung PWM), 16 chân đầu vào tương tự (Analog Inputs), 4
UARTs (cổng nối tiếp phần cứng), một thạch anh dao động 16 MHz, kết nối USB, một
jack cắm điện, một đầu ICSP và một nút reset. Nó chứa tất cả mọi thứ cần thiết để hỗ trợ
các vi điều khiển, chỉ đơn giản là kết nối nó với một máy tính bằng cáp USB hoặc với một
bộ chuyển đổi điện AC-DC hoặc có thể sử dụng pin.
Board có khả năng tự động reset nhờ phần mềm thay vì đòi hỏi phải ấn nút reset
trước khi tải lên, Arduino Mega 2560 được thiết kế theo một cách mà cho phép nó được
thiết lập lại bằng phần mềm chạy trên một máy tính được kết nối với nó. Một trong những
dòng điều khiển lưu lượng phần cứng (DTR) của ATmega8U2 được thiết lập kết nối với
các đường dây của ATmega2560 qua một tụ điện 100nF. Khi đường dây này ở trạng thái

×