ỨNG DỤNG TRUYỀN NHẬN dữ LIỆU sử DỤNG MODULE LORA (có code và sơ đồ mạch) ỨNG DỤNG TRUYỀN NHẬN dữ LIỆU sử DỤNG MODULE LORA (có code và sơ đồ mạch) ỨNG DỤNG TRUYỀN NHẬN dữ LIỆU sử DỤNG MODULE LORA (có code và sơ đồ mạch) ỨNG DỤNG TRUYỀN NHẬN dữ LIỆU sử DỤNG MODULE LORA (có code và sơ đồ mạch)
ĐỒ ÁN TỐT NGHIỆP ỨNG DỤNG TRUYỀN NHẬN DỮ LIỆU SỬ DỤNG MODULE LORA MỤC LỤC DANH MỤC CÁC HÌNH VẼ VII DANH MỤC CÁC BẢNG BIỂU VIII DANH MỤC CÁC TỪ VIẾT TẮT IX CHƯƠNG TỔNG QUAN VỀ HỆ THỐNG 1.1 MỤC ĐÍCH CỦA ĐỀ TÀI 1.2 GIỚI THIỆU MODULE LORA 1.3 ĐIỂM QUAN TRỌNG IOT 1 CHƯƠNG CẤU TRÚC TRUYỀN DỮ LIỆU VÀ GIỚI THIỆU LINH KIỆN 2.1 SƠ ĐỒ TỔNG QUÁT CỦA MƠ HÌNH 2.2 CẤU TRÚC TRUYỀN DỮ LIỆU TẠI GATEWAY VÀ CÁC NODE 2.3 XỬ LÍ DỮ LIỆU TẠI CENTER 2.4 GIỚI THIỆU LINH KIỆN 2.5 GIAO DIỆN ĐIỀU KHIỂN, HIỂN THỊ DỮ LIỆU THÔNG QUA NODE-RED 3 CHƯƠNG NGUYÊN LÍ VÀ QUY TẮC LAYOUT PCB 3.1 SƠ ĐỒ NGUYÊN LÍ MODULE 3.2 NGUYÊN TẮC VẼ NGUYÊN LÍ VÀ LAYOUT PCB 3.3 CÁC KHỐI CHỨC NĂNG SỬ DỤNG TRONG NODE-RED 3.4 HÌNH ẢNH LAYOUT CÁC KHỐI CHỨC NĂNG TRONG NODE-RED 3.5 LƯU ĐỒ GIẢI THUẬT 4 CHƯƠNG MƠ HÌNH THỰC TẾ VÀ THỰC NGHIỆM 4.1 HÌNH ẢNH MƠ HÌNH THỰC TẾ 4.1 THỰC NGHIỆM KHOẢNG CÁCH CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 KẾT LUẬN 5.2 HƯỚNG PHÁT TRIỂN TÀI LIỆU THAM KHẢO PHỤ LỤC A DANH MỤC CÁC HÌNH VẼ HÌNH 2-1: SƠ ĐỒ TỔNG QT MƠ HÌNH HÌNH 2-2: CẤU TRÚC TRUYỀN DỮ LIỆU HÌNH 2-3: HÌNH ẢNH CÁC GATEWAY GỬI DỮ LIỆU VỀ PC HÌNH 2-4: HÌNH ẢNH MODULE LORA SX1278 6HÌNH 2-5: HÌNH ẢNH CHIP AVR ATMEGA328P HÌNH 2-6: HÌNH ẢNH IC DS13079HÌNH 2-7: SƠ ĐỒ CHÂN IC DS1307 10 HÌNH 2-8: HÌNH ẢNH IC LƯU DỮ LIỆU FLASH IC 24LC04B1 11HÌNH 2-9: HÌNH ẢNH CẢM BIẾN NHIỆT ĐỘ VÀ ĐỘ ẨM DHT11 12 HÌNH 2-10: HÌNH ẢNH CHƯƠNG TRÌNH ỨNG DỤNG NODE-RED 13HÌNH 2-11: TỔNG QUANG XỬ LÍ TRONG NODE-RED 14 HÌNH 2-12: GIAO DIỆN HIỂN THỊ TRONG NODE-RED 14HÌNH 2-13: MƠ TẢ PC ĐĨNG VAI TRỊ LÀ SERVER VÀ CLIENT 15 HÌNH 2-14: MƠ TẢ PC ĐĨNG VAI TRỊ LÀ SERVER15HÌNH 3-1: NGUN LÍ TỒN BỘ HỆ THỐNG 16 HÌNH 3-2: NGUN LÍ MẠCH NGUỒN 17HÌNH 3-3: MẠCH NGUN LÍ MCU 16 HÌNH 3-4: NGUN LÍ GIAO TIẾP CÁC CỔNG TRUYỀN THƠNG 3-5: NGUN LÍ GIAO TIẾP CÁC CỔNG TRUYỀN THƠNG 18HÌNH 18 HÌNH 3-6: PHỦ POLYGON CHO MẠCH NGUỒN 19HÌNH 3-7: ĐƯỜNG DÂY THEO CHUẨN TEXAS INSTRUMENTS 20 Hình 3-8: HÌNH ẢNH SỬ DỤNG ĐIỆN TRỞ 20 HÌNH 3-9: MẠCH NGUN LÍ MCU 21 Hình 3-10: NGUN LÍ GIAO TIẾP CÁC CƠNG TRUYỀN THƠNG 22 HÌNH 3-11: NGUN LÍ GIAO TIẾP CÁC CỔNG TRUYỀN THƠNG 22 Hình 3-12: PHỦ POLYGON CHO MẠCH NGUỒN 23 HÌNH 3-13: ĐƯỜNG DÂY THEO CHUẨN TEXAS INSTRUSMENT23 HÌNH 3-14: HÌNH ẢNH SỬ DỤNG ĐIỆN TRỞ 24 HÌNH 3-15: MẠCH NGUYÊN LÍ MCU 25 HÌNH 3-16: NGUN LÍ GIAO TIẾP CÁC CỔNG TRUYỀN THƠNG 27HÌNH 3-17: NGUN LÍ GIAO TIẾP CÁC CỔNG TRUYỀN THƠNG 28 HÌNH 3-18: PHỦ POLYGON CHO MẠCH NGUỒN THEO CHUẨN TEXAS INSTRUMENTS 29HÌNH 3-19: ĐƯỜNG DÂY 30 HÌNH 4-1: MƠ HÌNH THỰC TẾ 31HÌNH 4-2: ĐO KHOẢNG CÁCH TỪ GOOGLE MAP 32 HÌNH 4-3: MƠ TẢ KHOẢNG CÁCH CÁC NODE VÀ GATEWAY 32 DANH MỤC CÁC BẢNG BIỂU BẢNG 1-1: BẢNG THỐNG KÊ 33 DANH MỤC CÁC TỪ VIẾT TẮT LoRa Long Range I2C Inter-Integrated Circuit SPI Serial Peripheral Interface IoT Internet of Things UART Universal Asynchronous Receiver-Transmitter TX Transmitter RX Receiver PCB Print Circuit Board RTC Read Time Clock Trang 1/39 CHƯƠNG TỔNG QUAN VỀ HỆ THỐNG 1.1 Mục đích đề tài Với mong muốn tạo hệ thống thu thập liệu với khoảng cách xa hàng km, hay khu vực khơng có sóng Wifi, nơi hẻo lánh khơng có sóng di động Giúp người tiếp cận được, đơn giản người nơng dân thu thập liệu cảm biến độ ẩm đất từ nương rẫy xa xơi, điều khiển bật/tắt máy bơm nước từ xa để tưới tiêu Hay người dân vùng biển tận dụng việc truyền xa hệ thống để áp dụng ngồi biển khơi khơng có vật cản, để thu thập liệu gió, làm liệu cần thiết từ biển để phục vụ cho việc sinh sống, kinh tế từ người dân Thiết bị quan sát theo dõi trẻ em truyền liệu GPS qua module LoRa, cảnh báo chống trộm thành phố bán kính 5-10km để module LoRa đáp ứng Trong thời đại công nghiệp 4.0, với khả truyền không dây xa mang kèm tính tiết kiệm lượng phù hợp vào hệ thống áp dụng giải pháp thành phố thông minh, bãi đậu xe thông minh, điều khiển thiết bị từ xa, theo dõi quan trắc mơi trường hệ thống cơng nghiệp Tóm lại, với nhu cầu thực trạng xã hội, ý tưởng đề tài xuất phát đời Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 2/39 1.2 Giới thiệu module LoRa LoRa viết tắt Long Range Radio nghiên cứu phát triển Cycleo sau mua lại công ty Semtech năm 2012 Với cơng nghệ này, truyền liệu với khoảng cách lên hàng km mà không cần mạch khuếch đại cơng suất, từ giúp tiết kiệm lượng tiêu thụ truyền/nhận liệu Do đó, LoRa áp dụng rộng rãi ứng dụng thu thập liệu sensor network sensor node gửi giá trị đo đạc trung tâm cách xa hàng km hoạt động với pin thời gian dài trước cần thay pin 1.3 Điểm quan trọng IoT Điểm quan trọng ứng dụng IoT yêu cầu truyền bit liệu để theo dõi thiết bị tầm xa Hệ thống mạng di động không phù hợp với vấn đề lượng pin tốn phí gửi liệu Vì vậy, LoRaWAN đưa cho ứng dụng LoRaWAN thích hợp cho việc gửi lượng nhỏ liệu với khoảng cách xa, thời lượng pin dài Tiết kiệm lượng (dòng điện khởi động 10.3mA, dòng điện trì 200nA) Khoảng cách truyền xa (10-12km) vật chắn, thành phố trung bình 5km (cần có trạm Center cao khoảng 10 tầng lầu) Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 3/39 CHƯƠNG CẤU TRÚC TRUYỀN DỮ LIỆU VÀ GIỚI THIỆU LINH KIỆN 2.1 Sơ đồ tổng qt mơ hình Hình 2-1: Sơ đồ tổng qt mơ hình Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 25/39 3.3 Các khối chức sử dụng Node-red STT Khối chức Nhiệm vụ Nhận liệu từ Master truyền cho máy tính máy tính nhúng thơng qua cổng Serial truyền thơng UART Khối Function có nhiệm vụ nhận liệu Input từ khối Serial xử lí liệu xuất Output Khối Gauge nhận liệu Output từ khối Function vẽ biểu đồ giúp cho người dùng quan sát trực quan Khối Chart nhận liệu Output từ khối Function vẽ biểu đồ dạng Line thể thời gian Realtime theo máy tính Khối Text Input giúp ta Input liệu từ bàn phím truyền liệu đến Serial để giao tiếp với Master thông qua lệnh Command định sẵn Khối Button nhận trạng thái gửi liệu cho Master để gửi lệnh cho Node Reset Module LoRa thao tác chế độ Sleep cho Node Khối Audio out có nhiệm vụ phát thông báo liệu cảm biến mức nguy hiểm.Phát âm nhiều thứ tiếng thông qua kiểu giọng nói cập nhật từ Google Bảng 3-2: Mô tả chức khối sử dụng Code JavaSript viết khối Function //Đọc địa từ Node, xếp theo thứ tự var msg_in=msg.payload.split(","); var msg_out=["","",""]; Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 26/39 var n; var str="0,"+msg_in[1]+","+msg_in[2]; for(n=0;n3) count=1; if(count==1) msg_out.payload='A'; else if(count==2) msg_out.payload='B'; else msg_out.payload='C'; context.set('count',count); return msg_out; // Các function vẽ biểu đồ var msg_in=msg.payload.split(","); return [{payload: msg_in[0]},{payload: msg_in[1]},{payload: msg_in[2]}]; Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 27/39 3.4 Hình ảnh layout khối chức Node-RED Hình 3-16: Layout khối chức Node-RED Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 28/39 Hình 3-17: Giao diện giao tiếp với người dùng qua Internet Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 29/39 3.5 Lưu đồ giải thuật Giải thuật Master Hình 3-18: Lưu đồ giải thuật Gateway Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 30/39 Giải thuật Node Hình 3-19: Lưu đồ giải thuật Node Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 31/39 CHƯƠNG MƠ HÌNH THỰC TẾ VÀ THỰC NGHIỆM 4.1 Hình ảnh mơ hình thực tế Thực nghiệm trạm Hình 4-1: Mơ hình thực tế 4.2 Thực nghiệm khoảng cách Đo khoảng cách từ Google Map thực nghiệm từ board Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 32/39 Hình 4-2: Đo khoảng cách Google Map Hình 4-3: Mơ tả khoảng cách Node Master Bảng thống kê Module thực nghiệm Ứng dụng truyền nhận liệu sử dụng module LoRa ` Module phiên sau Trang 33/39 Model Tốc độ Baud Công suất Tốc độ truyền Tần số Khoảng cách truyền lý E32-TTL-100 RF 9600 100mW 2.4Kbps 410-441MHz 3Km E32-TTL-1 RF 9600 1W 2.4Kbps 410-441MHz 12Km tưởng Anten Dài tần 433MHz Dài tần 433MHz Trở kháng 50Ohm Trở kháng 50Ohm Độ lợi: 2dbi Độ lợi: 2dbi Khớp nối SMA Đực Khớp nối SMA Đực Bảng 4.1: Bảng thống kê thông số linh kiện, thông số kĩ thuật sử dụng CHƯƠNG KẾT LUẬN VÀ ĐÁNH GIÁ 5.1 Kết luận Mơ hình hoạt động nhận liệu từ cảm biến truyền liệu từ trạm Center ổn định với thông số khởi tạo Khoảng cách truyền nhận có suy hao thực nghiệm địa hình thành phố nhiều vật cản, chắn Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 34/39 5.2 Hướng phát triển Nâng cấp mạch thu phát công suất cao hơn, thay đổi anten phát sóng để truyền xa Thêm vào GPS để đồng thời gian từ vệ tinh cho trạm Áp dụng tùy theo ngữ cảnh dự án thay đổi module LoRa công suất phù hợp để đáp ứng Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 35/39 TÀI LIỆU THAM KHẢO Tiếng Anh: [1] www.semtech.com/wireless-rf/lora.html [2] www.ti.com/lit/an/snva021c/snva021c.pdf [3] www.ti.com/lit/an/szza009/szza009.pdf [4] www.nodered.org Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 36/39 PHỤ LỤC A /// Code Node /// #include #include "DHT.h" #define DHTPIN #define DHTTYPE DHT11 #define lora_tx #define lora_rx #define lora_id 'C' ////////////////buffer///////////////////////// int value_length[n]; int value_tx; bool done=0;// tạo vòng ngắt buffer int i=0; int timer_spamle; /////////////////////// DHT dht(DHTPIN, DHTTYPE); SoftwareSerial lora(lora_tx, lora_rx);// arduinoRX, arduinoTX float humid, temp; uint8_t id, t; bool warn=0; bool ok=1; void setup(void) { dht.begin(); Serial.begin(9600); lora.begin(9600); Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 37/39 lora.setTimeout(10); Serial.setTimeout(10); read_dht(); lora_send_data(); } void loop(void) { if (lora.available()) { id = lora.read(); if (id == lora_id && ok==1) lora_send_data(); else if(id=='S') ok=0; else if(id=='R') ok=1; } if(temp>32) { lora_send_stop(); delay(1000); lora_send_data(); warn=1; } else if(warn==1) { lora_send_run(); warn=0; } t++; delay(100); if(t>20) { read_dht(); send_serial(); t=0; Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 38/39 //send_lora(); } } void read_dht() { humid = dht.readHumidity(); temp = dht.readTemperature(); } void send_serial() { Serial.print("Humid: "); Serial.print(humid); Serial.print(", Temperature: "); Serial.println(temp); } void lora_send_data() { lora.print(lora_id); lora.print(","); lora.print((uint8_t)humid); lora.print(","); lora.println((uint8_t)temp); } void lora_send_stop() { lora.println('S'); } void lora_send_run() { lora.println('R'); delay(200); lora.println('R'); } void buffer_value() // lấy giá trị bỏ sensor bỏ vào mảng theo thứ tự 0->9 Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 39/39 { if(i1==0)// tạo vòng lặp lấy giá trị đầy buffer { int i; for(i=0; i 9 { if(i1==0){ value_length[i] = value_tx; Serial.print("GT thuoc o: ");Serial.println(i);Serial.println(value_length[i]); delay(1000); //i=i+1; if(i==10){i1=1;}// tạo vòng ngắt buffer, lenght đủ 10 giá trị } } Ứng dụng truyền nhận liệu sử dụng module LoRa ` ... lầu) Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 3/39 CHƯƠNG CẤU TRÚC TRUYỀN DỮ LIỆU VÀ GIỚI THIỆU LINH KIỆN 2.1 Sơ đồ tổng qt mơ hình Hình 2-1: Sơ đồ tổng qt mơ hình Ứng dụng truyền nhận. .. Server Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 16/39 CHƯƠNG NGUYÊN LÍ VÀ QUY TẮC LAYOUT PCB 3.1 Sơ đồ ngun lí module Hình 3-1: Ngun lí tồn hệ thống Ứng dụng truyền nhận liệu sử dụng module. .. timer kênh) Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 9/39 2.4.3 IC DS1307 Hình 2-6: Hình ảnh IC DS1307 Ứng dụng truyền nhận liệu sử dụng module LoRa ` Trang 10/39 Hình 2-7: Sơ đồ chân