Tải bản đầy đủ (.docx) (44 trang)

Điều khiển thiết bị điện qua internet thông qua trang web

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.06 MB, 44 trang )

ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

LỜI NÓI ĐẦU
Sự tiến bộ của nền khoa học công nghệ thông tin đã góp phần làm cho đời sống xã
hội ngày càng phong phú. Nó mang lại siêu lợi nhuận cho nền kinh tế của mỗi quốc gia và
toàn cầu, đồng thời mang lại nền văn minh cho nhân loại chưa từng có từ trước đến nay.
Việt Nam là một nước đang trên đà phát triển và hội nhập, những ảnh hưởng tích cực và hệ
quả ưu việt do công nghệ thông tin mang lại cho nền kinh tế và đời sống xã hội khoảng vài
chục năm gần đây đã chứng minh điều này. Hệ thống mạng internet là một phát triển vượt
bậc của ngành công nghệ thông tin. Hiện nay nó là hệ thống mạng được liên kết toàn cầu.
Nhờ đó mà ta có thể tra cứu, cập nhật thông tin, liên lạc, trao đổi dữ liệu... bất cứ nơi nào có
internet. Hệ thống mạng internet hiện nay không chỉ còn bị giới hạn đường truyền nhờ sự
phát triển của công nghệ truyền tín hiệu cáp quang và vệ tinh. Ngoài ra, hệ thống mạng
Internet hiên nay không còn bó hẹp ở những nơi có cáp truyền dẫn, mà mở rộng ra khắp nơi
nhờ thông qua dịch vụ 3G. Ở Việt Nam liên tục trong những năm qua, internet đã phát triển
nhanh chóng với hơn 30 triệu người dùng internet trên tổng số gần 90 triệu người dân. Sự
phát triển bùng nổ của lĩnh vực viễn thông và CNTT của Việt Nam trong vài năm trở lại đây
cũng cho thấy lĩnh vực này là một hướng đi mới, đầy triển vọng tạo nên sự đột phá để đưa
nền kinh tế của Việt Nam vươn ra thế giới. Lĩnh vực điều khiển từ xa tại Việt Nam tuy đã
phát triển mạnh nhưng ít có hệ thống điều khiển qua internet. Chủ yếu là điều khiển qua
sóng điện từ với tần số thấp, khoảng cách không xa. Điều khiển từ xa qua internet cho phép
khoảng cách không gian không bị giới hạn. Có thể điều khiển thông qua máy tính có kết nối
internet hay điện thoại di động kết nối 3G, internet không dây... Trong nội dung đề tài nay,
em xin trình bày về điều khiển thiết bị điện qua internet thông qua trang web. Như một bài
nghiên cứu về hệ thống điều khiển này. Em xin chân thành cảm ơn Ths Võ Minh Thông đã
giúp đỡ em trong suốt quá trình nghiên cứu và thực hiện.

NỘI DUNG BÁO CÁO
1

Duy Tan University




ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

2

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

NỘI DUNG
CHƯƠNG I: TỔNG QUAN ĐỀ TÀI
I.1. Giới thiệu đề tài
Hiện nay các đề tài nghiên cứu khoa học đã được nghiên cứu nhiều đề tài trong nhiều
lĩnh vực. Tuy nhiên đề tài điều khiển thiết bị điện từ xa qua internet thì chưa được áp dụng
thực tế. Trong các công ty, xưởng sản xuất. Thông thường buổi sáng các nhân viên trước khi
vào ngày làm việc mới phải đi bật các thiết bị điện hoặc tắt trước khi ra về vào chiều. Đối
với các nhà xưởng lớn hơn. Việc triển khai một phòng điều khiển bao gồm các tủ điện có
nhiều công tắc điều khiển của tất cả các thiết bị. Như vậy nhân viên không phải bật hay tắt
điện vào buổi sáng hay buổi chiều. Tuy nhiên sẽ luôn phải có một người trực liên tục ở
phòng điều khiển. Việc này làm tốn thêm chi phí cho công ty. Đối với ngôi nhà của hộ gia
đình. Những lúc đi làm hoặc đi ra ngoài mà quên tắt đèn điện, bơm nước hay bếp điện. Họ
sẽ phải quay về để tắt các thiết bị này đi. Việc này gây tốn thời gian và chi phí đi lại. Đôi khi
còn gây ra tai nạn đáng tiếc như gây cháy do quên tắt bếp điên. Các nhân viên trong trường
học phải thường xuyên đi tắt điện của từng phòng học sau giờ tan học của mỗi ngày. Đó là
những bất cập thường hay gặp phải đối với điều khiển thiết bị điện thủ công như hiện nay.
Việc đưa đề tài điều khiển thiết bị điện từ xa qua internet vào ứng dụng thực tiễn sẽ giải
quyết được các vấn đề trên
I.2. Lí do chọn đề tài

Cùng với niềm đam mê công nghệ và mong muốn làm cho cuộc sống trở nên dể dàng
và thuận tiện hơn. Sau khi tìm hiểu, thu thập được một số thông tin về mạng Ethernet em
quyết định chọn đề tài “ Điều khiển thiết bị điện qua INTERNET” để xây dựng một mô
hình có khả năng thu thập và điều khiển dữ liệu từ xa, đáp ứng nhu cầu ứng dụng hiện nay.
Điều đó làm cho đề tài càng gần với giá trị thực tiễn.
I.3. Mục tiêu đề tài






Tìm hiểu một cách tổng quan về điều thiết bị điện qua internet.
Phân tích, hiểu được các tính năng và vấn đề kỷ thuật của hệ thống.

Nghiên cứu và chế tạo hoặc đưa ra giải pháp để chế tạo thiết bị của hệ thống
điều khiển thiết bị điện từ xa qua internet.
Nghiên cứu lập trình trên Kit Arduino.
Nghiên cứu và tiềm hiểu Ethernet Shield.
3

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

4

Duy Tan University



ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

CHƯƠNG II: CƠ SỞ LÍ THUYẾT
II.1. Giới thiệu chung về Arduino

Hình 1: Những thành viên khởi xướng
Arduino

Arduino thực sự đã gây sóng gió trên thị trường người dùng DIY (là những
người tự chế ra sản phẩm của mình) trên toàn thế giới trong vài năm gần đây,
gần giống với những gì Apple đã làm được trên thị trường thiết bị di động. Số
lượng người dùng cực lớn và đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học
đã làm cho ngay cả những người tạo ra chúng phải ngạc nhiên về mức độ phổ biến.
Arduino là gì mà có thể khiến ngay cả những sinh viên và nhà nghiên cứu tại các
trường đại học danh tiếng như MIT, Stanford, Carnegie Mellon phải sử dụng, hoặc ngay cả
Google cũng muốn hỗ trợ khi cho ra đời bộ kit Arduino Mega ADK dùng để phát triển các
ứng dụng Android tương tác với cảm biến và các thiết bị khác? Arduino thật ra 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ỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng
ngay cả với người ít am hiểu về điện tử và lập trì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.

5

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET


Hình 2: Sự đa
dạng của board mạch Arduino

Hiện nay, với cùng với sự phát triển đó là những mạch Arduino liên tục ra đời:
Arduino Uno, Arduino Pro, Arduino Micro, Arduino Pro Mini, Arduino Nano, Arduino
Mega 250, Arduino Zero, Arduino Due, Arduino Gemma
II.2. Khái quát về Webserver

Hình 3: Khái quát Webserver

Máy Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ
thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những
thông tin liên quan khác. Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc
cũng có thể có một Domain Name. Giả sử khi bạn đánh vào thanh Address trên trình duyệt
của bạn một dòng sau đó gõ phím Enter bạn sẽ gửi một yêu cầu đến
một Server có Domain Name là www.abc.com. Server này sẽ tìm trang Web có tên là
index.htm rồi gửi nó đến trình duyệt của bạn. Web service là một hệ thống phần mềm được
thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính khác nhau thông
qua mạng Internet, giao diện chung và sự gắn kết của nó được mô tả bằng XML. Web
service là tài nguyên phần mềm có thể xác định bằng địa chỉ URL, thực hiện các chức năng
6

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

và đưa ra các thông tin người dùng yêu cầu. Trước hết, có thể nói rằng ứng dụng cơ bản của
Web service là tích hợp các hệ thống và là một trong những hoạt động chính khi phát triển

hệ thống. Trong hệ thống này, các ứng dụng cần được tích hợp với cơ sở dữ liệu (CSDL) và
các ứng dụng khác, người sử dụng sẽ giao tiếp với CSDL để tiến hành phân tích và lấy dữ
liệu. Trong thời gian gần đây, việc phát triển mạnh mẽ của thương mại điện tử cũng đòi hỏi
các hệ thống phải có khả năng tích hợp với CSDL của các đối tác kinh doanh (nghĩa là
tương tác với hệ thống bên ngoài – bên cạnh tương tác với các thành phần bên trong của hệ
thống trong doanh nghiệp).
II.3. Tổng quan về Ethernet
II.3.1. Ethernet

Hình 4: Minh hoạt kết nối với Internet bằng Rj45

Ethernet là một họ lớn và đa dạng gồm các công nghệ mạng dựa khung dữ liệu
(frame-based) dành cho mạng LAN. Tên Ethernet xuất phát từ khái niệm Ête trong ngành
vật lý học. Ethernet định nghĩa một loạt các chuẩn nối dây và phát tín hiệu cho tầng vật lý,
hai phương tiện để truy nhập mạng tại phần MAC (điều khiển truy nhập môi trường truyền
dẫn) của tầng liên kết dữ liệu, và một định dạng chung cho việc đánh địa chỉ. Ethernet đã
được chuẩn hóa thành IEEE 802.3. Cấu trúc mạng hình sao, hình thức nối dây cáp xoắn
(twisted pair) của Ethernet đã trở thành công nghệ LAN được sử dụng rộng rãi nhất từ thập
kỷ 1990 cho tới nay. Trong những năm gần đây, WiFi, dạng LAN không dây đã được chuẩn
hóa bởi IEEE 802.11, đã được sử dụng bên cạnh hoặc thay thế cho Ethernet trong nhiều cấu
hình mạng.
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. Mỗi mạng được mô tả dựa vào ba nguyên tố: tốc độ, phương
thức tín hiệu sử dụng và đặc tuyến đường truyền vật lý.


Các hệ thống Ethernet 10Mb/s.
7

Duy Tan University



ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET




Các hệ thống Ethernet 100Mb/s – Ethernet tốc độ cao (Fast Ethernet ).
Các hệ thống Giga Ethernet.

II.3.2. Giao thức TCP/IP
TCP/IP là viết tắt của Transmission Control Protocol / Internet Protocol (Giao thức
Điều Khiển Truyền Thông /Giao thức Internet).Các tầng trong mô hình này là:




Lớp ứng dụng (Application Layer).
Lớp giao vận (Transport Layer).
Lớp liên mạng (Internet Layer).

Hình 5: Mô hình
TCP/IP


Lớp giao tiếp mạng (Network Interface Layer).

II.3.2.1. Lớp ứ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 Webserver 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 Webserver và các
trình duyệt Web. Webserver đồ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 Webserver chấp nhận kết nối,
client sẽ gửi một bản tin HTTP (HTTP 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
8

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

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 webserver 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ỉ
webserver trên. • Webserver, ở đâ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 trangweb đó 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

Hình 6: Lớp ứng
dụng và các Port tương ứng

sẽ thấy được tác động của thao tác điều khiển.

9

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

II.3.2.2. Lớp giao vận (Transport Layer)

Hình 7: Cấu trúc gói TCP

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.


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 .


II.3.2.3. Lớp 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:

10

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET



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

Hình 8: Datagram
trong lớp Internet

II.3.2.4. Lớp Network Interface

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 Shield Ethernet 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 khung Ethernet còn có 1 trường chứa mã 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.
11

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

Hình
9: Cấu trúc gói dữ liệu các lớp trong TCP/IP

II.3.3. Đóng gói và mở gói trong Ethernet TCP/IP

Hình 10: Cấu
trúc Header của lớp vật lí




Lớp vật lý: Chứa 8 bytes để chuẩn bị truyền dữ liệu , trong đó 7 bytes cho việc đồng
bộ lớp vật lý , byte thứ 8 dùng báo bắt đầu frame SFD ( Start of Frame Delimiter).
MAC Header: Gồm có 14 bytes :
 6 bytes đầu : địa chỉ đích
 6 bytes kế : địa chỉ nguồn
 2 bytes cuối : độ dài hoặc dạng dịch vụ

Hình 11: Cấu trúc Header
của lớp MAC

12

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

Hình
12: Cấu trúc gói lớp IP


IP( internet protocol)

II.4. Giao thức HTTP
II.4.1. HTTP
Là giao thức ở tầng ứng dụng dùng để truyền dữ liệu (văn bản, hình ảnh, âm thanh,
…) thông qua kết nối TCP/IP giữa trình duyệt web (Web browser) và máy chủ (Web server).
Hoạt động theo mô hình client – server. Truyền nhận theo kiểu request/respone. Client gửi
yêu cầu kết nối đến server với một định dạng header tổng quát như sau: Request = RequestLine *(( general-header | request-header | entity-header ) CRLF) CRLF [ message-body ]
Trong đó:

• Request Line: Chứa các thông tin về phương thức kết nối, địa chỉ tài nguyên yêu cầu
và phiên bản HTTP yêu cầu Request-Line = Method RequestURI/HTTP-Version
CRLF.
• Phương thức kết nối (Method): - GET: Yêu cầu lấy thông tin. Đây là phương thức
dùng nhiều nhất trong duyệt web - HEAD: Chỉ yêu cầu lấy thông tin kết nối - POST:
Chú thích thêm về tài nguyên yêu cầu, gửi thông tin của một biểu mẫu, … DELETE: yêu cầu máy chủ xóa nguồn tài nguyên yêu cầu. - …

13

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET



Địa chỉ tài nguyên (Request URI): Request-URI = absoluteURI | abs_path | authority.
Thường dùng cách truy cập địa chỉ tuyệt đối (đầy đủ thông tin về địa chỉ của nguồn
tài nguyên cần yêu cầu) Ví dụ: .Hoặc truy
cập theo địa chỉ tương đối (chỉ chứa một phần thông tin về nguồn
32 tài nguyên yêu cầu). Ví dụ: Khi đó theo mặc định thì



nguồn yêu cầu sẽ bổ sung thêm là index.html
Thông tin bổ sung header (message body). Phần này sẽ kèm theo các thông tin về
client như: trình duyệt đang sử dụng, phiên bản trình duyệt, … Sau khi đã nhận đầy
đủ thông tin về yêu cầu kết nối từ client thì server xử lý thông tin và trả về bản tin
(Respone): Response = Status-Line *(( general-header | response-header | entity-


header ) CRLF) CRLF [ message-body ]
• Status Line: Chứa các thông tin về phiên bản HTTP, mã trạng thái kết nối và kèm







theo cụm từ chú thích.
Mã trạng thái kết nối (Status code): Gồm 3 số để chú thích về trạng thái kết nối
1xx: yêu cầu đang được xử lý.
2xx: yêu cầu thành công.
3xx: hướng dẫn, thực hiện thao tác khác để tiếp tục.
4xx: lỗi từ phía client, yêu cầu không đúng hoặc sai cú pháp, …
5xx: lỗi từ phía server.

Ví dụ:
100: Continue
101: Switching Protocols
200: OK
II.4.2. Cấu trúc tập tin HTTP
Một trang Web luôn bắt đầu bằng thẻ <html> và kết thúc bởi thẻ </html> Các trang
Web được chia thành 2 phần: Phần đầu: được đặt giữa hai thẻ <head> và thẻ </head> - định
ra tiêu đề, nội dung của tiêu để. Phần thân: đặt giữa 2 thẻ <body> và </body> - chứa nội
dung của trang Web.
II.4.3. Các thành phần cơ bản của HTML


Thẻ (tag): là một tập các kí hiệu được định nghĩa trong HTML có nghĩa đặc biệt. Thẻ

bắt đầu bằng kí hiệu < và kết thức bởi kí hiệu >. Cú pháp: tính=“giátrị”,…>Nội dung</tên thẻ> Ví dụ: <bg clear = “left”> Nôi dung</bg>
14

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET



Phần tử (element): có 2 loại phần tử trong HTML - Phần tử chứa nội dung: bao gồm
thẻ đóng và thẻ mở Ví dụ:

Nội dung

- Phần tử rỗng: bao gồm 1 thẻ

36 Ví dụ:

• Thuộc tính(properties): mỗi thẻ bao gồm một hoặc nhiều thuộc tính đi kèm. Thuộc
tính được nhập vào ngày trước dấu ngoặc đóng(>) của thẻ. Có thể sử dụng nhiều
thuộc tính trong một thẻ. Thuộc tính này kế tiếp thuộc tính khác, phân cách nhau bởi
khoảng trắng. Ví dụ: <table border=“1”>
• Giá trị: Ngoài các thuộc tính không có giá trị còn có các thuộc tính của tag có giá trị.
Ví dụ: thuộc tính clear của thẻ
có ba giá trị lựa chọn: left,right, all.
• Thẻ lồng nhau: dùng để chỉnh sửa cách trình bày nội dung trong một trang Web. Trật
tự sắp xếp của những thẻ lồng nhau đó là thẻ được mở đầu tiên sẽ là thẻ đóng sau



cùng. Ví dụ: <H1> Phần <I>Nội dung</I><H1>
Khoảng trắng: Trình duyệt bỏ qua các khoảng trắng.
Tên tệp tin: phải đặt tên tệp tin với phần mở rộng là “.htm” hoặc “.html” điều này
giúp trình duyệt định ra loại tài liệu khi duyệt. Để tạo một trang Web, chúng ta có


thể sử dụng bất kỳ một trình soạn thảo nào để tạo ra một trang Web.
II.5 NAT PORT
II.5.1 Định nghĩa

Hình 13: NAT PORT

NAT giống như một router, nó chuyển tiếp các gói tin giữa những lớp
mạng khác nhau trên một mạng lớn. NAT dịch hay thay đổi một hoặc cả hai địa
chỉ bên trong một gói tin khi gói tin đó đi qua một router, hay một số thiết bị
khác. Thông thường, NAT thường thay đổi địa chỉ (thường là địa chỉ riêng) được
dùng bên trong một mạng sang địa chỉ công cộng.

15

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

NAT cũng có thể coi như một firewall cơ bản. Để thực hiện được công việc
đó, NAT duy trì một bảng thông tin về mỗi gói tin được gửi qua. Khi một PC
trên mạng kết nối đến 1 website trên Internet header của địa chỉ IP nguồn được
thay đổi và thay thế bằng địa chỉ Public mà đã được cấu hình sẵn trên NAT
server , sau khi có gói tin trở về NAT dựa vào bảng record mà nó đã lưu về các
gói tin, thay đổi địa chỉ IP đích thành địa chỉ của PC trong mạng và chuyển tiếp
đi. Thông qua cơ chế đó quản trị mạng có khả năng lọc các gói tin được gửi đến
hay gửi từ một địa chỉ IP và cho phép hay cấm truy cập đến một port cụ thể.
II.5.2. NAT làm việc như thế nào ?



NAT sử dụng IP của chính nó làm IP công cộng cho mỗi máy con (client) với IP
riêng. Khi một máy con thực hiện kết nối hoặc gửi dữ liệu tới một máy tính nào
đó trên internet, dữ liệu sẽ được gởi tới NAT, sau đó NAT sẽ thay thế địa chỉ IP
gốc của máy con đó rồi gửi gói dữ liệu đi với địa chỉ IP của NAT. Máy tính từ xa
hoặc máy tính nào đó trên internet khi nhận được tín hiệu sẽ gởi gói tin trở về
cho NAT computer bởi vì chúng nghĩ rằng NAT computer là máy đã gởi những
gói dữ liệu đi. NAT ghi lại bảng thông tin của những máy tính đã gởi những gói
tin đi ra ngoài trên mỗi cổng dịch vụ và gởi những gói tin nhận được về đúng

máy tính đó (client).
• NAT xử lý một gói tin xuất phát từ bên trong đi ra bên ngoài một mạng theo cách
thức sau:


Khi NAT nhận một gói tin từ một cổng bên trong, gói tin này đáp
ứng các tiêu chuẩn để NAT, router sẽ tìm kiếm trong bảng NAT địa
chỉ bên ngoài (outside address) của gói tin. Nói cách khác, tiến trình
NAT tìm kiếm một hàng ở trong bảng NAT trong đó địa chỉ outside
local address bằng với địa chỉ đích của gói tin. Nếu không có phép

so trùng nào tìm thấy, gói tin sẽ bị loại bỏ.
 Nếu có một hàng trong bảng NAT là tìm thấy (trong hàng này, địa
chỉ đích của gói tin bằng với địa chỉ outside local), NAT sẽ thay thế
địa chỉ đích trong gói tin bằng địa chỉ outside global theo thông tin


trong bảng NAT.
Tiến trình NAT tiếp tục tìm kiếm bảng NAT để xem có một địa chỉ
inside local nào bằng vớI địa chỉ nguồn của gói tin hay không. Nếu

có một hàng là tìm thấy, NAT tiếp tục thay thế địa chỉ nguồn của gói
16

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

tin bằng địa chỉ inside global. Nếu không có một hàng nào được tìm
thấy, NAT sẽ tạo ra một hàng mới trong bảng NAT và chèn địa chỉ
mới vào trong gói tin.
• NAT sẽ xử lý một gói tin xuất phát từ mạng bên ngoài đi vào mạng bên trong
theo cách sau:
 Khi NAT nhận được một gói tin xuất phát từ một cổng bên ngoài,
đáp ứng các tiêu chuẩn để NAT, tiến trình NAT sẽ tìm kiếm trong
bảng NAT một hàng trong đó địa chỉ inside global là bằng vớI đia
chỉ đích của gói tin.
 Nếu không có hàng nào trong bảng NAT được tìm thấy, gói tin bị
loạI bỏ. Nếu có một hàng tìm thấy trong bảng NAT, NAT sẽ thay thế


địa chỉ đích bằng địa chỉ inside local từ bảng NAT.
Router tìm kiếm bảng NAT để tìm ra địa chỉ outside global bằng với
địa chỉ nguồn của gói tin. Nếu có một hàng là tìm thấy, NAT sẽ thay
thế địa chỉ đích bằng địa chỉ outside local từ bảng NAT.

II.5.3. NAT giải quyết những vấn đề gì ?
Ban đầu, NAT được đưa ra nhằm giải quyết vấn đề thiếu hụt địa chỉ của
IPv4, nhưng sao này được phát triển nhằm giải quyết:



NAT giúp chia sẻ kết nối Internet (hay 1 mạng khác) với nhiều




máy trong LAN chỉ với 1 IP duy nhất, hay 1 dãy IP cụ thể.
NAT che giấu IP bên trong LAN.
NAT giúp quản trị mạng lọc các gói tin được gửi đến hay gửi
từ một địa chỉ IP và cho phép hay cấm truy cập đến một port
cụ thể.

II.5.4. Các kĩ thuật NAT PORT


NAT Tĩnh (Static NAT)
Với NAT tĩnh, địa chỉ IP thường được ánh xạ tĩnh với nhau thông qua các

lệnh cấu hình. Trong NAT tĩnh, một địa chỉ Inside Local luôn luôn được ánh xạ
vào địa chỉ Inside Global. Nếu được sử dụng, mỗi địa chỉ Outside Local luôn
luôn ánh xạ vào cùng địa chỉ Outside Global. NAT tĩnh không có tiết kiệm địa
chỉ

thực.

Mặc dù NAT tĩnh không giúp tiết kiệm địa chỉ IP, cơ chế NAT tĩnh cho phép một
17

Duy Tan University



ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

máy chủ bên trong hiện diện ra ngoài Internet, bởi vì máy chủ sẽ luôn dùng cùng
một địa chỉ IP thực .
Cách thức thực hiện NAT tĩnh thì dễ dàng vì toàn bộ cơ chế dịch địa chỉ
được thực hiện bởi một công thức đơn giản:
Địa chỉ đích =Địa chỉ mạng mới OR (địa chỉ nguồn AND ( NOT netmask))


NAT Động (Dynamic NAT)
Với NAT tĩnh, khi số IP nguồn không bằng số IP đích. Số host chia sẻ nói

chung bị giới hạn bởi số IP đích có sẵn. NAT động phức tạp hơn NAT tĩnh, vì thế
chúng phải lưu giữ lại thông tin kết nối và thậm chí tìm thông tin của TCP trong
packet. Một số người dùng nó thay cho NAT tĩnh vì mục đích bảo mật. Những
người từ bên ngoài không thể tìm được IP nào kết nối với host chỉ định vì tại
thời điểm tiếp theo host này có thể nhận một IP hoàn toàn khác.
Những kết nối từ bên ngoài thì chỉ có thể khi những host này vẫn còn nắm
giữ một IP trong bảng NAT động. Nơi mà NAT router lưu giữ những thông tin về
IP bên trong (IP nguồn )được liên kết với NAT-IP(IP đích). Cho một ví dụ trong
một session của FPT non-passive. Nơi mà server cố gắng thiết lập một kênh
truyền dữ liệu vì thế khi server cố gắng gửi một IP packet đến FTP client thì
phải có một entry cho client trong bảng NAT. Nó vẫn phải còn liên kết một
IPclient với cùng một NAT-IPs khi client bắt đầu một kênh truyền control trừ khi
FTP session rỗi sau một thời gian timeout. Xin nói thêm giao thức FTP có 2 cơ
chế là passive và non-passive . Giao thức FTP luôn dùng 2 port (control và
data) . Với cơ chế passive (thụ động ) host kết nối sẽ nhận thông tin về data port
từ server và ngược lại non-passive thì host kết nối sẽ chỉ định dataport yêu cầu
server lắng nghe kết nối tới.

Bất cứ khi nào nếu một người từ bên ngoài muốn kết nối vào một host chỉ
định ở bên trong mạng tại một thời điểm tùy ý chỉ có 2 trường hợp:
Host bên trong không có một entry trong bảng NAT khi đó sẽ nhận được thông
tin “host unreachable” hoặc có một entry nhưng NAT-IPs là không biết.
Biết được IP của một kết nối bởi vì có một kết nối từ host bên trong ra ngoài
mạng. Tuy nhiên đó chỉ là NAT-IPs và không phải là IP thật của host. Và thông
18

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

tin này sẽ bị mất sau một thờii gian timeout của entry này trong bảng NAT
router.


NAT Overloading (hay PAT)
Dùng để ánh xạ nhiều địa chỉ IP riêng sang một địa chỉ công cộng vì mỗi

địa chỉ riêng được phân biệt bằng số port. Có tới 65. 356 địa chỉ nội bộ có thể
chuyển đổi sang 1 địa chỉ công cộng. Nhưng thực tế thì khỏang 4000 port.
PAT hoạt động bằng cách đánh dấu một số dòng lưu lượng TCP hoặc UDP từ
nhiều máy cục bộ bên trong xuất hiện như cùng từ một hoặc một vài địa chỉ
Inside Global. Với PAT, thay vì chỉ dịch địa chỉ IP, NAT cũng dịch các cổng khi
cần

thiết.
Và bởi vì các trường của cổng có chiều dài 16 bit, mỗi địa chỉ Inside


Global có thể hỗ trợ lên đến 65000 kết nối TCP và UDP đồng thời. Ví dụ, trong
một hệ thống mạng có 1000 máy, một địa chỉ IP thực được dùng như là địa chỉ
Inside Global duy nhất có thể quản lý trung bình sáu dòng dữ liệu đến và đi từ
các máy trên Internet.

19

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

CHƯƠNG III: GIỚI THIỆU THÔNG SỐ LINH KIỆN
III.1.Mạch điều khiển Arduino UNO

Hình 15: Sơ đồ chân mạch Arduino
UNO

Hình 14: Mạch Arduino UNO

 Nguồn(Arduino Uno )

Arduino UNO R3 có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn
ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì cấp nguồn
20

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET


bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB. Nếu cấp nguồn
vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO R3.
 GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO R3. Khi bạn dùng
các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối
với nhau.
 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.
 Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của
nguồn với chân này và cực âm của nguồn với chân GND.
 IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở
chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không được lấy nguồn 5V từ
chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn.
 RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc
chân RESET được nối với GND qua 1 điện trở 10KΩ.
Lưu ý:(Arduino Uno)
 Arduino UNO R3 không có bảo vệ cắm ngược nguồn vào. Do đó bạn phải hết sức
cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO.
Việc làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng
nhựa chặn giấy. Tôi khuyên bạn nên dùng nguồn từ cổng USB nếu có thể.
 Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các thiết
bị khác, không phải là các chân cấp nguồn vào. Việc cấp nguồn sai vị trí có thể làm
hỏng board. Điều này không được nhà sản xuất khuyến khích.
 Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có
thể làm hỏng board.
 Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển
ATmega328.
 Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino UNO
nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.
 Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ làm

hỏng vi điều khiển.
 Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino UNO
vượt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu không dùng để truyền nhận
dữ liệu, bạn phải mắc một điện trở hạn dòng.
 Bộ nhớ
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
21

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET



32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ
Flash của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng

cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu.
 2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo khi
lập trình sẽ lưu ở đây. Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM.
Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải
bận tâm. Khi mất điện, dữ liệu trên SRAM sẽ bị mất.
 1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): đây
giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vào
đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.

Hình 16: Các cổng
vào ra
 Các cổng vào ra:


Arduino UNO R3 có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2
mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân đều có
các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các
điện trở này không được kết nối).
Một số chân digital có các chức năng đặc biệt như sau:


2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX)
dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân
22

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây. Nếu
không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết
 Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân
giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite(). Nói
một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến
5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.
 Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các chức
năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI
với các thiết bị khác.
 LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút
Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi
chân này được người dùng sử dụng, LED sẽ sáng.
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0

→ 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board, bạn có
thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu bạn cấp điện áp
2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ 0V
→ 2.5V với độ phân giải vẫn là 10bit.
Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI
với các thiết bị khác.
III.2. Ethernet Shield
III.2.1. Khái niệm
Shield Ethernet ENC28J60 là một board mạch mở rộng cho Arduino, tương thích hoàn toàn
với Arduino. Shield này được sử dụng với Arduino để có thể lập trình truy cập qua mạng,
giao tiếp mạng nội bộ hoặc mạng Internet, để từ đó có thể khám phá kho tàng dữ liệu vô tận
từ hệ thống mạng máy tính đang vô cùng phát triển. Ethernet Shield cung cấp cho board
Arduino tất cả những thứ cần thiết để bạn có thể kết nối Ethernet, giao tiếp đơn giản, có hỗ
trợ khe cắm thẻ nhớ micro sd để lưu trữ dữ liệu.
III.2.2. Đặc điểm


Điện thế hoạt động: 5v (cung cấp bởi Arduino Board)



Sử dụng chip Ethernet: ENC28J60, Tốc độ Ethernet: 10Mb/s



Sử dụng Ethernet Jack RJ45 chuẩn, có đèn báo tín hiệu truyền nhận



Hoàn toàn tương thích Arduino,Kết nối với Arduino qua SPI

23

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET



Hỗ trợ khe cắm thẻ nhớ microSD.

III.2.3. Mô tả các chân kết nối

Hình 17: Kết nối với Arduino

Hình 18: Bảng các chân kết nối

Hình 19: Kết nối Arduino và Shield Ethernet

24

Duy Tan University


ĐIỀU KHIỂN THIẾT BỊ ĐIỆN THÔNG QUA INTERNET

III.3.Module Reley
III.3.1. Khái niệm
Rơ-le là một loại linh kiện điện tử thụ động rất hay gặp trong các ứng dụng thực tế.
Khi bạn gặp các vấn đề liên quan đến công suất và cần sự ổn định cao, ngoài ra có thể dễ

dàng bảo trì, thì rơ-le chính là cái bạn cần tìm. Vì vậy, hôm nay, chúng ta sẽ cùng nhau tìm
hiểu về relay và các ứng dụng của nó trong cuộc sống!

Hình 20: Module Relay

Từ rơ-le là từ vay mượn từ tiếng nước ngoài (cụ thể là tiếng Pháp) nên trong từ đó
không bao hàm ý nghĩa gì nhiều. Vì vậy, ta sẽ không phân tích rơ-le là gì thông qua tên gọi
của nó. Vì vậy, tớ sẽ sử dụng những linh kiện điện tử khác mà chắc chắn bạn đã biết rồi để
diễn giải!
Rơ-le là một công tắc (khóa K). Nhưng khác với công tắc ở một chỗ cơ bản, rơ-le được kích
hoạt bằng điện thay vì dùng tay người. Chính vì lẽ đó, rơ-le được dùng làm công tắc điện
tử! Vì rơ-le là một công tắc nên nó có 2 trạng thái: đóng và mở. "Khi nào nó đóng? Khi nào
nó mở? và làm sao thay đổi được trạng thái của nó?,..." đó chính là những câu hỏi mà
chúng ta cần tìm kiếm câu trả lời trong bài viết này.
III.3.2. Cách sử dụng
Rơ-le bình thường gồm có 6 chân. Trong đó có 3 chân để kích, 3 chân còn lại nối với
đồ dùng điện công suất cao.
1.




3 chân dùng để kích
+: cấp hiệu điện thế kích tối ưu vào chân này.
-: nối với cực âm
S: chân tín hiệu, tùy vào loại module rơ-le mà nó sẽ làm nhiệm vụ kích rơ-le
25

Duy Tan University



×