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
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
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
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
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
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
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
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
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
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
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
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.
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
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ị
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