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

ỨNG DỤNG LORA GIÁM sát môi TRƯỜNG (có code)

44 616 17
Tài liệu đã được kiểm tra trùng lặp

Đ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 0,94 MB

Nội dung

Các công cụ máy móc đang dần thay thế sự hiện hiện của con người và tự động hóađang được đặt lên hết giúp con người trong mọi công việc trở nên đơn giản hơn.Trong giám sát môi trường cũn

Trang 1

ỨNG DỤNG LORA GIÁM SÁT MÔI

TRƯỜNG

Trang 2

DANH MỤC CÁC TỪ VIẾT TẮT VII

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI 1

1.1 GIỚI THIỆU CHUNG 1

1.2 TRUYỀN NHẬN KHÔNG DÂY TRONG GIÁM SÁT MÔI TRƯỜNG 1

1.3 LÝ THUYẾT VỀ THU THẬP DỮ LIỆU MÔI TRƯỜNG VÀ MỤC ĐÍCH CỦA ĐỀ TÀI 1

CHƯƠNG 2 SƠ ĐỒ KHỐI VÀ MẠCH NGUYÊN LÝ 2

2.1 SƠ ĐỒ CỦA HỆ THỐNG 2

2.1.1 Sơ đồ khối slave 3

2.1.2 Sơ đồ khối master 4

2.2 SƠ ĐỒ NGUYÊN LÝ 5

2.2.1 Mạch slave 5

2.2.2 Mạch master 6

2.3 SƠ ĐỒ MẠCH IN 7

2.3.1 Mạch slave 7

2.3.2 Mạch slave 7

2.4 MỘT SỐ LINH KIỆN CHÍNH ĐƯỢC SỬ DỤNG TRONG MẠCH 8

2.4.1 Giới thiệu về PIC16F877A 8

2.4.2 Cảm biến độ bụi 8

2.4.3 Cảm biến nhiệt độ, độ ẩm 9

2.4.4 Cảm biến chất lượng không khí 10

2.4.5 Cảm biến đo độ pH trong nước 11

2.4.6 Module LoRa SX1278 433MHz 12

2.4.7 LCD 12

CHƯƠNG 3 THI CÔNG ĐỀ TÀI 13

3.1 YÊU CẦU 13

Trang 3

3.3 SƠ ĐỒ GIẢI THUẬT 15

3.3.1 Khối slave 15

3.3.2 Khối master 16

3.3.3 Hoạt động của hệ thống 17

3.4 KẾT QUẢ THI CÔNG 17

CHƯƠNG 4 THỬ NGHIỆM VÀ ĐÁNH GIÁ 20

4.1 MÔ HÌNH HỆ THỐNG 20

4.2 NHẬN XÉT 20

4.3 ƯU ĐIỂM 21

4.4 HẠN CHẾ 21

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

5.1 KẾT LUẬN 22

5.2 HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 22

TÀI LIỆU THAM KHẢO 23

PHỤ LỤC A ……… 24

Trang 4

HÌNH 2-2: SƠ ĐỒ KHỐI MẠCH SLAVE 3

HÌNH 2-3: SƠ ĐỒ KHỐI MẠCH MASTER 4

HÌNH 2-4: SƠ ĐỒ NGUYÊN LÝ MẠCH SLAVE 5

HÌNH 2-5: SƠ ĐỒ NGUYÊN LÝ MASTER 6

HÌNH 2-6: SƠ ĐỒ MẠCH IN MASTER 7

HÌNH 2-7: SƠ ĐỒ MẠCH IN SLAVE 7

HÌNH 2-8: PIC16F877A 8

HÌNH 2-9: CẢM BIẾN ĐỘ BỤI 9

HÌNH 2-10: MODULE CẢM BIẾN NHIỆT ĐỘ, ĐỘ ẨM 10

HÌNH 2-11: CẢM BIẾN NỒNG ĐỘ CO 2 11

HÌNH 2-12: CẢM BIẾN PH 11

HÌNH 2-13: MODULE RF LORA 12

HÌNH 2-14: LCD 20X4 12

HÌNH 3-1: GIAO DIỆN WEBSITE 14

HÌNH 3-2: SƠ ĐỒ GIẢI THUẬT 15

HÌNH 3-3: SƠ ĐỒ GIẢI THUẬT 16

HÌNH 3-4: BỘ ĐIỀU KHIỂN TRUNG TÂM 18

HÌNH 3-5: BỘ TRUYỀN TÍN HIỆU CẢM BIẾN VỀ TRUNG TÂM 19

HÌNH 3-5: MÔ HÌNH HỆ THỐNG 20

Trang 5

LCD Liquid Crystal Display

LED Light Emitting Diode

LoRa Long Range

RF Radio Frequency

UART Universal Asynchronous Receiver

Trang 6

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI

1.1 Giới thiệu chung

Với sự phát triển của công nghệ không dây như hiện nay các ứng dụng truyền nhận

dữ liệu không dây đang dần thay thế cách dữ dụng truyền bằng cáp Mạng khôngdây với chí phí lắp đặt, triển khai hệ thống một cách linh hoạt hơn để giảm chi phílặp đặt và bảo trì

Các công cụ máy móc đang dần thay thế sự hiện hiện của con người và tự động hóađang được đặt lên hết giúp con người trong mọi công việc trở nên đơn giản hơn.Trong giám sát môi trường cũng thế với hệ thống truyền không dây và các cảm biếntheo dõi được các chất ô nhiễm môi trường sống của chúng ta mà không cần nhiềungười xuống hiện trường để đo kiểm

1.2 Truyền nhận không dây trong giám sát môi trường

Với sự phát triển của công nghệ, truyền nhận không dây đang ngày càng phổ biếnnhư hiện nay, giám sát môi trường sống của chúng ta ngày càng dễ dàng hơn

Công nghệ truyền dữ liệu không dây để thu thập dữ liệu từ xa mà không cần conngười xuống tại hiện trường để đo đạt mà chúng tự truyền về trung tâm và cảnh báokhi các chỉ số đo đạt quá ngưỡng

1.3 Lý thuyết về thu thập dữ liệu môi trường và mục đích của đề tài

Dùng cảm biến cùng với vi điều khiển để theo dõi được các thông số môi trườngnhư: hàm lượng CO2 trong không khí, nhiệt độ, độ ẩm, giá trị pH, độ bụi trongkhông khí Tất cả các giá trị được truyền về trung tâm để cảnh báo cho chúng ta biết

và đưa ra hướng giải quyết tốt nhất cho môi trường sống

Chúng ta chỉ cần bật hệ thống lên là có thể theo dõi được các thông số gửi về từnhiều trạm đặt cảm biến khác nhau

Trang 7

CHƯƠNG 2 SƠ ĐỒ KHỐI VÀ MẠCH NGUYÊN LÝ

1.1 Sơ đồ của hệ thống

Hình 2-1: Sơ đồ toàn mạch

Giải thích sơ đồ:

- Khối slave có chức năng thu thập các giá trị cảm biến và gửi về cho trungtâm bộ master

- Khối master có chức năng tổng hợp các giá trị cảm biến từ slave gửi về đưa

ra các cảnh báo và đẩy dữ liệu lên server để theo dõi

- Khối alarm cảnh báo qua đèn tín hiệu và loa

- Khối server dữ liệu được thể hiện ở đây để theo dõi

1.1.1 Sơ đồ khối slave

Trang 8

Hình 2-2: Sơ đồ khối mạch slave

Giải thích sơ đồ:

- Khối nguồn cấp nguồn cho các thiết bị hoạt động

- Khối cảm biến để đo các giá trị môi trường như CO2, pH…

- Khối truyền nhận sử dụng LoRa để truyền dữ liệu về trung tâm

- Khối xử lý để xử lý các giá trị cảm biến đo được và ra lệnh truyền về trung tâm khi được yêu cầu từ trung tâm

1.1.2 Sơ đồ khối master

Trang 9

Hình 2-3: Sơ đồ khối mạch master

Giải thích sơ đồ:

 Khối nguồn cấp nguồn cho mạch hoạt động

 Khối hiển thị, cảnh báo dung để hiển thị các giá trị đo được và cảnh báo ra màn hình để chúng ta dễ dàng theo dõi

 Khối phát RF sử dụng module LoRa để truyền nhận dữ liệu

 Khối xử lí dùng PIC16F877A để đưa dữ liệu lên server thông qua UART kết nối với máy tính

 Khối server hiển thị các giá trị đo được cho chúng ta theo dõi

Trang 10

1.4 Sơ đồ nguyên lý

1.1.3 Mạch slave

Sơ đồ khối nguồn và cảm biến:

Hình 2-4: Sơ đồ nguyên lý mạch slave

Từ sơ đồ khối ta xây dựng được sơ đồ nguyên lý

Sơ đồ kết nối các cảm biến và module LoRa với vi khiển khiển PIC16F877A Cảm biến DHT11 đo nhiệt độ và độ ẩm được kết nối với chân RB0 của vi điềukhiển

Module RF LoRa sử dụng kết nối UART để giao tiếp với vi điều khiển truyền tínhiệu về cho bộ trung tâm

Trang 11

1.1.4 Mạch master

Hình 2-5: Sơ đồ nguyên lý master

Sơ đồ với chip ESP8266 để điều khiển truyền nhận dữ liệu qua module LoRa và kếtnối với server

Hiển thị các thông số cảm biến đo được qua LCD và cảnh báo qua đèn tín hiệu và loa

Trang 12

1.5 Sơ đồ mạch in

1.1.5 Mạch slave

Hình 2-6: Sơ đồ mạch in master

1.1.6 Mạch slave

Hình 2-7: Sơ đồ mạch in slave

1.6 Một số linh kiện chính được sử dụng trong mạch

Trang 13

1.1.7 Giới thiệu về PIC16F877A

PIC16F877A là loại vi điều khiển 8bit tầm trung của hãng Microchip

- PIC16F877A có kiểu tập lênh RISC và có 35 tập lệnh cơ bản

- Tất cả các lệnh được thực hiện trong một chu kì lệnh ngoại trừ các lệnh rẽnhánh

- Sơ đồ chân với chip loại cắm 28 chân:

Hình 2-8: PIC16F877A

1.1.8 Cảm biến độ bụi

Cảm biến cho phép đo được độ bụi trong không khí Với tín hiệu đầu ra là giá trị analog quy đổi theo điện áp cứ 0,5V ~ 0,1mg/m3 Hoạt động dựa trên LED phát

Trang 14

hồng ngoại được tích hợp trên cảm biến khi có bụi đi qua sẽ làm khúc xạ tia hồng ngoại từ đó thay đổi giá trị điện áp.

Cảm biến với dải đo 0 đến 0,5mg/m3 độ chính xác tương đối, dễ sử dụng và có giá thành hợp lý

Với yêu cầu của đề tài cần đo độ bụi của không khí nên sử dụng cảm biến này vì sựthông dụng và dễ sử dụng của nó

Trang 15

Hình 2-10: Module cảm biến nhiệt độ, độ ẩm

1.1.10 Cảm biến chất lượng không khí

Cảm biến MQ-135 có thể phát hiện ra nồng độ CO2 trong không khí, MQ-135 có thểphát hiện NH3, NOx, Ancol, Benzen, khói, CO2 trong không khí từ đó đánh giá được chất lượng không khí chúng ta đang sinh sống

Với giá trị trả về là dạng analog ta dễ dàng lấy được nồng độ CO2 trong không khí.Thông số ký thuật:

- Điện áp nguồn: 5V±0.1 AC/DC,

- Điện trở tải: thay đổi được (2kΩ-47kΩ),

- Điện trở của heater: 33Ω±5%,

- Công suất tiêu thụ của heater: ít hơn 800mW,

- Khoảng phát hiện: 10 - 300 ppm NH3, 10 - 1000 ppm Benzene, 10 - 300Alcol, 0 – 1000 ppm CO2,

- Khoảng đo rộng,

- Bền, tuổi thọ cao,

- Phát hiện nhanh, độ nhạy cao

Trang 16

Hình 2-11: Cảm biến nồng độ CO 2

1.1.11 Cảm biến đo độ pH trong nước

Cảm biến pH giúp ta đo được giá trị pH với tín hiệu trả về là analog quy đổi theo điện áp 3,5mV ~ 1pH

Cảm biến đo độ pH Analog DFRobot đáp ứng được yêu cầu đo, dễ tìm thấy trên thị trường và tương đối dễ sử dụng

Hình 2-12: Cảm biến pH

1.1.12 Module LoRa SX1278 433MHz

Trang 17

LoRa truyền tín hiệu không dây qua tần số sóng mang 433MHz với kênh truyền và địa chỉ riêng được cấu hình sẵn.

Với khả năng truyền xa dễ sử dụng và dễ tìm thấy trên thị trường nên chọn module này để sử dụng truyền nhận tín hiệu cho hệ thống

Trang 18

CHƯƠNG 3 THI CÔNG ĐỀ TÀI

1.7 Yêu cầu

Yêu cầu của đề tài:

- Sử dụng module RF LoRa để truyền nhận dữ liệu không dây

- Hỗ trợ khả năng thêm bớt các node

- Đưa dữ liệu lên web, lưu trữ và thống kê dữ liệu thu thập được

- Sử dụng các cảm biến để đo nhiệt độ, độ ẩm, nồng độ CO2, nồng độ pH, độbụi, cảm biến mưa

- Thiết kế và thi công phần cứng

1.8 Đưa dữ liệu lên web

1.1.14 Tìm hiểu về ThingSpeak

ThingSpeak ™ có thể phân tích dữ liệu khi nó được đưa lên, dung để theo dõi cácgiá trị thông qua internet Có thể cảnh báo các giá trị ngưỡng cài đặt trước qua mailhoặc sms và có thể lưu trữ dữ liệu để ta dễ dàng theo dõi

Giao diện bao gồm:

- Nhiệt độ, độ ẩm môi trường

- Độ bụi không khí

- Độ pH, nồng độ CO2

- Cảnh báo mưa

Trang 19

Hình 3-1: Giao diện website

1.1.15 Các tính năng của ThingSpeak

ThingSpeak có nhiều chức năng cho phép phân tích lưu trữ đám mây các dữ liệutheo thời gian thực và lưu trữ lại:

- Ta có thể dễ dàng chỉnh sửa giao diện theo dõi

- Dữ liệu đưa lên sẽ thể hiện theo thời gian thực

- Dùng MATLAB để phân tích dữ liệu

- Phân tích dữ liệu theo lịch biểu và sự kiện có sẵn

- Cảnh báo qua mail, tin nhắn khi quá ngưỡng cho phép được cài đặt trước.1.9 Sơ đồ giải thuật

1.1.1 Khối slave

Trang 20

Hình 3-2: Sơ đồ giải thuật

Giải thích lưu đồ:

Khởi tạo ban đầu, slave sẽ chờ tín hiệu từ master nếu được yêu cầu thì sẽ đọc cảm biến và gửi dữ liệu về slave

1.1.2 Khối master

Lưu đồ:

Trang 21

Hình 3-3: Sơ đồ giải thuật

Giải thích lưu đồ:

Khởi tạo giá trị thời gian và biến số thứ tự slave, master sẽ gửi lệnh xuống yêu cầuslave và chờ trả lời, nếu không nhận được tín hiệu từ slave sẽ tăng biến để vào trình

Trang 22

xóa slave Nếu biến xóa lớn hơn 10 thì sẽ xóa slave Nếu Ssave trả lời thì master sẽbắt đầu xử lý dữ liệu, hiển thị ra LCD và đẩy dữ liệu lên server.

1.1.3 Hoạt động của hệ thống

Khi cho hệ thống bắt đầu hoạt động thì master sẽ bắt đầu truyền lệnh tuần tự xuốngtừng slave thôi khe thời gian Khi slave nhận được tín hiệu yêu cầu của master thì sẽbắt đầu đọc cảm biến và gửi về master Sau khi master nhận được dữ liệu từ slavegửi về thì bắt đầu phân tích dữ liệu, đưa dữ liệu lên server và cảnh báo nếu nhữngthông số gửi về vượt ngưỡng Cứ thế tuần tự từng slave

Khi master gửi yêu cầu xuống slave ba lần mà slave không phản hồi thì master sẽphát cảnh báo là slave đã tắt, nếu gửi yêu cầu 10 lần mà không thấy trả lời thì sẽ tựđộng xóa slave đó ra khỏi hệ thống

Trên master có một nút nhấn để thêm slave vào hệ thống, khi nhấn nút thì master sẽtruyền lệnh thêm xuống và khi slave nhận được thì sẽ truyền về master mã số củamình để lưu vào hệ thống và bắt đầu hoạt động

1.10 Kết quả thi công

Mạch điều khiển bao gồm:

- ESP8266 kết nối wifi và điều khiển, xử lý dữ liệu

- Module LoRa truyền nhận dữ liệu

- Màn hình hiển thị LCD cho phép theo dõi trực tiếp thông số mà không cầnthông qua điện thoại hay web

Trang 23

Hình 3-4: Bộ điều khiển trung tâm

Mạch truyền tín hiệu về trung tâm bao gồm:

- Vi điều khiển PIC 16F877A đọc các giá trị từ cảm biến và gửi các giá trị đó

đi

- Cảm biến nhiệt độ, độ ẩm trả về các thông số về môi trường

- Cảm biến pH để lấy đo độ pH nguồn nước

- Cảm biến CO2 để đô lượng CO2 trong không khí

- Module LoRa cho phép truyền nhận dữ liệu không dây về bộ điều khiển

Trang 24

Hình 3-5: Bộ truyền tín hiệu cảm biến về trung tâm

Trang 25

CHƯƠNG 4 THỬ NGHIỆM VÀ ĐÁNH GIÁ

1.11 Mô hình hệ thống

Hình 3-5: Mô hình hệ thống

1.12 Nhận xét

Trong khi thực hiện đề tài có gặp một số khó khăn:

- Tín hiệu nhận được không ổn định, thỉnh thoảng sẽ bị trễ hoặc không gửiđược do tín hiệu bị ảnh hưởng môi trường truyền hoặc do bộ phát bị treo,khắc phục sự cố bằng cách cho hệ thống tự khởi động lại khi quá thời giancho phép

- Khoảng cách truyền, độ chính xác và ổn định khi truyền dữ liệu đi cũng bịảnh hưởng do vật cản

1.13 Ưu điểm

Ưu điểm hệ thống:

Trang 26

- Truyền nhận được dữ liệu ở xa thuận lợi cho công tác quản lý theo dõi môitrường.

Trang 27

CHƯƠNG 5 KẾT LUẬN

1.2 Kết luận

Trong khi thực hiện đề tài đã thu được những kết quả như sau:

- Mạch điện với các module được kết nối với nhau, truyền nhận thông tin và

dữ liệu theo dõi cũng như giám sát các thông số thu thập được thông quaweb và điện thoại

- Xây dựng được hệ thống giám sát và theo dõi các quá trình

1.3 Hướng phát triển của đề tài

Hướng phát triển đề tài:

- Phát triển hệ thống với cảnh báo qua giao diện web giúp dễ dàng theo dõi và

xử lý

- Sử dụng một số loại cảm biến đo chính xác hơn

- Sử dụng module LoRa có công suất lớn hơn để truyền nhận được xa hơn

TÀI LIỆU THAM KHẢO

Trang 28

Tiếng việt:

[1] Nguyễn Tấn Phước(2005), “Mạch điện tử - Tập 1”, Nhà xuất bản Trẻ

[2] Nguyễn Tấn Phước(2005), “Mạch điện tử - Tập 2”, Nhà xuất bản Trẻ

[3] Nguyễn Đình Phú, Phan Vân Hoàn, Trương Ngọc Anh (2018), “Giáo trình thựchành vi điều khiển PIC”, Nhà xuất bản Đại học quốc gia thành phố Hồ Chí Minh

Internet:

[4] Microchip (2003), “PIC16F8XA Data Sheet”, Link: http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf

Trang 29

float dust=0, noise=0;

float co2now=0; //int array for co2 readings

float co2raw = 0; //int for raw value of co2

SMS[Index++]=c; //Nap ki tu vao mang

if(Index>=80)//Kiem tra neu vuot qua chi so mang thi reset lai

Trang 30

delay_ms(200);

co2raw=co2raw + co2now;

}

co2raw = co2raw/10 ;

delay_ms(200); //divide samples by 10

co2comp = co2raw - co2Zero; //get compensated value

co2ppm = co2comp*4.5f + 400; //map value for atmospheric levels

{

printf("node3,co2:%lu,dust:%lu",co2ppmint,dustint);

Trang 32

#FUSES NOWDT //No Watch Dog Timer

#FUSES NOBROWNOUT //No brownout reset

#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O

#BIT Data_Pin = 0x06.0 // Pin mapped to PORTB.0

#BIT Data_Pin_Direction = 0x86.0 // Pin direction mapped to TRISB.0void _CaiDat(void);

char message1[] = "Temp: 00.0 C";

Trang 33

void _Reset(unsigned int16 time, char Option);

SMS[Index++]=c; //Nap ki tu vao mang

if(Index>=30)//Kiem tra neu vuot qua chi so mang thi reset lai

unsigned int8 Read_Data(){

unsigned int8 i, k, _data = 0; // k is used to count 1 bit reading duration if(Time_out)

Trang 34

if(!Data_Pin)

bit_clear(_data, (7 - i)); // Clear bit (7 - i)

else{

bit_set(_data, (7 - i)); // Set bit (7 - i)

while(Data_Pin){ // Wait until pin goes low

if(check_response()){ // If there is response from sensor

RH_byte1 = Read_Data(); // read RH byte1

RH_byte2 = Read_Data(); // read RH byte2

T_byte1 = Read_Data(); // read T byte1

T_byte2 = Read_Data(); // read T byte2

Checksum = Read_Data(); // read checksum

void _Reset(unsigned int16 time, char Option)

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

String c;

String ph, co2, dust, temp , humi, rain, pass1, pass2, pass3;

uint16_t phint, co2int, dustint, tempint , humiint, rainint;

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

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

pinMode(btnPin, INPUT); // sets the digital pin as input

//pinMode(btnPin, INPUT_PULLUP); //pull-up butto

Ngày đăng: 08/03/2019, 22:26

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w