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

THIẾT kế hệ THỐNG GIÁM sát dữ LIỆU NHIỆT độ môi TRƯỜNG QUA 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 (386.18 KB, 19 trang )

TRƯỜNG ĐẠI HỌC CNTT VÀ TRUYỀN THÔNG
KHOA CÔNG NGHỆ TỰ ĐỘNG HÓA

BÀI BÁO CÁO
THỰC TẬP CHUYÊN NGHÀNH

ĐỀ TÀI:
THIẾT KẾ HỆ THỐNG GIÁM SÁT DỮ LIỆU NHIỆT ĐỘ
MÔI TRƯỜNG QUA INTERNET
Giáo viên hướng dẫn : Đào Quang Bình
Lớp
: KTĐ-ĐT K12A
Sinh viên thực hiện : Thân Văn Dương

MỤC LỤC
1


CHƯƠNG I............................................................................................................................1
TỔNG QUAN VỀ WIFI........................................................................................................1
1.1.

Lịch sử ra đời , các loại wifi...................................................................................1

1.2.

Kiến trúc TCP/IP....................................................................................................1

CHƯƠNG II...........................................................................................................................3
PHÂN TÍCH HỆ THỐNG.....................................................................................................3
2.1. Yêu cầu của hệ thống................................................................................................3


2.2. Sơ đồ khối hệ thống..................................................................................................4
2.3. Lựa chọn linh kiện.......................................................................................................4
2.3.1. Khối xử lý trung tâm...........................................................................................4
2.3.2. Khối cảm biến....................................................................................................7
2.4. Thiết kế phần cứng.................................................................................................13
2.4.1.

Sơ đồ nguyên lý...............................................................................................13

2.4.2.

Nguyên lý hoạt động.......................................................................................14

2.5.

Thiết kế phần mềm...............................................................................................14

CHƯƠNG 3.........................................................................................................................15
KẾT QUẢ............................................................................................................................15
3.1. Kết luận.....................................................................................................................15
3.2. Ý tưởng phát triển...................................................................................................17
TÀI LIỆU THAM KHẢO....................................................................................................18

2


CHƯƠNG I
TỔNG QUAN VỀ WIFI
1.1.


Lịch sử ra đời , các loại wifi

Ngày nay mạng không dây (Wireless Lan) đã trở thành một phần không thể
thiếu trong cuộc sống khi nó xuất hiện trong các doanh nghiệp, trường học, các địa
điểm giải trí và ngay cả tại từng hộ gia đình. Nhờ sự tiện lợi của mình, mạng không
dây đã dần thay thế kết nối truyền thống bằng cáp truyền thống. Công nghệ
mạng không dây lần đầu tiên xuất hiện vào cuối năm 1990 khi
những nhà sản xuất giới thiệu những sản phẩm hoạt động trong
băng tần 900MHz. Những giải pháp này cung cấp tốc độ truyền dữ
là 1Mbps , nhưng những giải pháp này không được đồng bộ giữa
các nhà sản xuất khi đó.
Năm 1992, xuất hiện những mạng không dây sử dụng băng
tần 2.4GHz. Mặc dù đã có tốc độ truyền dữ liệu cao hơn nhưng
chúng vẫn là những giải pháp riêng của mỗi nhà sản xuất và
không được công bố rộng rãi. Sự cần thiết cho việc hoạt động
thống nhất giữa các thiết bị ở những tần số khác nhau dẫn đến
một số tổ chức bắt đầu phát triền ra những chuẩn mạng không dây
chung.
Năm 1997, IEEE đã phê chuẩn sự ra đời của chuẩn 802.11
cho các mạng không dây. Chuẩn 802.11 hỗ trợ ba phương pháp
truyền tín hiệu, trong đó có bao gồm phương pháp truyền tín hiệu
radio ở tần số 2.4GHz.
Năm 1999, IEEE thông qua hai sự bổ sung cho chuẩn 802.11 là các
chuẩn 802.11b và 802.11b. Và các thiết bị mạng không dây dựa
trên chuẩn 802.11b đã nhanh chóng trở thành công nghệ không
dây vượt trội. Các thiệt bị phát trên tần số 2.4GHz, cung cấp tốc độ
truyền dữ liệu 11Mbps.
Năm 2003, IEEE công bố thêm một sự cái tiến là chuẩn
802.11g có thể nhận thông tin trên cả hay dãy tần 2.4GHz và
5GHz và nâng tốc độ truyền dự liệu nên đến 54Mbps. Đây là chuẩn

được sử dụng rộng rãi vào thời điểm hiện tại
Ngoài ra IEEE còn thông qua chuẩn 802.11n nâng tốc độ truyền dữ
liệu từ 100-600Mbps vào tháng 9/2009 sau 7 năm nghiên cứu và
phát triển.
1


1.2.

Kiến trúc giao thức OSI và TCP/IP
1.2.1. Kiến trúc giao thức OSI
Trên thực tế, khó có thể xây dựng được một mô hình chi tiết

thống nhất về chuẩn giao thức và dịch vụ cho tất cả các hệ thống
truyền thông, nhất là khi các hệ thống rất đa dạng và tồn tại độc
lập. Chính vì vậy, năm 1983 tổ chức chuẩn hoá quốc tế ISO đã đưa
ra chuẩn ISO 7498 với mô hình qui chiếu OSI (Open System
Interconnection - Reference Model), nhằm hỗ trợ xây dựng các hệ
thống truyền thông có khả năng tương tác.
Theo mô hình OSI, chức năng hay dịch vụ của một hệ thống
truyền thông được chia thành bảy lớp, tương ứng với mỗi lớp dịch
vụ là một lớp giao thức. Các lớp này có thể do phần cứng hoặc
phần mềm thực hiện, tuy nhiên chuẩn này không đề cập tới chi tiết
một đối tác truyền thông phải thực hiện từng lớp đó như thế nào.
Một lớp trên thực hiện dịch vụ của mình trên cơ sở sử dụng các
dịch vụ ở một lớp phía dưới và theo đúng giao thức qui định tương
ứng. Thông thường, các dịch vụ cấp thấp do phần cứng (các vi
mạch điện tử) thực hiện, trong khi các dịch vụ cao cấp do phần
mềm (hệ điều hành, phần mềm điều khiển, phần mềm ứng dụng)
đảm nhiệm.

Một mô hình qui chiếu tạo ra cơ sở, nhưng không đảm bảo khả
năng tương tác giữa các hệ thống truyền thông, các thiết bị truyền
thông khác nhau. Với việc định nghĩa bảy lớp, OSI đưa ra một mô
hình trừu tượng cho các quá trình giao tiếp phân cấp. Nếu hai hệ
thống thực hiện cùng các dịch vụ và trên cơ sở một giao thức
giống nhau ở một lớp, thì có nghĩa là hai hệ thống có khả năng
tương tác ở lớp đó. Mô hình OSI có thể coi như một công trình
khung, hỗ trợ việc phát triển và đặc tả các chuẩn giao thức.


Hình 1.1 : Mô Hình 7 Lớp OSI
1.2.2 Kiến trúc giao thức TCP/IP
TCP/IP (Transmission Control Protocol/Internet Protocol) là kết
quả nghiên cứu và phát triển giao thức trong mạng chuyển
mạch gói thử nghiệm mang tên Arpanet do ARPA (Advanced
Research Projects Agency) thuộc Bộ quốc phòng Hoa kỳ tài trợ.
Khái niệm TCP/IP dùng để chỉ cả một tập giao thức và dịch vụ
truyền thông được công nhận thành chuẩn cho Internet. Cho
đến nay, TCP/IP đã xâm nhập tới rất nhiều phạm vi ứng dụng
khác nhau, trong đó có các mạng máy tính cục bộ và mạng
truyền thông công nghiệp.
Dựa theo các chuẩn giao thức đã được phát triển, ta có thể
sắp xếp các chức năng truyền thông cho TCP/IP thành năm lớp
độc lập là lớp ứng dụng, lớp vận chuyển, lớp Internet, lớp truy
nhập mạng và lớp vật lý. Nếu tách riêng TCP và IP thì đó là
những chuẩn riêng về giao thức truyền thông, tương đương với
lớp vận chuyển và lớp mạng trong mô hình OSI. Nhưng người ta
cũng dùng TCP/IP để chỉ một mô hình truyền thông, ra đời trước
khi có chuẩn OSI.



Hình 1.2 : Mô Hình 5 lớp TCP/IP

CHƯƠNG II
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1. Yêu cầu của hệ thống
Hệ thống giám sát nhiệt độ môi trường qua internet là đề tài khá quen thuộc
thiết kế dựa trên kiến thức đã học, sách tham khảo và một số nguồn tài liệu khác.
Tuy nhiên do thời gian và trình độ có hạn nên chúng em không tránh khỏi những sai
sót. Vì vậy mong thầy và các bạn góp ý xây dựng, giúp đỡ để hoàn thiện hơn đề tài.


Mục tiêu hệ thống là thiết kế được bộ giám sát nhiệt độ môi trường qua
internet. Qua đó nắm được các giao tiếp của vi điều khiển với các thiết bị bên ngoài
như cảm biến…, cũng như việc gửi dữ liệu lên internet .
Qua quá trình nghiên cứu mạch cũng tạo điều kiện cho sinh viên hệ thống lại
những kiến thức đã học góp phần nâng cao khả năng ứng dụng những gì đã học của
sinh viên vào thực tiễn.
Tiến hành thí nghiệm để phân tích đánh giá chất lượng thực của hệ thống
nhằm tiếp tục phát triển, hoàn thiện và hiện thực hóa đề tài.
2.2. Sơ đồ khối hệ thống

Hình 2.1 : Sơ đồ khối hệ thống


2.3. Lựa chọn linh kiện
2.3.1. Khối xử lý trung tâm
Em phải đưa ra vài phương án r mới chọn linh kiện (đưa ra thông số, giá thành):
- Khối nguồn đưa vài phương án nguồn rồi lựa chọn phương án nào, tại sao ( Khối
nguồn thì làm qua loa thôi)

- Thầy thiếu khối model (cái để mình kết nối với internet ấy), nó có shield arduino
ethernet, shield arduino wifi, esp..v.v (e chọn esp vì sao, rẻ hay ntn)
- Khối xử lý trung tâm cũng vậy: pic, Arduino, esp (chọn esp vì sao)
Khối xử lý trung tâm của toàn bộ hệ thống, có chức năng xử lý các tín hiệu
từ khối cảm biến. Mặt khác bộ điều khiển còn đưa ra các tín hiệu điều khiển cho cơ
cấu chấp hành.
Kit RF thu phát Wifi ESP8266 NodeMCU là kit phát triển dựa trên nền chip
WIfi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp
trình biên dịch của Arduino để lập trình và nạp code , điều này khiến việc sử dụng
và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản .
Kit RF thu phát Wifi ESP8266 NodeMCU được dùng cho các ứng dụng cần
kết nối thu thập dữ liệu và điều khiển qua song Wifi , đặc biệt là các ứng dụng liên
quan đến IoT
Ưu điểm và nhược điểm của Arduino :
- Ưu điểm :
+ Rễ dàng lập trình và được hỗ trợ nhiều thư viện
+ Tích hợp các chuẩn giao tiếp cần thiết
+ Không cần mạch nạp vì đã tích hợp sẵn
- Nhược điểm :
+ Giá thành cao
+ Chưa được ứng dụng rộng rãi


Hình2.2 : Kit RF thu phát Wifi ESP8266 NodeMCU
Thông số kỹ thuật của Kit RF thu phát Wifi ESP8266 NodeMCU :
-

IC chính : ESP8266 Wifi SoC
Phiên bản Firmware : Node MCU
Chip nạp và giao tiếp UART : CP2102


-

GPIO tương thích hoàn toàn với firmware MCU
Điện áp hoạt động : 5V DC (chỉ được cấp qua cổng USB)
Số chân Digital I/O : 9 ( 8 chân PWM)
Số chân Analog : 1


Hình2.3 : Sơ đồ chân của Kit RF thu phát Wifi ESP8266 NodeMCU


2.3.2. Khối cảm biến
DS18B20 là IC cảm biến nhiệt độ, chỉ bao gồm 3 chân, đóng gói dạng TO-92 hay
dạng SMD 8 chân .

Hình 2.4 : Cảm biến nhiệt độ DS18B20

Hình 2.5 : Sơ đồ chân của cảm biến DS18B20
Đặc điểm của cảm biến DS18B20 :
-

Lấy nhiệt độ theo giao thức 1 dây (1wire)
Cung cấp nhiệt độ với độ phân giải config 9,10,11,12 bit, tùy theo sử dụng. Trong

-

trường hợp không config thì nó tự động ở chế độ 12 bit.
Thời gian chuyển đổi nhiệt độ tối đa là 750ms cho độ phân giải 12 bit



-

Có thể đo nhiệt độ trong khoảng -55 -> +125°C. Với khoảng nhiệt độ là -10°C tới

-

85°C thì độ chính xác ±0.5°C,±0.25°C ,±0.125°C,±0.0625°C. theo số bít config.
Có chức năng cảnh báo nhiệt khi nhiệt độ vượt ngưỡng cho phép. Người dùng có thể
lập trình chức năng này cho DS18B20. Bộ nhớ nhiệt độ cảnh báo không bị mất khi
mất nguồn vì nó có một mã định danh duy nhất 64 bit chứa trong bộ nhớ ROM trên

-

chip (on chip), giá trị nhị phân được khắc bằng tia laze.
Cảm biến nhiệt độ DS18B20 có mã nhận diện lên đến 64-bit, vì vậy bạn có thể kiểm
tra nhiệt độ với nhiều IC DS18B20 mà chỉ dùng 1 dây dẫn duy nhất để giao tiếp với

-

các IC này.
Với DS18B20 bạn hoàn toàn có thể tạo cho mình mạch cảm biến nhiệt độ theo ý

-

muốn.
Điện áp sử dụng : 3 – 5.5 V ( có thể lấy từ nguồn ngoài hoặc là lấy từ dây data )
Dòng tiêu thụ tại chế độ nghỉ rất nhỏ.
Thời gian chuyển đổi lớn nhất là 750ms ( với config 12bit)


Cách đọc giá trị nhiệt độ của DS18B20 :
-

Bên trong DS18B20 cóbộ chuyển đổi giá trị nhiệt độ sang giá trị số và được lưu trong
các thanh ghi ở bộ nhớ scratchpad , độ phân giải nhiệt độ đo có thể được cấu hình ở

-

chế độ 9 bits, 10 bits, 11 bits và 12 bits
Để bắt đầu quá trình đọc nhiệt độ và chuyển đổi giá trị từ tương tự sang giá trị số thì vi
điều khiển gửi lệnh convert T [44h] sau khi chuyển đổi song thì giá trị nhiệt độ sẽ

-

được lưu trong 2 thanh ghiở bộ nhớ scratchpad và IC trở về trạng thái nghỉ .
Nhiệt độ được lưu bên trong DS18B20 được tính theo nhiệt độ C nếu tính ở nhiệt độ H
thì cần phải xây dựng them bảng chuyển đổi nhiệt độ , giá trị nhiệt độ lưu trong bộ

-

nhớ gồm 2 byte-16bits : số âm sẽ lưu ở dưới dạng bù 2
Bit cao nhất là bit dấu (S) nếu S=0 thì giá trị nhiệt độ dương và S=1 thì giá trị nhiệt độ

-

âm
Nếu cấu hình độ phân giải là 12 bits thì tất cả các bit đề được sử dụng . Nếu độ phân
giải là 11 bits thì bit ) không được sử dụng . Tương tự nếu cấu hình là 10 bít thì bit 1 ,
0 không được sử dụng , nếu là 9 bits thì bit 2,1,0 không được sử dụng


Bảng gì đây: tên bảng


-

Nhiệt độ sau khi được lưu vào trong 2 thanh ghi bộ nhớ sẽ được so sánh với 2 thanh
ghi ngưỡng nhiệt độ TH và TL. Các giá tị ngưỡng nhiệt độ do người dùng quy định và

-

nó sẽ không thay đổi khi mất điện .
Như vậy chỉ có phần nguyên , các bit 11-4 của giá trị nhiệt độ được so sánh với thanh
ghi ngưỡng . Nếu giá trị nhiệt độ đọc về nhỏ hơn mức TL hoặc lớn hơn mức TH thì cờ
báo quá nhiệt sẽ được bật lên , và nó sẽ thay đổi ở mỗi quá tình đọc nhiệt độ . Vi điều
khiển có thể kiểm tra trạng thái qua nhiệt bằng lệnh Alarm Search [ECh]

Lưu đồ thuật toán đọc nhiệt độ từ cảm biến này


2.4. Thiết kế phần cứng
2.4.1.

Sơ đồ nguyên lý

Hình 2.4 : Sơ đồ nguyên lý
2.4.2. Nguyên lý hoạt động
- Cảm biến nhiệt độ DS18B20 nhận kích thích nhiệt độ từ môi trường gửi về cho
Node MCU ESP8266 , Node MCU ESP8266 sẽ xử lý dữ liệu vào gửi dữ liệu lên
internet



2.5 Thiết kế phần mềm
Lưu đồ thuật toán :

Chỗ kết nối Wi-Fi thì e ghi là khởi tạo Wi-Fi (ở đây mình sẽ khởi tạo những cái gì
có thể e k nói nhưng e phải biết để đến lúc bị hỏi thì trả lời được – khối hình chữ
nhật nhé, đừng dùng hình thoi)
Thêm nữa thầy chưa thấy phần em kết nối esp với máy tính như thế nào, có cần cài
esp tool không…v.v
Gửi lên internet e cũng chưa nói rõ cách gửi là ntn
của em có dùng tập lệnh AT không, thầy đoán có mà nó ẩn trong code thư viện rồi.
Em kiểm tra xem.
Nhớ thêm phần giới thiệu thingspeak nhé….
CHƯƠNG 3


KẾT QUẢ
3.1. Kết luận
Sau khi kiểm tra, hệ thống đã chạy khá ổn định, đúng theo yêu cầu , cụ thể
như sau : “ thiếu hình ảnh , em chèn vào sau ạ “
3.2. Ý tưởng phát triển
Hệ thống giám sát nhiệt độ môi trường được ứng dụng rộng rãi trong đời
sống cũng như trong công nghiệp , trên cơ sở đó ta có thể ứng dụng trong các hệ
thống như : giám sát nhiệt độ của các trang trại nông nghiệp , trong các nhà máy , xí
nghiệp


TÀI LIỆU THAM KHẢO
[1] Giáo trình môn thiết kế hệ thống điện – điện tử , Bộ môn công nghệ oto và hệ
thống cảm biến – Đại học công nghệ thông tin và truyền thông.

[2] Một số trang web:



PHỤ LỤC MÃ NGUỒN
#include <ESP8266WiFi.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define myPeriodic 15 //in sec | Thingspeak pub is 15sec
#define ONE_WIRE_BUS 2 // DS18B20 on arduino pin2 corresponds to D4 on
physical board
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
float prevTemp = 0;
const char* server = "api.thingspeak.com";
String apiKey ="5LMJEE8BSM41CQTQ";
const char* MY_SSID = "Fpt ssid name";
const char* MY_PWD = "01652873378";
int sent = 0;
void setup() {
Serial.begin(115200);
connectWifi();
}
void loop() {
float temp;


//char buffer[10];
DS18B20.requestTemperatures();
temp = DS18B20.getTempCByIndex(0);

//String tempC = dtostrf(temp, 4, 1, buffer);//handled in sendTemp()
Serial.print(String(sent)+" Temperature: ");
Serial.println(temp);
//if (temp != prevTemp)
//{
//sendTeperatureTS(temp);
//prevTemp = temp;
//}
sendTeperatureTS(temp);
int count = myPeriodic;
while(count--)
delay(2000);
}
void connectWifi()
{
Serial.print("Connecting to "+*MY_SSID);
WiFi.begin(MY_SSID, MY_PWD);
while (WiFi.status() != WL_CONNECTED) {
delay(5000);
Serial.print(".");
}
Serial.println("");
Serial.println("Connected");
Serial.println("");


}//end connect
void sendTeperatureTS(float temp)
{
WiFiClient client;

if (client.connect(server, 80)) { // use ip 184.106.153.149 or api.thingspeak.com
Serial.println("WiFi Client connected ");
String postStr = apiKey;
postStr += "&field1=";
postStr += String(temp);
postStr += "\r\n\r\n";
client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(postStr.length());
client.print("\n\n");
client.print(postStr);
delay(10);
}//end if
sent++;
client.stop();
}//end send



×