Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD:TS. Vũ Vân Hà
MỤC LỤC
1
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD:TS. Vũ Vân Hà
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. Và khái
niệm về ngôi nhà thông minh đã ra đời. Một ngôi nhà thông là một giải pháp
điều khiển tích hợp cho các 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 của ngôi nhà thông minh là cơ sở để chúng
em chọn đề tài đồ án tốt nghiệp “Thiết kế hệ thống điều khiển thiết bị điện trong
gia đình qua Ethernet và SMS”. Trong suốt thời gian hoàn thành đồ án, chúng
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 Ethernet, điều khiển qua tin nhắn SMS, đồng thời
tìm hiểu về các chỉ tiêu của một ngôi nhà thông minh.
Dưới sự hướng dẫn, chỉ bảo nhiệt tình của thầy Vũ Vân Hà cùng với sự
cố gắng nỗ lực của các thành viên trong nhóm, chúng 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 chúng em không thể tránh khỏi nhiều thiếu xót. Vì vậy chúng
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 để chúng em có thể phát triển và hoàn thiện thêm đề tài này.
Chúng em xin chân thành cảm ơn!
Nhóm sinh viên thực hiện
1. Nguyễn Tất Nam
2. Đào Cửu Long
3. Mai Trung Chính
2
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD:TS. Vũ Vân Hà
CHƯƠNG 1: DẪN NHẬP
về nhà trong một khoảng thời gian nhất định. Bên cạnh đó nó cũng gửi thông báo
cho người điều khiển biết nhiệt độ trong phòng hiện tại là bao nhiêu, đồng thời
phát tín hiệu cảnh báo khi nhiệt độ phòng vượt quá giới hạn cho phép. Ngoài ra,
hệ thống còn mang tính bảo mật. Nghĩa là chỉ có những số điện thoại được cài
đặt trước 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 di động nên chúng em đã
chọn đề tài " Điều khiển thiết bị điện trong nhà thông qua mạng Ethernet và tin
nhắn SMS " để đá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à.
Với đề tài trên nhóm đề tài đã thực hiện việc điều khiển từ xa theo ba
hướng hướng chính:
Điều khiển thiết bị qua Ethernet 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.
Điều khiển thiết bị qua tin nhắn SMS từ những số điện thoại được cho
phép. Thiết bị sẽ nhận tin nhắn SMS theo cấu trúc cho trước. Phân tích
yêu cầu điều khiển và thực hiện điều khiển thiết bị.
Đo và thông báo nhiệt độ trong phòng, phát tín hiệu cảnh báo nếu nhiệt
độ trong phòng tăng cao vượt quá giới hạn cho phép.
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
4
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD:TS. Vũ Vân Hà
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ì mô hình ngôi nhà tự động được điều khiển từ xa đã phát triển rất mạnh mẽ.
Từ những nhu cầu thực tế đó, nhóm em muốn đưa một phần những kỹ
chuông và tin nhắn khi nhiệt độ trong phòng tăng cao vượt quá giới hạn
cho phép.
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ự động từ xa qua mạng Ethernet và tin nhắn SMS.
- Nghiên cứu và tạo một giao diện Websever để thực hiện điều khiển qua
mạng Ethernet với chuẩn giao tiếp TCP/IP.
- Tìm hiều về hệ thống điện thoại di động GSM hiện nay. Nghiên cứu và sử
dụng các module GSM/GPRS phổ biến hiện nay. Module nhóm thực hiện
nghiên cứu và sử dụng là module SIM900 của hãng SIMCom.
- Nghiên cứu và sử dụng chip vi điều khiển PIC của Mircochip. Chip mà
nhóm đã tiến hành nghiên cứu và sử dụng là chip PIC18F8722.
6
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD:TS. Vũ Vân Hà
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ác thành viên trong nhóm thực hiện đề tài, nhóm 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 giao tiếp qua mạng Ethernet và tin
nhắn SMS với các tính năng:
+ Giao tiếp thành công với mạng Ethernet 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
Webserver.
+ Giao tiếp thành công với module SIM900, nhận và gửi tin nhắn thành
công, thực hiện điều khiển thiết bị qua tin nhắn SMS.
+ Cảnh báo tới người dùng và phát tín hiệu ra chuông khi nhiệt độ phòng
tăng cao vượt quá giới hạn cho phép.
+ 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.
từ khối giao tiếp SMS, khối giao tiếp Ethernet và cảm biến, sau đó đưa ra tín
hiệu điều khiển đồng thời hiển thị lên LCD.
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. Khi nhiệt độ đo được lớn hơn giá trị cho phép thì vi điều
khiển phát tín hiệu cảnh báo.
Khối hiển thị LCD
Gồm TEXT LCD 16x2, có nhiệm vụ hiện thị các thông tin có liên quan tới
việc điều khiển, giúp cho giao diện giữa người dùng và thiết bị trực quan hơn.
Khối công suất
Khối này bao gồm 4 BJT C1815 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 tụ công suất dân dụng
như bóng đèn.
Khối nguồn
Tạo nguồn với hai mức điện áp 5V cấp cho vi điều khiển và 3V3 cấp cho
ENC26JC0. Ngoài ra module SIM900 được cấp nguồn với điện áp 4V.
10
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD:TS. Vũ Vân Hà
CHƯƠNG 2: ETHERNET VÀ HỌ GIAO THỨC
TCP/IP
2.1 Tổng quan về Ethernet
2.1.1 Cấu trúc khung tin 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:
Bảng 2.1: Cấu trúc khung MAC theo IEEE 802.3/ Ethernet
Mở đầu
555…5H
SFD
(D5H)
- 3 octet sau do nhà sản xuất ấn định.
Kết hợp ta lẽ có một địa chỉ MAC duy nhất cho một giao tiếp mạng
Ethernet. Địa chỉ MAC được sử dụng làm địa chỉ nguồn và địa chỉ đích trong
khung Ethernet.
2.1.3 Các loại khung Ethernet
2.1.3.1 Khung unicast
Khung này được truyền tới một trạm xác định. Tất cả các trạm trong phân
đoạn mạng trên sẽ đều nhận được khung này nhưng:
- Chỉ có trạm 2 thấy địa chỉ MAC đích của khung trùng với địa chỉ MAC của giao
tiếp mạng của mình nên tiếp tục xử lý các thông tin khác trong khung.
- Các trạm khác sau khi so sánh địa chỉ sẽ bỏ qua không tiếp tục xử lý khung nữa.
2.1.3.2 Khung broadcast
Các khung broadcast có địa chỉ MAC đích là FF-FF-FF-FF-FF-FF. Khi
nhận được các khung này, mặc dù không trùng với địa chỉ MAC của giao tiếp
mạng của mình nhưng các trạm đều phải nhận khung và tiếp tục xử lý.
12
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD:TS. Vũ Vân Hà
2.1.3.3 Khung multicast
Trạm nguồn gửi khung tới một số trạm nhất định chứ không phải là tất cả.
Địa chỉ MAC đích của khung là địa chỉ đặc biệt mà chỉ các trạm trong cùng
nhóm mới chấp nhận các khung gửi tới địa chỉ này.
2.1.4 Truy nhập bus sử dụng phương pháp CSMA/CD
Hình 2.1: Minh họa phương pháp CSMA/CD
Nguyên tắc làm việc phương pháp CSMA/CD:
Theo phương pháp CSMA/CD, mỗi trạm đều có quyền truy nhập bus mà không
cần một sự kiểm soát nào. Phương pháp được tiến hành như sau:
- Mỗi trạm đều phải tự nghe đường dẫn (carrier sense), nếu đường dẫn rỗi (không
có tín hiệu ) thì mới được phát.
- Do việc lan truyền tín hiệu cần một thời gian nào đó, nên vẫn có khả năng hai
trạm cùng phát tín hiệu lên đường dẫn. Chính vì vậy, trong khi phát thì mỗi trạm
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 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 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ể
15
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD:TS. Vũ Vân Hà
đượ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.2.2 Tầng Giao Vận (Transport Layer)
- 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.
- Đ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:
18
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD:TS. Vũ Vân Hà
Hình 2.4: Lưu đồ trạng thái kết nối TCP
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
- Khi server nhận được nó cũng chuyển từ “Last ACK” sang “Close” (không cần
đợi Timeout)
20
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD:TS. Vũ Vân Hà
2.2.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.5: 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).
- Header Length (4 bit): cho biết chiều dài của header IP, tính theo đơn vị 4
byte (32 bit).
21
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD:TS. Vũ Vân Hà
- 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ênkhông sử dụng.
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 chỉ MAC nguồn, đương
nhiên ta sẽ điền địa chỉ MAC của chính ENC28J60 đã đượ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.
23
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD:TS. Vũ Vân Hà
Cấu trúc gói ARP:
Hình 2.6: 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).
• PLEN (1 byte): cho biết chiều dài của địa chỉ giao thức (địa chỉ IP).
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
25