1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

NGHIÊN cứu và xây DỰNG mô HÌNH THU THẬP, PHÂN TÍCH và lưu TRỮ về dữ LIỆU KHÍ hậu PHÂN tán (có code)

44 223 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 1,3 MB

Nội dung

Hình 1-1: Một mô hình trạm dự báo thời tiết cơ bản1.2 Yêu cầu thông số kỹ thuật đề tài Đề tài sẽ nghiên cứu về các thông số của một trạm thời tiết cơ bản như nhiệt độ, độ ẩm, lượng mưa,

Trang 1

NGHIÊN CỨU VÀ XÂY DỰNG MÔ HÌNH THU THẬP, PHÂN TÍCH VÀ LƯU TRỮ VỀ DỮ LIỆU KHÍ HẬU PHÂN TÁN

Trang 2

MQQT Message Queuing Telemetry Transport

HTTP Hyper Text Transfer Protocol

MCU Multipoint Control Unit

SPI Serial Peripheral Interface

API Application Programming Interface

Trang 3

CHƯƠNG 1 TỔNG QUAN VỀ MÔ HÌNH DỰ BÁO THỜI TIẾT

1.1 Tổng quan về dự báo thời tiết

Dự báo thời tiết là một vấn đề quan trọng nhất là đối vơi khu vực nhiệt đới ẩm giómủa như ở Việt Nam Ở Việt Nam rất thường hay xảy ra những cơn báo với mưalớn và gió dật ở vành đai miền Trung gây ảnh hưởng lớn đến nhà cửa và tài sản củangười dân, vì vậy việc dự báo trước khí hậu và đưa ra cảnh báo một cách sớm nhấtcho người dân là một vấn để quan trọng Ở đây em xin trình bày đề tài đồ án môhình dự báo khí tượng qua các thiết bị IOT để có thể phân tích để đưa được nhữngthông số chính xác nhất về khí hậu và sau đó là dự báo để có thể có những phương

án chuẩn bị và hạn chế nhất có thể những hậu quả đáng tiếc

1.1.1 Giới thiệu về các mô hình dự báo thời tiết đã có

 Thành phần cơ bản của một mô hình dự báo thời tiết gồm có:

Trang 4

Hình 1-1: Một mô hình trạm dự báo thời tiết cơ bản

1.2 Yêu cầu thông số kỹ thuật đề tài

Đề tài sẽ nghiên cứu về các thông số của một trạm thời tiết cơ bản như nhiệt độ, độ

ẩm, lượng mưa, gió, khí áp, cách để lấy các thông số đó từ cảm biến sau đó truyền

dữ liệu về để nghiên cứu lưu trữ và đưa ra dự báo khí hậu có khả năng xảy ra

Đề tài sẽ sử dụng các loại cảm biến như nhiệt độ, độ ẩm, cảm biến khí áp, cảm biếnlưu lượng mưa với bộ xử lý là chip AT MEGA 32 sau đó sẽ truyền tải thông quamodul thu phát RF và sẽ được xử lý và đưa lên web server bằng esp 8266

1.3 Hướng thực hiện mô hình

Trang 5

Để thực hiện đề tài cần nghiên cứu các loại cảm biến như nhiệt độ, độ ẩm, cảm biếnkhí áp, cảm biến đo lưu lượng mưa Mô hình sẽ gồm 3 trạm, 2 trạm giống nhau đểthu dữ liệu từ hai địa điểm khác nhau thông qua các cảm biến và sẽ dữ liệu sẽ đượctruyền không dây đến trạm trung tâm để đưa dữ liệu lên web server Các cảm biến ởcác trạm thu sẽ được kết nối với ATMEGA 32 để xử lý dữ liệu và sau đó sẽ đượctruyền không dây qua modul thu phát RF Trạm chính sẽ nhận dữ liệu thông quamodul RF và sẽ xử lý dữ liệu và đưa giữ liệu lên web server qua ESP 8266 đồngthời đưa ra cảnh báo

CHƯƠNG 2 TỔNG QUAN VỀ PHẦN CỨNG CỦA MẠCH

Trang 6

2.1 SƠ ĐỒ KHỐI TOÀN HỆ THỐNG

Hình 2-2: Sơ đồ các khối chính của hệ thống

Hai khối thu 1 và khối thu 2 có gắn các cảm biến giống nhau như nhiệt độ độ ẩm,khí áp, cảm biến đo lưu lượng mưa, MCU 1 và MCU 2 là vi điều khiênATMEAGA 32 có nhiệm vụ xử lý dữ liệu thu được từ các khối Khối liên lạc làmodule lora RF có nhiệm vụ liên lạc và trao đổi giữ liệu giữa các trạm thu và trạmtrung tâm, MCU khối trung tâm là vi điều khiển ESP 8266 có nhiệm vụ xử lý dữliệu nhận được từ các trạm thu và đưa giữ liệu lên web server đồng thời đưa ra cảnhbáo

2.1.1 Phần cứng khối thu

Cảm biến nhiệt độ độ ẩm DHT 11

 Giới thiệu

Bảng 2-1: Thông số cảm biến

Trang 7

Hình 2-3: Cảm biến dht 11

 Nguyên lý hoạt động

Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2bước:

 Gửi tin hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại

 Khi đã giao tiếp được với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu vànhiệt độ đo được

Cảm biến siêu âm để đo lượng mưa

Do độ ẩm 20%-95%Nhiệt độ 0-50ºCSai số độ ẩm ±5%

Sai số nhiệt độ ±2ºC

Trang 8

Hình 2-4: Cảm biến siêu âm

Bảng 2-2: Thông số kỹ thuật cảm biến siêu âm

từ nhà sản xuất và test thực tế thì SRF05 gần như là giống với SRF04 về cách sửdụng, SRF05 có thêm 1 chân Out, theo nhà sản xuất thì có thể chỉ dùng chân này

mà không cần đến chân trigger và echo, nó sẽ tự nhận và phản hồi lại xung luônnhưng test thực tế thì không có gì xảy ra, rất mong có những ý kiến thêm của Kháchhàng đã sử dụng được chân này rồi

Cảm biến khí áp BMP 280

Trang 9

Hình 2-5: Cảm biến khí áp BMP 280

Cảm biến áp suất I2C/SPI BMP280 3.3V với chi phí thấp, độ chính xác cao,tiêu thụ điện năng thấp rất phù hợp với những ứng dụng thiết bị di động.Cảm biến có thể đo được áp suất khí quyển với độ chính xác ± 12 hPa và đođược nhiệt độ với độ chính xác ± 1.0 ° C Ngoài ra, cảm biến còn có thể đođược độ cao ( ứng dụng việc áp suất khí quyển thay đổi theo độ cao)

Vi điểu khiển ATMEGA 328

Trang 10

Hình 2-6: Vi điểu khiển ATMEGA 328

Với 23 chân có thể sử dụng cho các kết nối vào hoặc ra i/O, 32 thanh ghi, 3 bộtimer/counter có thể lập trình, có các gắt nội và ngoại (2 lệnh trên một vectorngắt), giao thức truyền thông nối tiếp USART, SPI, I2C Ngoài ra có thể sửdụng bộ biến đổi số tương tự 10 bít (ADC/DAC) mở rộng tới 8 kênh, khả nănglập trình được watchdog timer, hoạt động với 5 chế độ nguồn, có thể sử dụng tới

6 kênh điều chế độ rộng xung (PWM), hỗ trợ bootloader

Trang 11

2.1.2 Khối trung tâm

 Thông số kỹ thuật

 Wifi 802.11 b/g/n, Wi-Fi Direct (P2P), soft-AP

 Tích hợp giao thức TCP / IP stack

 PLLs tích hợp, quản lý, DCXO và các đơn vị quản lý điện năng

 Công suất đầu ra 19.5dBm ở chế độ 802.11b

 Giao tiếp SDIO 1.1 / 2.0, SPI, UART

 Thức dậy và truyền tải các gói dữ liệu trong <2ms

 Chế độ chờ tiêu thụ điện năng <1.0mW (DTIM3)

2.1.3 Khối liên lạc

Module thu phát RF

Trang 12

Hình 2-8: Module thu phát RF

 Giới thiệu

Mạch thu phát RF UART Lora SX1278 433Mhz 3000m được tích hợp phầnchuyển đổi giao tiếp SPI của SX1278 sang UART giúp việc giao tiếp và sử dụngrất dễ dàng, chỉ cần kết nối với Software của hãng để cấu hình địa chỉ , tốc độ vàcông suất truyền là có thể sử dụng (cần mua thêm mạch chuyển USB-UART đểkết nối máy tính)

 Thông số kỹ thuật

Bảng 2-3: Thông số kỹ thuật module RF

IC chính SX1278 từ SEMTECH

Điện áp hoạt đông 2.3 - 5.5 VDC

Điện áp giao tiếp TTL

Giao tiếp UART Data bits 8, Stop bits 1, Parity none,

Trang 13

ThingSpeak là một mã nguồn mở cho các ứng dụng của “Internet of Things”.

Mã nguồn này hỗ trợ các API lưu trữ, lấy dữ liệu từ các thiết bị, sản phẩm sửdụng HTTP qua Internet hoặc thông qua một Local Area Network Như mộtHUB đợi các thông tin cảm biến từ thiết bị và có nhiệm vụ lưu trữ và xử lý dữliệu, với ThingSpeak, bạn có thể tạo ra các ứng dụng phân tích dữ liệu, lưu trữ

dữ liệu, quản lý dữ liệu một cách đơn giản

 Giao diện bao gồm

2.1.5 Giao tiếp UART

UART là viết tắt của Universal Asynchronous Receiver – Transmitter.UART được tích hợp trên hầu hết vi điều khiển và PC/laptop với tên gọicổng COM, tốc độ truyền nhận trong khoảng từ 9600 - 200000 baud Đểđồng bộ tốc độ truyền thì mỗi vi điều khiển sẽ tạo xung clock của nó theo tốc

độ baudrate quy định khi lập trình

 Cách thức truyền dữ liệu bằng UART

Để bắt đầu cho việc truyền dữ liệu bằng UART, một START bit được gửi đi,sau đó là các bit dữ liệu và kết thúc quá trình truyền là STOP bit

Khi ở trạng thái chờ mức điện thế ở mức 1 (high) Khi bắt đầu truyền

START bit sẻ chuyển từ 1 xuống 0 để báo hiệu cho bộ nhận là quá trình

Trang 14

truyền dữ liệu sắp xảy ra Sau START bit là đến các bit dữ liệu D0-D7 Cuối cùng là STOP bit là 1 báo cho thiết bị rằng các bit đã được gửi xong Thiết bịnhận sẽ tiến hành kiểm tra khung truyền nhằm đảm báo tính đúng đắn của dữliệu.

CHƯƠNG 3 CHI TIẾT VỀ HOẠT ĐỘNG CỦA MÔ HÌNH

3.1 SƠ ĐỒ HỆ THỐNG

3.1.1 Sơ đồ khối toàn hệ thống

Trang 15

Hình 3-9: Sơ đồ khối hoạt động của mạch

 Hoạt động của mô hình

Khi hệ thống bắt đầu hoạt động các cảm biến sẽ thu thập dữ liệu nhiệt độ, độ

ẩm, khí áp, lượng mưa sau đó dữ liệu sẽ được xử lý ADC qua vi điều khiểnATMEGA 32, dữ liệu sau đó khi được chuyển đổi sang số sẽ được truyềnđến trạm chính thông qua module RF, trạm chính sau khi nhận được dữ liệu

Trang 16

sẽ tiến hành phân tích đưa ra dự báo và sau đó sẽ đưa dữ liệu lên webserverthông qua module ESP 8266

3.1.2 Sơ đồ khối trạm thu

Hình 3-10: Sơ đồ khối trạm thu dữ liệu

 Hoạt động mạch thu dữ liệu

Các cảm biến sau sẽ liên tục lấy giữ liệu về nhiệt độ độ ẩm , khí áp, đồngthời đo lưu lượng nước khi có mưa

Sau khi cảm biến lấy giữ liệu khí hậu sẽ gửi tín hiệu về cho MCU( atmega

Trang 17

Hình 3-11: Sơ đồ khối trạm trung tâm

 Hoạt động của mạch trung tâm

Khối mạch trạm chính sẽ liên tục lệnh để yêu cầu khối trạm phụ ( trạm lấythông tin khí hậu) , sau khi được yêu cầu từ trạm chính, trạm phụ sẽ gửi dữliệu thu thập được từ cảm biến đến trạm chính, sau khi nhận được dữ liệu từtrạm phụ trạm chính sẽ lưu trữ phân tích đồng thời gửi dữ liệu nhận được lênweb server thinkspeak để theo dõi đồng thời đưa ra cảnh báo

3.2 Sơ đồ tổng quan hoạt động của mô hình

3.2.1 Sơ đồ giải thuật trạm thu

Trang 18

Hình 3-12: Sơ đồ nguyên lý mạch thu

 Giải thích hoạt động của mạch thu

Khi mạch bắt đầu hoạt động , MCU trạm trung tâm sẽ gửi lệnh đến trạm thu

để bắt đầu hoạt động của mô hình, sau khi nhận được yêu cầu khối mạchtrạm thu sẽ phản hồi đồng thời gửi các thông số lấy được từ cảm biến đếntrạm trung tâm

Trang 19

3.2.2 Sơ đồ giải thuật trạm trung tâm

Hình 3-13: Sơ đồ nguyên lý mạch trung tâm

 Giải thích hoạt động mạch trung tâm

Trang 20

Mạch chính gửi yêu cầu đến mạch phụ để bắt đầu quá trình chuyền dữ liệuSau nhận được yêu cầu từ mạch chính, mạch phụ sẽ gửi dữ liệu đo được từcảm biến sau khi đo được đến mạch chính

Sau khi nhận được dữ liệu từ mạch phụ, mạch chính sẽ tiến hành xử lý, phântích, đưa ra dữ liệu lên web server đồng thời cảnh báo và lưu trữ lại dữ liệu

CHƯƠNG 4 THI CÔNG THỰC TẾ VÀ KẾT QUẢ THỰC NGHIỆM

4.1 Sơ đồ mạch mô phỏng trên proteus

4.1.1 Khối mạch trạm thu

Hình 4-14: Mạch mô phỏng trạm thu

Trang 21

Cảm biến nhiệt độ độ ẩm gồm ba chân được kết nối với lần lượt PC0, PC1, PC2 củaATMEGA 32 Cảm biến khí áp được kết nối vào chân PC4, PC5 của vi điều khiển.Cảm biến đo lưu lượng mưa được kết nối vào chân PB0, PB1 của vi điều khiển.Lora với nhiệm vụ truyền dữ liệu từ cảm biến về trạm trung tâm được kết nối vàochân PD0, PD1

4.1.2 Khối mạch trạm trung tâm

Hình 4-15: Khối mạch trung tâm

Khối mạch trung tâm gồn module wife esp 8266 và kết nối với module RF để nhận tín hiệu từ trạm thu

4.2 Mạch in

4.2.1 Trạm thu

Trang 22

Hình 4-16: Mạch in trạm thu

4.2.2 Trạm trung tâm

Trang 23

Hình 4-17: Mạch in trạm trung tâm

4.3 Mạch thực tế

4.3.1 Trạm thu

Trang 24

Hình 4-18: Mạch thu dữ liệu

4.3.2 Trạm trung tâm

Hình 4-19: Mạch trung tâm

4.4 Đưa giữ liệu lên web server

4.4.1 Dữ liệu của một trạm thu

Trang 25

Hình 4-20: Thông số đo được trên thinkspeak

Bảng 4-4: Số liệu thực tế

Thời gian thực Số lần

đo

Nhiệt độ(°C)

Độ ẩm( %)

Khí áp( pa)

Lượngmưa( cm)2019-01-14

Trang 26

Các số liệu về nhiệt độ độ ẩm và khí áp tương đối chính xác nhưng giữ liệu

về lượng mưa tuy đã đo được nhưng vẫn chưa thể đo được chính xác lưulượng mưa từ môi trường xung quanh vì dụng cụ dùng để đo vì kích thướccủa dụng cụ đo mưa chưa được lấy chuẩn, nhưng từ số liệu ở trên cũng cóthể đưa một dự báo khách quan về khí hậu của địa điểm được đo

Trang 27

CHƯƠNG 5. KẾT LUẬN

5.1 KẾT LUẬN

 Ưu điểm

Mô hình thu thập dữ liệ thời tiết có thể thu thập các dữ liệu nhiệt độ độ ẩm , khí

áp , lượng mưa tương đối chính xác từ môi trường xung quanh

Mô hình sử dụng việc truyền dữ liệu không dây nên ít bị ảnh hưởng bới các yếu

tố vật lý từ môi trường xung quanh

Mô hình ứng dụng nền tảng IOT nên thuận lợi cho việc truyền tải và lưu trữ dữliệu trên web server và các thiết bị mạng không dây

 Khuyết điểm

Mô hình đo đạc lượng mưa chưa được chính xác

Chưa có đầy đủ các cảm biên để có thể lấy thêm dữ liệu và đưa ra dự báo chínhxác

5.2 HƯỚNG PHÁT TRIỀN

Có thể thêm được thêm nhiều trạm thu để thu thập được giữ liệu từ nhiều vị trí khácnhau

Trang 28

Bổ sung thêm các cảm biến để có thể lấy thêm các thông số từ khí hậu để đưa ra dựbáo chính xác hơn

Ứng dụng nền tảng của IOT để lấy thêm giữ liệu khí hậu trên internet để so sánh vàđưa ra các dự báo chính xác hơn

Trang 29

TÀI LIỆU THAM KHẢO

Tiếng Việt:

[1] TS.Nguyễn Viết Hân Nghiên cứu xây dựng và thử nghiệm hệ thống trạm khítượng tự động Báo cáo tổng kết đề tài khoa học công nghệ Hà Nội:ViệnKHKTTV&MT, 2009

Trang 30

unsigned long times;

DHT dht(DHTPIN, DHTTYPE);

***************************************************************

#define TRIG_PIN 10 // Chân Trig nối với chân 10

#define ECHO_PIN 11 // Chân Echo nối với chân 11

#define TIME_OUT 5000 // Time_out của pulseIn là 5000 microsecond

Trang 31

***************************************************************// Chương trình con tính khoảng cách

float getDistance()

{

long duration, distanceCm;

// Phát 1 xung 10uS từ chân Trig

// Thời gian tín hiệu phản hồi lại chân Echo

duration = pulseIn(ECHO_PIN, HIGH, TIME_OUT);

Trang 32

/* Default settings from datasheet */

bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode

*/

Adafruit_BMP280::SAMPLING_X2, /* Temp oversampling */ Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */ Adafruit_BMP280::FILTER_X16, /* Filtering */

Adafruit_BMP280::STANDBY_MS_500); /* Standby time */

}

Trang 34

for (int i = 0; i < c.length(); i++) { //Node1,0789,85.0,30.0

if (c.substring(i, i + 1) == ",") //Node1,0789,85.0,30.0 "NODE2,noise:%u,dust:

Trang 36

#include <Wire.h>;

#include <ESP8266WiFi.h>

#include <LiquidCrystal_I2C.h>;

LiquidCrystal_I2C lcd(0x27, 20, 4);

const char* ssid = "FPT Telecom"; // your wireless network name (SSID)

const char* password = "41302485"; // your Wi-Fi network password

Trang 37

WiFiClient client;

// ThingSpeak Settings

//const int channelID = "508764"; //

String writeAPIKey = "KQGTGOC2OLFL463B"; // write API key for yourThingSpeak Channel

const char* server = "api.thingspeak.com";

const int postingInterval = 2 * 1000; // post data every 2 seconds

Trang 38

while (WiFi.status() != WL_CONNECTED) {

String body = "field1=" + String(temp1) + "&field2=" + String(humi1) +

"&field3=" + String(rain1) + "&field4=" + String(PA1) + "&field5=" +String(temp2) + "&field6=" + String(humi2) + "&field7=" + String(rain2) +

"&field8=" + String(PA2);

delay(postingInterval);

if (client.connect(server, 80)) {

Trang 40

for (int i = 0; i < c.length(); i++) { //Node1,0789,85.0,30.0

if (c.substring(i, i + 1) == ",") //node1,59,31,0,101040.67 "NODE2,noise:

//String body = "field1=" + String(temp) + "&field2=" + String(humi) +

"&field3=" + String(co2) + "&field4=" + String(dust)+ "&field5=" + String(ph); // Serial.print("NODE: "); Serial.println(pass1);

Serial.print("humi1: "); Serial.println(humi1);

Serial.print("temp1: "); Serial.println(temp1);

Serial.print("PA1: "); Serial.println(PA1);

Serial.print("rain1: "); Serial.println(rain1);

Ngày đăng: 22/03/2019, 20:32

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w