Thiết kế hệ thống điều khiển giám sát tín hiệu giao thông qua giao thức modbus đề tài nghiên cứu khoa học sinh viên

74 1 0
Thiết kế hệ thống điều khiển giám sát tín hiệu giao thông qua giao thức modbus đề tài nghiên cứu khoa học sinh viên

Đ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

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI PHÂN HIỆU TẠI THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN NĂM 2019 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN GIÁM SÁT TÍN HIỆU GIAO THÔNG QUA GIAO THỨC MODBUS Sinh viên thực hiện: Hồ Văn Tân Lớp: ĐĐT K56 Bộ môn: Điện-Điện tử Từ Khương Như Thoa Lớp: KTVT K57 Bộ môn: Điện-Điện tử Nguyễn Huỳnh Diểm Ái Lớp: TĐH K58 Bộ môn: Điện-Điện tử Trần Nhựt Minh Lớp: ĐĐT K56 Bộ môn: Điện-Điện tử Người hướng dẫn: ThS Võ Thiện Lĩnh TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI PHÂN HIỆU TẠI THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN NĂM 2019 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN GIÁM SÁT TÍN HIỆU GIAO THÔNG QUA GIAO THỨC MODBUS Sinh viên thực 1.Hồ Văn Tân Nam Dân tộc: Kinh Lớp: KTDTTH K56 Bộ môn: Điện-Điện tử Năm thứ 4/4.5 Ngành học: Kĩ thuật điện tử tin học công nghiệp 2.Từ Khương Như Thoa Nữ Dân tộc: Kinh Lớp: KTVT K57 Bộ môn: Điện-Điện tử Năm thứ 3/4.5 Ngành học: Kĩ thuật điện tử viễn thông 3.Nguyễn Huỳnh Diểm Ái Nữ Dân tộc: Kinh Lớp: KTĐKTDH K58 Bộ môn: Điện-Điện tử Năm thứ 2/4.5 Ngành học: Kĩ thuật điều khiển tự động hóa 4.Trần Nhựt Minh Nam Dân tộc: Kinh Lớp: KTDTTH K56 Bộ môn: Điện-Điện tử Năm thứ 4/4.5 Ngành học: Kĩ thuật điện tử tin học công nghiệp Người hướng dẫn: ThS Võ Thiện Lĩnh MỤC LỤC MỞ ĐẦU Tổng quan tình hình nghiên cứu: Lý chọn đề tài: Mục tiêu: Cách tiếp cận: Phương pháp nghiên cứu: Đối tượng, phạm vi nhiên cứu: CHƯƠNG I: CƠ SỞ LÝ THUYẾT 10 1.1 MODBUS LÀ GÌ? 10 1.2 NGUYÊN LÝ MODBUS-ASCII? 11 1.3 MODBUS RTU 15 1.4 MODBUS TCP/IP 15 1.5 SO SÁNH CÁC GIAO THỨC MODBUS 16 1.6 ỨNG DỤNG CỦA MODBUS .17 CHƯƠNG II: THIẾT KẾ TÍN HIỆU ĐIỀU KHIỂN NÚT GIAO THƠNG 19 2.1 THIẾT KẾ TÍN HIỆU ĐÈN ĐIỀU KHIỂN NÚT GIAO THƠNG .19 2.2 Tín hiệu hóa nút giao thông 28 CHƯƠNG III: TRIỂN KHAI MODBUS ASCII ĐỂ ĐIỀU KHIỂN ĐÈN TÍNH HIỆU 41 3.1 MODBUS ASCII 41 3.2 Ứng dụng Modbus ASCII 49 CHƯƠNG IV: TẠO GIAO DIỆN ĐIỀU KHIỂN (DESIGN GUIDE CONTROL) BẰNG HTML 51 4.1 Ngôn ngữ HTML 51 4.2 Sử dụng CANVAS tạo giao diện người dùng 51 CHƯƠNG V: KẾT LUẬN VÀ KIẾN NGHỊ 54 5.1 KẾT LUẬN: 54 5.2 KIẾN NGHỊ 56 DANH MỤC BẢNG Bảng 1.1 Khung truyền MODBUS 11 Bảng 1.2 Khung kí tự .12 Bảng 1.3 Các giá trị tối đa 13 Bảng 1.4 Các mã chức MODBUS 14 Bảng 1.5 Cấu trúc truy vấn chức 01 .14 Bảng 1.6 Các tính chất Modbus ASCII Modbus RTU .16 Bảng 2.1 Các phương án rẽ trái nút có tín hiệu .37 Bảng 2.2 Lượng xe thẳng tương đương cho xe rẽ trái 39 Bảng 2.3 Lượng xe thẳng tương đương cho xe rẽ phải .39 Bảng 3.1 Bảng ký tự ASCII chuẩn: .42 Bảng 3.2 Bảng ký tự ASCII in 44 DANH MỤC HÌNH ẢNH Hình 1.1 Cấu trúc thông điệp MODBUS RTU 15 Hình 2.1 Minh họa số ký hiệu sử dụng đặt pha tín hiệu 20 Hình 2.2 Minh họa tín hiệu pha .21 Hình 2.3 Minh họa pha dành riêng cho rẽ trái .23 Hình 2.4 Minh họa kéo dài cắt pha 24 Hình 2.3 Mơ hình điều khiển tích cực pha 24 Hình 2.5 Kế hoạch điều khiển tích cực pha 24 Hình 2.7: Minh họa pha dành riêng cho người 26 Hình 2.8 Các phương án đặt pha nút chữ T 27 Hình Minh họa quãng đường 32 Hình 2.11 Quan hệ thời gian đặt cho xe cho người 34 Hình 2.12: Ví dụ yêu cầu người 35 Hình 2.13 Thiết kế nút quai bình 37 Hình 2.14 Minh họa nút dòng liên tục 37 Hình 3.1 Khung tin MODBUS ASCII .47 Hình Tình duyệt hỗ trợ CANVAS 51 Hình 4.2 AJAX hoạt động .53 Hình 5.1 Giao diện WEB .54 Hình 5.2 Ngun lí tượng trưng 1master slave 55 Hình 5.3 PCB layout .55 Hình 5.4 Mơ hình thật 56 TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI PHÂN HIỆU TẠI THÀNH PHỐ HỒ CHÍ MINH THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI Thông tin chung: - Tên đề tài: Thiết kế hệ thống điều khiển giám sát tín hiệu giao thơng qua giao thức Modbus - Sinh viên thực hiện: Hồ Văn Tân ĐĐT K56 Điện-Điện tử Năm 4/4.5 Từ Khương Như Thoa KTVT K57 Điện-Điện tử Năm 3/4.5 Nguyễn Huỳnh Diểm Ái TĐH K58 Điện-Điện tử Năm 2/4.5 ĐĐT K56 Điện-Điện tử Năm 4/4.5 Trần Nhựt Minh - Người hướng dẫn: ThS Võ Thiện Lĩnh Mục tiêu đề tài: - Nghiên cứu giao thức truyền thông Modbus ứng dụng điều khiển đèn tín hiệu giao thơng giúp tối ưu luồng giao thông giao lộ mà đèn điều khiển giao thông với thời gian cố định đạt - Thực thi hệ thống chíp vi xử lý - Thiết kế thi cơng mơ hình đèn tín hiệu giao thơng - Thiết kế giao diện web điều khiển giám sát đèn tín hiệu giao thơng Tính sáng tạo: - Triển khai hệ thống Modbus chip arduino - Kết hợp giao diện điều khiển để điều khiển giám sát đèn tính hiệu giao thơng Kết nghiên cứu: - Xây dựng phần mềm - Xây dựng giao diện web điều khiển đèn tín hiệu giao thơng - Xây dựng mơ hình đèn tính hiệu giao thơng - Hồn thành báo cáo đề tài Đóng góp mặt kinh tế - xã hội, giáo dục đào tạo, an ninh, quốc phòng khả áp dụng đề tài: - Nghiên cứu triển khai hệ thống Modbus điều khiển đèn tính hiệu có ưu điểm phương pháp điều khiển - Kết nghiên cứu nguồn tài liệu tham khảo cho đề tài Công bố khoa học sinh viên từ kết nghiên cứu đề tài (ghi rõ họ tên tác giả, nhan đề yếu tố xuất có) nhận xét, đánh giá sở áp dụng kết nghiên cứu (nếu có): Ngày tháng năm Sinh viên chịu trách nhiệm thực đề tài (ký, họ tên) Nhận xét người hướng dẫn đóng góp khoa học sinh viên thực đề tài (phần người hướng dẫn ghi): Nhóm sinh viên tích cực tìm hiểu, nghiên cứu đề tài, có nhiều đóng góp nghiên cứu khoa học Ngày tháng năm Người hướng dẫn (ký, họ tên) Lời mở đầu Networked control systems (NCS) cấu trúc đầy hứa hẹn cho điều khiển tự động đại Những cấu trúc giúp làm đơn giản hóa hệ thống dây bus, dễ dàng bảo trì debug Tuy nhiên, việc giới thiệu mạng lưới gây vấn đề mới, tốc độ mạng, mát thành phần liệu trình truyền nhận, v.v Với thị hóa ngày gia tăng, nhiều thành phố khắp giới phải đối mặt với gia tăng nhanh chóng số lượng phương tiện giao thơng dẫn đến tình trạng nghẽn giao thông xảy thương xuyên nghiêm trọng Do khu vực có nhu cầu cao việc mở rộng hệ thống giao thông đường với hiệu tối đa, chi phí tối thiểu Yếu tố ảnh hưởng đến lưu lượng giao thông thông suốt nút giao thơng đường Vì cần có hệ thống quản lý giao thông tốt, tối giảm tải lưu lượng giao thông, đặc biệt cao điểm Để giải quyến vấn đề trên, hệ thống điều khiển giao thông thiết lập dựa công nghệ máy chủ nghiên cứu phát triển Nó cho phép giám sát điều khiển giao thơng nhiều giao lộ lúc Theo cách hệ thống điều khiển giao thông cải tiến đạt kế hoạch hoạt động giám sát tốt Xu hướng ngày thành phần hệ thống tiên tiến trao đổi thông tin lẫn thông qua Ethernet Có nghĩa hệ điều hành nhận thông tin cập nhật với thời gian thực (real-time*) thông qua ứng dụng web bao gồm máy chủ máy khách thực đa chức Hệ thống thực truyền thông với chuẩn sử dụng phổ biến: Profilebus, Modbus-RTU, Modbus-ASCII, Modbus-TCP_IP *Real-time: hiểu đáp ứng kịp thời hệ thống với thay đổi từ kích thích bên ngồi MỞ ĐẦU Tổng quan tình hình nghiên cứu: - Tình hình nghiên cứu ngồi nước: Truyền thơng qua giao thức Modbus khơng cịn đề tài mẻ nay, ứng dụng giao thức Modbus công nghiệp nhiều Bên cạnh đó, với việc phát triển ngành giao thơng thơng minh nhiều nước giới gần giao thức dần sử dụng lĩnh vực điều khiển đèn tín hiệu giao thơng thơng qua việc truyền thông PLC Master-Slave để điều khiển chu kỳ đèn thời gian đếm lùi giao lộ [3] Ngồi cịn có số cơng ty lĩnh vực chiếu sáng công nghiệp cung cấp mô-đun điều khiển MODBUS phép kết nối điều khiển từ xa [6] - Tình hình nghiên cứu nước: Hiện có số cơng ty thiết kế đèn tín hiệu giao thơng triển khai điều khiển giám sát thông qua giao thức Modbus Một số nghiên cứu Ðiều khiển hệ thống đèn tín hiệu giao thông thông minh ngày đuợc quan tâm nhằm nâng cao khả thơng hành đảm bảo an tồn giao thông [9] Các nghiên cứu chủ yếu thực điều khiển giám sát thông qua PLC, chưa thấy triển khai Arduino Lý chọn đề tài: Khi đối diện với đèn đỏ lái xe thường cảm thấy thời gian dài vô tận tự đặt câu hỏi, lại có đèn này? Theo lí thuyết việc lắp đặt đèn giao thơng để điều phối luồng phương tiện nút giao thông nhằm ngăn ngừa tai nạn hỗn loạn dịng giao thơng qua nút Chúng sử dụng để điều tiết lưu lượng giao thông tuyến kết nối với nút Để hiểu làm sử dụng đèn giao thơng hỗ trợ quản lý tắc nghẽn điều quan trọng trước hết phải hiểu làm tắc nghẽn lại xảy tuyến đường Ùn tắc kết việc vượt lực phục vụ đường, kết tăng đột biến phương tiện lực thông qua đường bị giảm xảy cố Dù nguyên nhân nữa, luồng phương tiện đạt tới mức bão hòa, tắc nghẽn nhanh chóng phát triển Ngồi ra, tuyến đường bão hịa, lái xe phanh bất ngờ tạo sóng phanh xe phía sau tạo nên chậm trễ kéo dài Theo đó, tích tụ chậm trễ kéo dài gây ứ trệ giao thông Đấy xảy Lagos; hệ đèn giao thông lắp đặt đáp ứng với nhu cầu giao thông ngày tăng Tuy nhiên, giúp đỡ hệ thống điều khiển đèn giao thông thông minh tạo thành phần phương pháp tiếp cận tích hợp để quản lý giao thơng nhiều nước phát triển Với hệ thống thông minh điều khiển giao thông, đèn giao thông cung cấp thông tin lưu lượng giao thông khu vực lân cận thay đổi thời gian cho phù hợp để đảm bảo tuyến đường tắc nghẽn ưu tiên Việc sử dụng thông tin hành lưu lượng giao thông vào điều khiển đèn giao thông giao lộ tạo lợi rõ ràng so với điều khiển theo chu kỳ thời gian cố định thời gian sáng đèn xanh đèn đỏ thùy thuộc vào luồng phương tiện hướng riêng biệt Điều đảm bảo có tăng đột biến hướng di chuyển hệ thống thơng minh phân tán luồng giao thơng trước tuyến đường trở nên bão hịa Tính hệ thống đèn giao thông thông minh giúp ngăn ngừa việc xuất tắc nghẽn Những đèn giao thông gần chia sẻ thơng tin luồng giao thông mà tạo hiệu cân việc điều chỉnh lưu lượng giao thông khu vực rộng lớn mạng lưới đường Một ví dụ hệ thống kiểm sốt giao thơng thơng minh dựa kỹ thuật Tối ưu hóa bù đắp phân tách chu trình (SCOOT) phát triển TRL, TRL Peek Systems Siemens Traffic Solution đồng sở hữu Ứng dụng SCOOT cải tiến dần thêm tính ưu tiên luồng xe buýt; đèn giao thông có thời gian thích ứng phù hợp để đảm bảo tuến đường có xe bt tầm nhìn ưu tiên Ngồi cịn có ứng dụng phần mềm điều khiển giao thông thông minh chuyên biệt khác chuyên ngành khác phát triển để làm việc với đèn giao thông truyền thống làm cho đèn giao thông truyền thống trở nên thông minh Mục tiêu: Thiết kế hệ thống điều khiển giám sát đèn tín hiệu thơng qua giao thức Modbus áp dụng chuẩn Modbus ASCII hạ tầng TTL Cách tiếp cận: - Nghiên cứu thực nghiệm: ➢ Có loại: • Nghiên cứu tượng thực tế (thông qua khảo sát thực tế) • Nghiên cứu tượng điều kiện có kiểm sốt (thơng qua thí nghiệm) - Nghiên cứu lý thuyết: ➢ Có loại: • Nghiên cứu lý thuyết túy: nghiên cứu để bác bỏ, ủng hộ, hay làm rõ quan điểm/lập luận lý thuyết 58 PHỤ LỤC Code: * Chương trình giao diện điều khiển: const char MAIN_page[] PROGMEM = R"=====( button{ -webkit-appearance: none; width: 400px; height: 50px; background: #3cff00; font-size: 20px; } dropbtn { background-color: #4CAF50; color: white; padding: 16px; font-size: 16px; border: none; width: 100%; } dropdown { position: relative; display: inline-block; } dropdown-content { display: none; position: absolute; background-color: #f1f1f1; min-width: 200px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; } dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; 59 } dropdown-content a:hover {background-color: #ddd;} dropdown:hover dropdown-content {display: block;} dropdown:hover dropbtn {background-color: #3e8e41;} slidecontainer { width: 50%; } slider { -webkit-appearance: none; width: 580px; height: 25px; background: #d3d3d3; outline: none; opacity: 0.7; -webkit-transition: 2s; transition: opacity 2s; } slider:hover { opacity: 1; } slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 25px; height: 25px; background: black; cursor: pointer; } slider::-moz-range-thumb { width: 25px; height: 25px; background: black; cursor: pointer; } var led11=0,led21 =0,led31 = 0; var led12=0,led22 =0,led32 = 0; var rt,yt,gt; var c_size = 30; var xcar = 0; var update_time = 0;// as update time * 10 ms; var reciver_dt = ""; var deviceControl; var dataSend; 60 function draw_traffic(){ draw_line(0,196,196,196); draw_line(196,196,196,0); draw_line(372,196,372,0); draw_line(372,196,580,196); draw_line(0,308,196,308); draw_line(196,308,196,580); draw_line(372,308,580,308); draw_line(372,308,372,580); draw_vkd(150,200); draw_vkd(150,215); draw_vkd(150,230); draw_vkd(150,245); draw_vkd(150,260); draw_vkd(150,275); draw_vkd(150,290); draw_vkd(380,200); draw_vkd(380,215); draw_vkd(380,230); draw_vkd(380,245); draw_vkd(380,260); draw_vkd(380,275); draw_vkd(380,290); draw_vkd_n(200+5,148); draw_vkd_n(215+5,148); draw_vkd_n(230+5,148); draw_vkd_n(245+5,148); draw_vkd_n(260+5,148); draw_vkd_n(275+5,148); draw_vkd_n(290+5,148); draw_vkd_n(305+5,148); draw_vkd_n(320+5,148); draw_vkd_n(335+5,148); draw_vkd_n(350+5,148); draw_vkd_n(200+5,148+168); draw_vkd_n(215+5,148+168); draw_vkd_n(230+5,148+168); draw_vkd_n(245+5,148+168); draw_vkd_n(260+5,148+168); draw_vkd_n(275+5,148+168); draw_vkd_n(290+5,148+168); draw_vkd_n(305+5,148+168); draw_vkd_n(320+5,148+168); draw_vkd_n(335+5,148+168); 61 draw_vkd_n(350+5,148+168); } function canvas_update(){ clear_background(); draw_traffic(); draw_light_traffic(); } function clear_background(){ var can = document.getElementById("myCanvas"); var car = can.getContext("2d"); car.fillStyle = "gray"; car.fillRect(0,0,can.width,can.height); } function draw_light_traffic(){ made_car(); draw_tf_ligh(led31,30,"green",40,164); draw_tf_ligh(led21,30,"yellow",102,164); draw_tf_ligh(led11,30,"red",164,164); draw_tf_ligh(led32,30,"green",404,40); draw_tf_ligh(led22,30,"yellow",404,102); draw_tf_ligh(led12,30,"red",404,164); draw_tf_ligh(led11,30,"red",164,340); draw_tf_ligh(led21,30,"yellow",164,402); draw_tf_ligh(led31,30,"green",164,464); draw_tf_ligh(led12,30,"red",404,340); draw_tf_ligh(led22,30,"yellow",466,340); draw_tf_ligh(led32,30,"green",528,340); add_text("Thời gian đèn đỏ : " +rt, 380,450) ; add_text("Thời gian đèn vàng :" +yt, 380,470) ; add_text("Thời gian đèn xanh :" +gt, 380,490) ; add_text(""+dataSend,380,520) add_text("Slaver chose:" +deviceControl ,300,550); } function made_car() { car(xcar*0.8,200,"red"); car(xcar*1.2,240,"blue"); car(240,xcar*0.5,"pink"); car(345,580-xcar,"black"); } function clear_car() { 62 car(xcar*0.8-c_size,200,"gray"); car(xcar*1.2-c_size,240,"gray"); car(240,xcar*0.5-c_size,"gray"); car(345,590-xcar,c_size,"gray"); } function car(x,y,color) { var can = document.getElementById("myCanvas"); var car = can.getContext("2d"); if(xcar != 148 || led31 > 0) xcar = xcar + 1; if(xcar == 1130 && led31 > 0) xcar = 0; car.fillStyle = color; car.fillRect(x,y,c_size,c_size); } function draw_vkd_n(x1,y1)//vach ke duong ngang { var line = document.getElementById("myCanvas"); var l = line.getContext("2d"); l.fillStyle = "white"; l.fillRect(x1,y1,10,40); l.stroke(); } function draw_vkd(x1,y1)//vach ke duong doc { var line = document.getElementById("myCanvas"); var l = line.getContext("2d"); l.fillStyle = "white"; l.fillRect(x1,y1,40,10); l.stroke(); } function draw_line(x1,y1,x2,y2) //duong bao via he { var line = document.getElementById("myCanvas"); var l = line.getContext("2d"); l.strokeStyle = "white"; l.moveTo(x1, y1); l.lineTo(x2, y2); l.stroke(); } function add_text(text,x,y) // viet chu len hinh anh { var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); ctx.fillStyle = "yellow"; ctx.font = "18px Arial"; ctx.textAlign = "left"; 63 ctx.fillText(text,x,y + 5); } function draw_tf_ligh(text,r,color,x,y) // ve den giao thong va thoi gian tren den { var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); ctx.beginPath(); if(text != "0") ctx.fillStyle = color; else ctx.fillStyle = "white"; ctx.arc(x,y,r,0,2*Math.PI); ctx.fill(); ctx.fillStyle = "black"; ctx.font = "25px Arial"; ctx.textAlign = "center"; ctx.fillText(text,x,y + 10); } function sliderupdate(sliderID,sliderValue)//cap nhat gia tri slider { var slider = document.getElementById(sliderID); var output = document.getElementById(sliderValue); var out; slider.oninput = function() { output.innerHTML = this.value; out = this.value; } return slider.value; } function update_all_slider()//cap nhat tat ca slider { rt = sliderupdate("redRange","redTime"); yt = sliderupdate("yellowRange","yellowTime"); gt = rt - yt; } function sendData(data) { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == && this.status == 200) { reciver_dt =this.responseText; } }; xhttp.open("GET", "setLED?LEDstate="+data, true); xhttp.send(); } function update_led_state(){ var arr_dt = reciver_dt.split("."); 64 led11 = arr_dt[0]; led21 = arr_dt[1]; led31 = arr_dt[2]; led12 = arr_dt[3]; led22 = arr_dt[4]; led32 = arr_dt[5]; } function sendArequest( addRequest ) { var data; data = String( addRequest+"ghi"+ String(rt)+'.'+String(yt)+'.'+String(gt)+'.'+']'); dataSend = data; sendData(data); } setInterval(function() { update_all_slider(); canvas_update(); var i; if(i == update_time) { sendData(deviceControl +"|doc"); update_led_state(); i = 0; } i = i + 1; }, 10); function call_back_text( a ){ deviceControl = a ; } Traffic light HCMC SELECT SLAVER Slate 1 Slate 2 Apply setting time

Value:

65

Value:

)====="; * Chương trình máy chủ (master) #include #include #include #include "index.h" #include #define LED //On board LED unsigned int i = 0; //SSID and Password of your WiFi router const char* ssid = "Phong 3"; const char* password = "haiphongthoi"; IPAddress ip(192, 168, 1, 58); //set static ip IPAddress gateway(192, 168, 1, 1); //set getteway IPAddress subnet(255, 255, 255, 0);//set subnet ESP8266WebServer server(80); //Server on port 80 unsigned int now,time_l,d=30,v=3,g=27; String reciver_dt,respont_dt; //============================================================ === // This routine is executed when you open its IP in browser //============================================================ === void handleRoot() { String s = MAIN_page; //Read HTML contents server.send(200, "text/html", s); //Send web page } String dothis_code(String a) { String kq; if(a == "may1|doc"){ Serial.println("may1"); delay(5); Serial.println("doc"); byte buf; while(buf != ']'){ buf = Serial.read(); kq += char(buf); }} else return kq; } 66 void handleLED() { digitalWrite(LED,!digitalRead(LED)); String t_state = server.arg("LEDstate"); //Refer xhttp.open("GET", "setLED?LEDstate="+led, true); reciver_dt = t_state; Serial.println(reciver_dt); respont_dt = dothis_code(reciver_dt); server.send(200, "text/plane", respont_dt); digitalWrite(LED,!digitalRead(LED)); } //============================================================ == // SETUP //============================================================ == void setup(void){ Serial.begin(9600); WiFi.config(ip, gateway, subnet); WiFi.begin(ssid, password); //Connect to your WiFi router Serial.println(""); //Onboard LED port Direction output pinMode(LED,OUTPUT); // Wait for connection while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); digitalWrite(LED,!digitalRead(LED)); } //If connection successful show IP address in serial monitor Serial.println(""); Serial.print("Connected to "); Serial.println(ssid); Serial.print("IP address: "); Serial.println(WiFi.localIP()); //IP address assigned to your ESP server.on("/", handleRoot); //Which routine to handle at root location This is display page server.on("/setLED",handleLED); server.begin(); //Start server Serial.println("HTTP server started"); } //============================================================ == // LOOP //============================================================ == void loop(void){ server.handleClient(); //Handle client requests 67 Chương trình máy trạm (Slave) unsigned char a =30,b=5 #include * int time_counter; unsigned char a =30,b=5,c=25; int a1_res,b1_res,c1_res; int a2_res,b2_res,c2_res; #define led11 #define led21 #define led31 #define led12 #define led22 #define led32 10 void counter_up() { traffic_light(); time_counter++; if(time_counter ==(a+b+c)){time_counter = 0;} } void setup(){ Serial.begin(9600); cli(); pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LOW); pinMode(led11,OUTPUT); pinMode(led21,OUTPUT); pinMode(led31,OUTPUT); pinMode(led12,OUTPUT); pinMode(led22,OUTPUT); pinMode(led32,OUTPUT); /* Reset Timer/Counter1 */ TCCR1A = 0; TCCR1B = 0; TIMSK1 = 0; /* Setup Timer/Counter1 */ TCCR1B |= (1

Ngày đăng: 31/05/2023, 10:41

Tài liệu cùng người dùng

Tài liệu liên quan