Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 101 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
101
Dung lượng
5,44 MB
Nội dung
BỘ CÔNG THƯƠNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC KẾT QUẢ THỰC HIỆN ĐỀ TÀI NGHIÊN CỨU KHOA HỌCCẤP TRƯỜNG TÊN ĐỀ TÀI: HỆ THỐNG TƯỚI TIÊU TỰ ĐỘNG ĐIỀU KHIỂN PHÂN TÁN THÔNG QUA MẠNG KHÔNG DÂY LORA Mã số đề tài: 12 /HĐ-ĐHCN Chủ nhiệm đề tài: Ths.Nguyễn Đức Tồn Đơn vị thực hiện: Khoa Cơng Nghệ Điện MỤC LỤC MỤC LỤC DANH MỤC BẢNG BIỂU DANH MỤC HÌNH ẢNH LỜI CÁM ƠN 10 PHẦN I THÔNG TIN CHUNG 11 1.1 Thông tin tổng quát 11 1.1.1 Tên đề tài: 11 1.1.2 Mã số: 12 /HĐ-ĐHCN 11 1.1.3 Danh sách chủ trì, thành viên tham gia thực đề tài 11 1.1.1 Thời gian thực hiện: 12 1.1.2 Những thay đổi so với thuyết minh ban đầu (nếu có): 12 1.1.3 Tổng kinh phí phê duyệt đề tài: 12 1.2 Kết nghiên cứu 13 1.2.1 Đặt vấn đề 13 1.2.2 Mục tiêu 14 1.2.3 Phương pháp nghiên cứu 14 1.2.4 Tổng kết kết nghiên cứu 18 1.2.5 Đánh giá kết đạt kết luận 22 1.2.6 Tóm tắt kết 22 1.2.7 Sản phẩm đề tài, công bố kết đào tạo 28 1.3 Tình hình sử dụng kinh phí 33 1.4 Kiến nghị ( phát triển kết nghiên cứu đề tài) 34 1.5 Phụ lục sản phẩm ( liệt kê minh chứng sản phẩm nêu Phần III) 34 PHẦN II BÁO CÁO CHI TIẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC 36 CHƯƠNG 1: TỔNG QUAN 36 1.1 Đặt vấn đề 36 1.2 Mục tiêu 37 1.3 Phương pháp nghiên cứu 37 1.4 Tổng kết kết nghiên cứu 38 CHƯƠNG 2: LINH KIỆN VÀ MODULE SỬ DỤNG 39 2.1 2.2 Tổng quan Lora-IO 39 2.1.1 Nguồn vào 39 2.1.2 Module giảm áp LM2596 39 2.1.3 Lora truyền thông 40 2.1.4 Ngõ vào 41 2.1.5 Ngõ 42 2.1.6 Khối chuyển chế độ 42 Arduino UNO R3: 42 2.2.1 Bộ nhớ: 44 2.2.2 Các cổng vào (I/O port): 45 2.3 ESP8266 ESP-12F 45 2.4 Mạch ESP_mini 46 CHƯƠNG 3: GIỚI THIỆU PHẦN MỀM 50 3.1 GameMaker Studio (GMS): 50 3.1.1 GameMaker Studio gì? 50 3.1.2 Lý sử dụng GameMaker Studio 51 3.2 Các giải pháp lập trình: 51 3.2.1 Giao thức điều khiển truyền vận (TCP - Transmission Control Protocol): 51 3.2.2 JSON - JavaScript Object Notation: 51 3.2.3 Giao thức Modbus: 51 3.2.4 Giao thức Bico-Lora: 52 3.3 Giao diện điều khiển Smart Phone (WiFi Switch) 55 3.3.1 Giao diện điều khiển 55 3.3.2 Cách thức hoạt động 60 3.4 Lora-IO Master 60 3.4.1 Thành phần tổng quan: 60 3.4.2 Cách thức hoạt động 61 3.5 Lora-IO Slave 63 3.5.1 Thông số kỹ thuật Lora-IO Slave 63 CHƯƠNG 4: THI CÔNG 65 4.1 Sơ đồ nguyên lý thiết bị Lora-IO 65 4.2 Tạo phần mềm điều khiển 66 4.6.1 Bộ thư viện Modbus: 71 4.6.2 Thư viện Bico Lora (Bico_Lora_Soft) 73 4.6.3 Sự kết hợp Bico Lora Modbus 73 4.6.4 Sơ đồ nguyên lý thiết bị Lora-IO 73 4.3 Lưu đồ giải thuật hoạt động giao diện điều khiển 75 4.4 Lưu đồ giải thuật hoạt động Lora-IO Master 77 4.5 Lưu đồ giải thuật hoạt động Lora-IO Slave 78 4.6 Chương trình 78 4.7 Giao diện điện thoại đạt 96 4.8 Kiểm tra mức độ tiêu thụ lượng Lora-IO: 96 CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 98 5.1 Kết luận 98 5.2 Hướng phát triển đề tài 98 TÀI LIỆU THAM KHẢO 99 PHẦN III PHỤ LỤC ĐÍNH KÈM 100 DANH MỤC BẢNG BIỂU Bảng danh sách chủ trì, thành viên tham gia đề tài 12 Bảng so sánh giải pháp không dây 23 Bảng Comparison table of wireless solutions: 24 Bảng Chế độ hoạt động module Lora-E32: 26 Bảng Kết nguyên cứu 32 Bảng Chi phí 34 Bảng Thông số kỹ thuật Arduino UNO 44 Bảng Thông số kỹ thuật ESP8266 ESP-12F 46 Bảng Thông số kỹ thuật Lora-IO 64 DANH MỤC HÌNH ẢNH Hình Tham quan thực tế hệ thống tưới tiêu Ông Nguyễn Văn Hai Bình Thuận 15 Hình Nhóm nghiên cứu trường ĐHCN TP xem tủ điều khiển bơm nước trung chuyển anh Hai 16 Hình Tủ điều khiển máy bơm nước chuyển vào hồ chức trung gian q cũ khơng tin cậy khơng an tồn cho người vận hành trời 16 Hình Đường ống dẫn nước dỡ nước hồ chứa trung gian hết kiểm soát từ xa 17 Hình Nhóm nghiên cứu trường ĐHCN TP HCM chụp hình lưu niệm với anh Hai 17 Hình Hệ thống tưới tiêu sử dụng cầu trục anh Hai chế tạo vườn thử nghiệm anh 17 Hình Nhóm nghiên cứu tham quan bên hệ thống cầu trục anh Hai 17 Hình Một số hình ảnh nhóm nghiên cứu khảo sát thực địa vườn long Ông Nguyễn Văn Hai Tại Bình Thuận 18 Hình giao diện điện thoại module trạm điều khiển 19 Hình 10 Thực nghiệm kiểm tra đường ống đường ống bơm đầu nguồn 19 Hình 11 Giao diện điện thoại trạm điều khiển cải tiến 20 Hình 12 Thực nghiệm lắp đặt trạm Lora tủ điều khiển 21 Hình 13 Module Lora E32 25 Hình 14 Thành phần hệ thống 26 Hình 15 Các thiết bị Lora_IO 27 Hình 16 Bên trạm điều khiển 27 Hình 17 Mặt trước trạm điều khiển 28 Hình 18 Module Lora Master 29 Hình 19 Module Slave 29 Hình 20 Khối nguồn Lora-IO 39 Hình 21 Khối hạ áp Lora-IO 39 Hình 22 Khối truyền thơng Lora-E32: 40 Hình 23 Ngõ vào board mạch 41 Hình 24 Opto cách ly 41 Hình 25 Ngõ Lora-IO 42 Hình 26 Khối chuyển đổi chế độ Lora-IO 42 Hình 27 Arduino UNO R3 43 Hình 28 ESP8266 ESP-12F 45 Hình 29 Sơ đồ layout mạch ESP_mini 48 Hình 30 3D mạch ESP_mini mặt trước 48 Hình 31 3D mạch ESP_mini mặt sau 49 Hình 32 Giao diện GMS 50 Hình 33 Cấu trúc khung truyền Lora-E32 52 Hình 34 Minh họa cấu trúc khung truyền Lora-E32 53 Hình 35 Khung truyền giao thức Bico-Lora 54 Hình 36 Modbus tầng giao thức 54 Hình 37 Sự kết hợp Bico Lora Modbus 55 Hình 38 Nút cộng thêm trạm 56 Hình 39 nhập địa thiết bị 56 Hình 40 Ngõ gameMaker 56 Hình 41 Tên ngõ GameMaker 57 Hình 42 Nút điều khiển 57 Hình 43 Phần xóa trạm 57 Hình 44 Nút di chuyển qua trang 58 Hình 45 Tạo giao diện trạm 58 Hình 46 Giao diện trạm 59 Hình 47 Thay đổi tên giao diện 59 Hình 48 Nút giao diện 60 Hình 49 Lora-IO Master 61 Hình 50 Sơ đồ ngun lý tồn mạch 65 Hình 51 Top layout 66 Hình 52 Bottom layout 66 Hình 53 Tạọ object phần điều khiển 67 Hình 54 Tạọ sprite phần điều khiển 67 Hình 55 Đăng ký sprite cho object cho thiết kế điều khiển 68 Hình 56 Code cho kiện object 69 Hình 57 Tạo room 69 Hình 58 Cài đặt kích thước room 70 Hình 59 Đặt background cho room 70 Hình 60 Thêm object cần thiết vào room 71 Hình 61 Chọn Targer Android/Fire sau build app 71 Hình 62 Bộ thư viện Modbus 72 Hình 63 Tạo thư viện 74 Hình 64 Thư viện khối Input 74 Hình 65 Thư viện khối Output 75 Hình 66 Lưu đồ giải thuật giao diện điều khiển 76 Hình 67 Lưu đồ giải thuật giao diện điều khiển Lora IO Master 77 Hình 68 Lưu đồ giải thuật giao diện điều khiển Lora IO Slave 78 Hình 69 Giao diện điện thoại 96 Hình 70 Kiểm tra độ tiêu thụ điện Lora-IO 97 48 while(Serial.available()) 49 { 50 Serial.read(); 51 } 52 // Clean Serial 53 54 uint32_t end_point = millis(); 55 56 while(client.connected()) 57 { 58 // Pass TCP to Serial - 59 if(client.available()) 60 { 61 while(client.available()) 62 { 63 Serial.write(client.read()); 64 } 65 66 end_point = millis(); 67 } 68 // Pass TCP to Serial - 86 69 70 // Pass Serial to TCP - 71 if(Serial.available()) 72 { 73 while(Serial.available()) 74 { 75 client.write(Serial.read()); 76 } 77 end_point = millis(); 78 } 79 // Pass Serial to TCP - 80 81 if(millis() - end_point > time_life) 82 { 83 end_point = millis(); 84 break; 85 } 86 } 87 client.stop(); 88 89 } } 87 Chương trình cho EPS _mini: #include //this needs to be first, or it all crashes and burns #include "TCP_Serial_Bridge_One_Client_Supported.h" #include #include #include #include #include #include #ifndef APSSID 10 #define APSSID "TRAM DIEU KHIEN" 11 #define APPSK "12345678" 12 #endif 13 const char *softAP_ssid = APSSID; 14 const char *softAP_password = APPSK; 15 /* hostname for mDNS Should work at least on windows Try http://esp8266.local */ 16 const char *myHostname = "esp8266"; 17 /* Don't set this wifi credentials They are configurated at runtime and stored on EEPROM */ 18 char ssid[32] = ""; 19 char password[32] = ""; 88 20 // DNS server 21 const byte DNS_PORT = 53; 22 DNSServer dnsServer; 23 // Web server 24 ESP8266WebServer server(80); 25 /* Soft AP network parameters */ 26 IPAddress apIP(192, 168, 4, 1); 27 IPAddress netMsk(255, 255, 255, 0); 28 /** Should I connect to WLAN asap? */ 29 boolean connect; 30 /** Last time I tried to connect to WLAN */ 31 unsigned long lastConnectTry = 0; 32 /** Current WLAN status */ 33 unsigned int status = WL_IDLE_STATUS; 34 void setup() { 35 delay(1000); 36 Serial.begin(38400); 37 Serial.setTimeout(MAX_CONFIGURATION_STRING_SIZE); 38 EEPROM.begin(MAX_CONFIGURATION_STRING_SIZE); 39 // 40 baudrate = 9600; 89 41 serial_mode = SERIAL_8N1; 42 time_life = 10000; 43 // Others properties -44 Serial.end(); 45 Serial.begin(baudrate); 46 Serial.println(); 47 Serial.println("Configuring access point "); 48 /* You can remove the password parameter if you want the AP to be open */ 49 WiFi.softAPConfig(apIP, apIP, netMsk); 50 WiFi.softAP(softAP_ssid, softAP_password); 51 delay(500); // Without delay I've seen the IP address blank 52 Serial.print("AP IP address: "); 53 Serial.println(WiFi.softAPIP()); 54 /* Setup the DNS server redirecting all the domains to the apIP */ 55 dnsServer.setErrorReplyCode(DNSReplyCode::NoError); 56 dnsServer.start(DNS_PORT, "*", apIP); 57 /* Setup web pages: root, wifi config pages, SO captive portal detectors and not found */ 58 server.on("/", handleRoot); 59 server.on("/wifi", handleWifi); 60 server.on("/wifisave", handleWifiSave); 90 61 server.on("/generate_204", handleRoot); //Android captive portal Maybe not needed Might be handled by notFound handler 62 server.on("/fwlink", handleRoot); //Microsoft captive portal Maybe not needed Might be handled by notFound handler 63 server.onNotFound(handleNotFound); 64 server.begin(); // Web server start 65 Serial.println("HTTP server started"); 66 loadCredentials(); // Load WLAN credentials from network 67 connect = strlen(ssid) > 0; // Request WLAN connect if there is a SSID 68 port = 6969; 69 my_server.begin(port); 70 } 71 void connectWifi() { 72 Serial.println("Connecting as wifi client "); 73 WiFi.disconnect(); 74 WiFi.begin(ssid, password); 75 int connRes = WiFi.waitForConnectResult(); 76 Serial.print("connRes: "); 77 Serial.println(connRes); 78 } 79 void loop() { 80 if (connect) { 91 81 Serial.println("Connect requested"); 82 connect = false; 83 connectWifi(); 84 lastConnectTry = millis(); 85 } 86 { 87 unsigned int s = WiFi.status(); 88 if (s == && millis() > (lastConnectTry + 60000)) { 89 /* If WLAN disconnected and idle try to connect */ 90 /* Don't set retry time too low as retry interfere the softAP operation */ 91 connect = true; 92 } 93 if (status != s) { // WLAN status change 94 Serial.print("Status: "); 95 Serial.println(s); 96 status = s; 97 if (s == WL_CONNECTED) { 98 /* Just connected to WLAN */ 99 Serial.println(""); 100 Serial.print("Connected to "); 101 Serial.println(ssid); 92 102 Serial.print("IP address: "); 103 Serial.println(WiFi.localIP()); 104 // Setup MDNS responder 105 if (!MDNS.begin(myHostname)) { 106 Serial.println("Error setting up MDNS responder!"); 107 } else { 108 Serial.println("mDNS responder started"); 109 // Add service to MDNS-SD 110 MDNS.addService("http", "tcp", 80); 111 } 112 } else if (s == WL_NO_SSID_AVAIL) { 113 WiFi.disconnect(); 114 } 115 } 116 if (s == WL_CONNECTED) { 117 MDNS.update(); 118 } 119 } 120 // Do work: 121 //DNS 122 dnsServer.processNextRequest(); 93 123 //HTTP 124 server.handleClient(); 125 WiFiClient client = my_server.available(); 126 if(client) 127 { 128 // Clean Serial -129 while(Serial.available()) 130 { 131 Serial.read(); 132 } 133 // Clean Serial -134 uint32_t end_point = millis(); 135 while(client.connected()) 136 { 137 // Pass TCP to Serial 138 if(client.available()) 139 { 140 while(client.available()) 141 { 142 Serial.write(client.read()); 143 } 94 144 end_point = millis(); 145 } 146 // Pass TCP to Serial 147 // Pass Serial to TCP 148 if(Serial.available()) 149 { 150 String data = ""; 151 while(Serial.available()) 152 { 153 data += (char)Serial.read(); 154 delay(2); 155 } 156 client.write(data.c_str(), data.length()); 157 end_point = millis(); 158 } 159 // Pass Serial to TCP 160 if(millis() - end_point > time_life) 161 { 162 end_point = millis(); 163 break; 164 } 95 165 } 166 client.stop(); 167 } 168 } 4.7 Giao diện điện thoại đạt Hình 69 Giao diện điện thoại 4.8 Kiểm tra mức độ tiêu thụ lượng Lora-IO: Dòng tiêu thụ trung bình Lora-IO 28mA 96 Hình 70 Kiểm tra độ tiêu thụ điện Lora-IO Sau khảo sát với viên pin 18650 1500mAh mắc nối tiếp cấp nguồn liên tục cho Lora-IO điện áp tổng viên pin từ 12.2V xuống 9.3V vịng 51 Q trình kiểm tra thực nghiệm Bình Thuận Accu 12V 20Ah thời gian 45 ngày lượng pin xuống Accu xuống 9.3V 97 CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết luận Nhóm nghiên cứu hồn thành board chủ board tớ điều khiển phân tán trạm vườn long Bình Thuận, đồng thời viết áp điện thoại sử dụng phần mềm android điện thoại sử dụng logo Trường Đại Học Công Nghiệp Thành Phố Hồ Chí Minh, giao diện thêm trạm tính điều khiển nhiệt độ áp xuất, mạch vận hành chạy ổn định tự nhiên đạt khoảng cách 1km, Sau trình kiểm tra thực tế Lora-IO hoặt động ổn định sử dụng accu 12v 20Ah sử dụng 45 ngày 5.2 Hướng phát triển đề tài Sử dụng giao thức MQTT để kết nối vưới Cloud (dữ liệu đám mây) 98 TÀI LIỆU THAM KHẢO (1) Giới thiệu ESP8266 https://iotmaker.vn/nodemcu.html (2) Giới thiệu arduino http://arduino.vn (3) Thông số loại cảm biến https://iotmaker.vn/cam-bien-anh-sang-quangtro.html (4) Cộng đồng Arduino Việt Nam, “Giới thiệu Arduino Mega2560”, 28/11/2015, http://arduino.vn/bai-viet/542-gioi-thieu-arduino-mega2560 (5) Diễn Đàn Vi Điều Khiển, “Bài 8: Giao Tiếp UART”, 17/09/2012, http://mcu.banlinhkien.vn/threads/bai-8-giao-tiep-uart.28/ (6) Samuel, “Modbus-Master-Slave-for-Arduino”, 30/07/2016, https://github.com/smarmengol/Modbus-Master-Slave-for-Arduino (7) Lập trình kéo thả với Mit App Inventor https://vngiotlab.github.io/vbluno/vi/mydoc_mobile_tut3_vi.html (8) (8) Ứng dụng IoT https://techmaster.vn/posts/34394/iot-giao-thuc-mqtt-vaung-dung-trong-iot (9) Giới thiệu Node-red https://nodered.org/ 99 PHẦN III PHỤ LỤC ĐÍNH KÈM (tất văn có sẵn, chủ nhiệm cần photo đính kèm sau nội dung trên, sử dụng lý hợp đồng với phịng kế toán Khi lý, báo cáo in thành 03 cuốn, đó, 01 đóng bìa mạ vàng, 02 đóng bìa cứng thường) Hợp đồng thực đề tài nghiên cứu khoa học Thuyết minh đề tài phê duyệt Quyết định nghiệm thu Hồ sơ nghiệm thu (biên họp, phiếu đánh giá, bảng tổng hợp điểm, giải trình, phiếu phản biện) Sản phẩm nghiên cứu (bài báo, vẽ, mơ hình .) 100 ... Thơng tin tổng qt 1.1.1 Tên đề tài: Hệ thống tưới tiêu tự động điều khiển phân tán thông qua mạng không dây lora 1.1.2 Mã số: 12 /HĐ-ĐHCN 1.1.3 Danh sách chủ trì, thành viên tham gia thực đề tài Họ... tranh, đa dạng sản phẩm thị trường tiêu thụ 1.2.2 Mục tiêu Đề tài xây dựng thống điều khiển trạm vườn Bình Thuận sử dụng mang Lora, xây dựng hệ thống điều khiển qua mạng Lora, xây dựng giao diện... tranh, đa dạng sản phẩm thị trường tiêu thụ 1.2 Mục tiêu - Đề tài xây dựng thống điều khiển trạm vườn Bình Thuận sử dụng mang Lora, xây dựng hệ thống điều khiển qua mạng Lora, xây dựng giao diện