Ứng dụng xử lý ảnh để phát hiện và cảnh báo cháy rừng qua tin nhắn điện thoại

98 0 0
Ứng dụng xử lý ảnh để phát hiện và cảnh báo cháy rừng qua tin nhắn điện thoại

Đ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

MỤC LỤC Trang bìa i Nhiệm vụ đồ án ii Lịch trình iii Cam đoan v Lời cảm ơn vi Mục lục vii Liệt kê hình vẽ x Liệt kê bảng vẽ …………………………………………………………… xiv Chương TỔNG QUAN ĐẶT VẤN ĐỀ MỤC TIÊU NỘI DUNG NGHIÊN CỨU GIỚI HẠN CỦA ĐỀ TÀI BỐ CỤC Chương CƠ SỞ LÝ THUYẾT HỆ THỐNG XỬ LÝ VÀ PHÁT HIỆN KHÓI LỬA Đặc tính khói lửa Các phương pháp nhận biết khói lửa Các trình xử lý ảnh GIỚI THIỆU PHẦN CỨNG 26 Thiết bị thu nhận hình ảnh 26 Vi điều khiển 27 Modul SIM800 30 Module USB UART 32 Chương TÍNH TOÁN VÀ THIẾT KẾ 33 GIỚI THIỆU 33 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 33 Thiết kế sơ đồ khối hệ thống 33 Tính tốn thiết kế mạch báo động Error! Bookmark not defined Sơ đồ nguyên lý toàn mạch 40 Chương THI CÔNG HỆ THỐNG 42 GIỚI THIỆU 42 THI CÔNG MẠCH 42 LẬP TRÌNH CHO KHỐI CẢNH BÁO 44 Lưu đồ giải thuật 44 Phần mềm lập trình cho vi điều khiển 45 LẬP TRÌNH XỬ LÝ ẢNH 50 Lưu đồ giải thuật 50 Phần mềm lập trình mô MATLAB 55 Chương KẾT QUẢ THỰC NGHIỆM 61 THU THẬP DỮ LIỆU 61 KẾT QUẢ NHẬN DẠNG KHÓI VÀ LỬA 63 CẢNH BÁO THÔNG QUA SIM800A 68 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 71 KẾT LUẬN 71 HƯỚNG PHÁT TRIỂN 71 TÀI LIỆU THAM KHẢO 72 Phụ lục 73 I CODE CHƯƠNG TRÌNH CHÍNH 73 II CODE CHƯƠNG TRÌNH TRÊN VI ĐIỀU KHIỂN 85 LIỆT KÊ HÌNH ẢNH Hình Trang Hình 2.1: (a) Hình ảnh cháy kèm lửa khói, (b) Sương bao phủ rừng Hình 2.2: (a) Cháy rừng kèm lửa khói, (b) Cháy rừng thấy khói Hình 2.3: Hình mẫu phát khói phương pháp sử dụng phép biến đổi wavelet tác giả Toreyin et al [6] (mũi tên cho biết vùng khói xác định) Hình 2.4: Sơ đồ thuật tốn lọc trung bình Hình 2.5: Nhiễu muối tiêu từ ảnh RGB trích kênh Red (a) sau lọc (b) qua lọc trung vị Hình 2.6: Nhiễu muối tiêu lọc lọc khác (a) ảnh gốc, (b) lọc Disk, (c) lọc Gaussian, (d) lọc Laplacian, (e) lọc Log, (f) lọc Sobel Hình 2.7: Các màu đỏ (Red), xanh (Green), xanh dương (Blue) 10 Hình 2.8: Khơng gian màu HSV 11 Hình 2.9: Hình trịn biểu diễn màu sắc (Hue) 12 Hình 2.10: Sơ đồ chuyển đổi RGB sang HSV 12 Hình 2.11: Ví dụ chuyển đổi ảnh từ khơng gian RGB sang không gian HSV, (a) (c) (e) ảnh RGB gốc, (b) (d) (e) ảnh sau chuyển đổi 14 Hình 2.12: Lươc đồ xám ảnh có tách biệt mức xám ngưỡng t0 15 Hình 2.13: Kết phân đoạn dựa ngưỡng toàn cục (a) (c) ảnh gốc ;(b) (d) ảnh phân ngưỡng 17 Hình 2.14: Một số hình dáng cấu trúc phẳng 18 Hình 2.15: Ví dụ phép tốn co ảnh nhị phân với phần tử cấu trúc phẳng 19 Hình 2.16: Ví dụ phép giãn nhị phân ảnh với phần tử cấu trúc phẳng 20 Hình 2.17: Phương pháp lập bảng tìm kiếm 20 Hình 2.18: Lọc nhỏ cho ảnh nhị phân (a) ta ảnh (b) vùng nhỏ li ti bị 21 Hình 2.19: Ảnh sau lọc trơn (b) từ ảnh nhị phân (a) 22 Hình 2.20: Thuật tốn q trình làm đầy điểm ảnh 23 Hình 2.21: Kết việc thực lấp đầy vùng ảnh: (a) Ảnh nhị phân với “lỗ hổng”, (b) Ảnh sau lấp đầy 24 Hình 2.22: Sơ đồ tổng quát hệ thống nhận dạng ảnh 25 Hình 2.23: Vùng nghi có khói ảnh gốc 26 Hình 2.24: Thiết bị thu hình 27 Hình 2.25: Sơ đồ chân vi điều khiển PIC 16F887 28 Hình 2.26: Hình ảnh thực tế module SIM800A 30 Hình 2.27: Tín hiệu tương đương UART RS232 31 Hình 2.28: Khung truyền truyền nhận UART 32 Hình 2.29: Cổng COM vật lý Error! Bookmark not defined Hình 2.30: Hình dáng modul USB to UART 32 Hình 3.1: Sơ đồ khối hệ thống xử lý ảnh nhận biết khói lửa 33 Hình 3.2: Bảng tra cứu tỉ lệ lỗi sử dụng UART Error! Bookmark not defined Hình 3.3: Đèn báo động nháy đỏ 37 Hình 3.4: Hình ảnh thực tế module relay 38 Hình 3.5: Sơ đồ kết nối chuông cảnh báo 38 Hình 3.6: Mặt sau module SIM 800A sơ đồ kết nối 39 Hình 3.7: Bảng tra cứu dịng tiêu thụ xử lý theo datasheet 39 Hình 3.8: Module nguồn 5V 2A 40 Hình 3.9: Sơ đồ nguyên lý phần kết nối 41 Hình 4.1: Mạch in sau vẽ 43 Hình 4.2: Mặt sau mạch 43 Hình 4.3: Hệ thống lắp hoàn chỉnh taplo nhựa 44 Hình 4.4: Lưu đồ giải thuật chương trình cảnh báo 45 Hình 4.5: Giao diện chương trình CCS 47 Hình 4.6: Giao diện soạn thảo code phần mềm CCS 47 Hình 4.7: Cấu hình tạo project CCS 48 Hình 4.8: Cấu hình Tab Communications CCS 49 Hình 4.9: Lưu đồ giải thuật chương trình nhận dạng máy tính 50 Hình 4.10: Lưu đồ trình Tiền xử lý ảnh 51 Hình 4.11: Hình ảnh gốc (a) sau qua lọc trung vị (b) 52 Hình 4.12: Kết phép chuyển đổi khơng gian RGB sang HSV 52 Hình 4.13: Lưu đồ q trình Phân vùng tách khói, lửa 53 Hình 4.14: Kết sau chọn ngưỡng phân vùng thứ tự (a) kênh Hue (b) kênh Saturation (c) kênh Brightness 53 Hình 4.15: Lưu đồ trình nhận dạng khói, lửa 54 Hình 4.16: Khói nhận dạng khung ảnh xử lý (a), khung ảnh gốc làm vùng có khói (b) 54 Hình 4.17: Giao diện chương trình MATLAB 55 Hình 4.18: Bấm vào nút New Script để tạo M-File 56 Hình 4.19: Khung soạn thảo code MATLAB 57 Hình 4.20: Bấm nút Run để chạy chương trình MATLAB 57 Hình 4.21: Thêm comment code MATLAB 58 Hình 4.22: Hộp thoại tạo GUIDE 58 Hình 4.23: Giao diện kéo thả phần GUIDE 59 Hình 4.24: Các button tạo ví dụ MATLAB 60 Hình 5.1: Giao diện chương trình nhận dạng máy tính 63 Hình 5.2: Trạng thái kết nối camera chương trình 64 Hình 5.3: Hộp thoại để chọn đường dẫn đến file video cần chạy thử 64 Hình 5.4: Phát khói đen 65 Hình 5.5: Phát khói trắng, trường hợp có người đứng bên cạnh mặc áo trắng.65 Hình 5.6: Khói phát 66 Hình 5.7: Khói xuất xa hệ thống không phát kịp thời 66 Hình 5.8: Hệ thống hoạt động camera di chuyển, nhận dạng khói sai vị trí 66 Hình 5.9: Ăn-ten gắn thêm cho module SIM800A 68 Hình 5.10: Cảnh báo phát lửa; gọi đến điện thoại, hình (a); tin nhắn cảnh báo cháy, hình (b) 69 Hình 5.11: Tin nhắn thơng báo phát khói khu vực qt camera; cảnh báo khói nhiều, hình (a); khói ít, hình (b) 70 LIỆT KÊ BẢNG Bảng Trang Bảng 2-1: Thông số vi điều khiển PIC 16F887 28 Bảng 4-1: Danh sách linh kiện sử dụng 42 Bảng 5-1: Bảng mô tả đoạn clip thu thập 61 Bảng 5-2: Bảng hiệu suất kết nhận dạng 67 CHƯƠNG TỔNG QUAN CHƯƠNG TỔNG QUAN ĐẶT VẤN ĐỀ Cùng với phát triển tồn cầu kéo theo diện tích rừng giới Việt Nam dần thu hẹp Chính việc bảo tồn cánh rừng trước nguy từ tác nhân gây hỏa hoạn từ người tự nhiên thách thức lớn đặt cho người “Trong vài thập kỷ qua, trung bình năm Việt Nam hàng chục ngàn rừng, rừng cháy rừng khoảng 16.000ha/năm” [1] Việc phát sớm cảnh báo cháy rừng giúp cho ta có biện pháp ngăn chặn việc lan rộng cố giúp giảm thiểu tổn thất xuống mức thấp trước ngồi tầm kiểm sốt Chính việc nghiên cứu phát triển hệ thống cảnh báo cháy rừng ngày coi trọng đầu tư vật chất lẫn chất xám Trong thập kỷ qua, loại cảm biến khác phát triển, chẳng hạn cảm biến độ ẩm, cảm biến nhiệt độ cảm biến khói, sử dụng phát báo cháy Tuy nhiên phương pháp mang tính cục khu vực nhỏ, chi phí tăng lên nhiều khu vực lớn Một phương pháp hiệu chi phí thấp sử dụng hình ảnh từ camera giám sát để phát hỏa hoạn thơng báo sớm cho bên có liên quan có biện pháp kịp thời xử lý Những đề tài nghiên cứu trước “Xử lý ảnh để phát khói cho cảnh báo cháy rừng” [3] sử dụng biện pháp phân ngưỡng ảnh qua màu sắc để nhận dạng khói phát cháy nhận dạng điểm ảnh có đặc trưng lửa đưa cảnh báo cục hệ thống mà khơng thể cảnh báo cho bên có liên quan khác có hỏa hoạn xảy Dựa yếu tố nhóm em chọn đề tài: “Ứng dụng xử lý ảnh để phát cảnh báo cháy rừng qua tin nhắn điện thoại” để nghiên cứu phát triển chọn làm đề tài tốt nghiệp Nội dung đề tài xây dựng hệ thống theo dõi giám sát xuất khói lửa phạm vi quan sát camera phương pháp xử lý BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP CHƯƠNG TỔNG QUAN nhận dạng ảnh thơng qua máy tính từ đưa cảnh báo hệ thống gửi tin nhắn cảnh báo cho bên có liên quan kịp thời đưa biện pháp xử lý MỤC TIÊU Thiết kế xây dựng mơ hình hệ thống camera giám sát cảnh báo cháy sử dụng phương pháp xử lý ảnh nhận dạng khói lửa Cảnh báo qua chuông báo tin nhắn điện thoại thông qua modul SIM 800A NỘI DUNG NGHIÊN CỨU + NỘI DUNG 1: Xây dựng thu thập sở liệu bao gồm hình ảnh tĩnh chuẩn RGB hình thu qua camera + NỘI DUNG 2: Thực việc nhận dạng hỏa hoạn dựa màu sắc khói lửa + NỘI DUNG 3: Thiết kế, tính tốn thi cơng khối mạch điều khiển chng báo giao tiếp với module SIM900 thông qua máy tính + NỘI DUNG 4: Thiết kế giao diện giám sát điều khiển máy tính + NỘI DUNG 5: Chạy thử nghiệm hệ thống + NỘI DUNG 6: Cân chỉnh hệ thống + NỘI DUNG 7: Viết báo cáo + NỘI DUNG 6: Báo cáo đề tài tốt nghiệp GIỚI HẠN CỦA ĐỀ TÀI + Thi công mô hình hệ thống camera giám sát cảnh báo qua chuông báo tin nhắn điện thoại + Camera thu thập hình ảnh gắn trục cố định, hướng chếch xuống so với mặt đất góc 45 độ Camera thu hình ảnh rõ nét phạm vi từ [1m-4m] + Xử lý hình ảnh thu từ camera phạm vi quan sát với điều kiện đủ ánh sáng, khơng có sương mù mây + Giao tiếp với module SIM800 điều khiển chuông báo thơng qua máy tính + Thử nghiệm hệ thống với đoạn clip có sẵn, điều kiện mơi trường đủ ánh sáng khơng có sương mù BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP PHỤ LỤC % Choose default command line output for Video_Player handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes Video_Player wait for user response (see UIRESUME) % uiwait(handles.figure1); % - Outputs from this function are returned to the command line function varargout = Video_Player_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % ************************ BROWSE ***************************************** BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 76 PHỤ LỤC % - Executes on button press in pushbutton1 function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % global frame_1 clc; [ video_file_name,video_file_path ] = uigetfile({'*.avi'},'Pick a video file'); %;*.png;*.yuv;*.bmp;*.tif'},'Pick a file'); if(video_file_path == 0) return; end input_video_file = [video_file_path,video_file_name]; set(handles.edit1,'String',input_video_file); % Acquiring video % videoObject = mmreader(input_video_file); videoObject = VideoReader(input_video_file); % Display first frame frame_1 = read(videoObject,1); % frame_1 = imresize(frame_1,[400 400]); % disp(bw_1); % disp(frame_1); % frame_1 = imresize(frame_1,[400 400]); axes(handles.axes1); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 77 PHỤ LỤC imshow(frame_1); drawnow; axis(handles.axes1,'off'); % Display Frame Number set(handles.text3,'String','1'); set(handles.text4,'String',[' / ',num2str(videoObject.NumberOfFrames)]); set(handles.text2,'Visible','on'); set(handles.text3,'Visible','on'); set(handles.text4,'Visible','on'); set(handles.pushbutton2,'Enable','on'); set(handles.pushbutton1,'Enable','off'); %Update handles handles.videoObject = videoObject; guidata(hObject,handles); % ************************ BROWSE TEXT BOX ******************************** function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 78 PHỤ LỤC % str2double(get(hObject,'String')) returns contents of edit1 as a double % - Executes during object creation, after setting all properties function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % ************************ START ****************************************** % - Executes on button press in pushbutton2 function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % global frame_1 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 79 PHỤ LỤC videoObject = handles.videoObject; set(handles.pushbutton3,'Enable','on'); set(handles.pushbutton2,'Enable','off'); % axes(handles.axes1); % frame_1=read(videoObject,1); a=10; k = videoObject.NumberOfFrames; m = k/a; n = round(m); if (n*a) > k n = n - 1; end % disp(n); % disp(m); frame_1 = read(videoObject,1); % frame_2 = read(videoObject,2); % delta = frame2 - frame1; for frameCount = 2:n % Display frames % set(handles.text3,'String',num2str(frameCount)); set(handles.text3,'String',num2str((frameCount-1)*a)); frame1 = read(videoObject,(frameCount-1)*a); frame2 = read(videoObject,frameCount*a); frame_trc = imsubtract(frame2,frame_1); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 80 PHỤ LỤC frame_sau = imsubtract(frame2,frame1); frame = frame_trc + frame_sau; % frame2 - frame1; axes(handles.axes2); imshow(frame); drawnow; % frame2 = imresize(frame2,[400 400]); % Convert RGB image to HSV hsvImage = rgb2hsv(frame); % Extract out the H, S, and V images individually hImage = hsvImage(:,:,1); sImage = hsvImage(:,:,2); vImage = hsvImage(:,:,3); hueThresholdLow = 0.14; hueThresholdHigh = graythresh(hImage); saturationThresholdLow = 0; saturationThresholdHigh = graythresh(sImage); valueThresholdLow = graythresh(vImage); valueThresholdHigh = 1.0; hueMask =~((hImage >= hueThresholdLow) & (hImage = saturationThresholdLow) & (sImage = valueThresholdLow) & (vImage 2000 soluong = soluong + 1; axes(handles.axes1); imshow(frame2); dim = size(BW); col = round(dim(2)/2)-90; row = min(find(BW(:,col))); BW_filled = imfill(BW,'holes'); boundaries = bwboundaries(BW_filled); for k=1:length(boundaries); hold on; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 82 PHỤ LỤC b = boundaries{k}; plot(b(:,2),b(:,1),'g','LineWidth',2.5); end drawnow; end end if soluong == axes(handles.axes1); imshow(frame2); drawnow; end end set(handles.pushbutton4,'Enable','on'); set(handles.pushbutton1,'Enable','on'); set(handles.pushbutton3,'Enable','off'); % ************************ PAUSE / PLAY *********************************** % - Executes on button press in pushbutton3 function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 83 PHỤ LỤC % handles structure with handles and user data (see GUIDATA) if(strcmp(get(handles.pushbutton3,'String'),'Pause')) set(handles.pushbutton3,'String','Play'); uiwait(); else set(handles.pushbutton3,'String','Pause'); uiresume(); end % ************************ EXIT ******************************************* % - Executes on button press in pushbutton4 function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) delete(handles.figure1); % - Executes on button press in pushbutton5 function pushbutton5_Callback(hObject, eventdata, handles) % hObject handle to pushbutton5 (see GCBO) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 84 PHỤ LỤC % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) wc_list = webcamlist; if iscell(wc_list) if find(strcmp(wc_list,'USB2.0 PC CAMERA')) set(handles.textStatusWebcam,'String','CONNECTED!'); set(handles.textStatusWebcam,'ForegroundColor', 'blue'); else set(handles.textStatusWebcam,'String','NOT CONNECTED!'); set(handles.textStatusWebcam,'ForegroundColor', 'red'); end end II CODE CHƯƠNG TRÌNH TRÊN VI ĐIỀU KHIỂN #include #include #include #define buff 40 char str[buff]="alo"; char call[] = "call"; char sms[] = "sms"; unsigned int8 i = 0; char str1; unsigned int1 flag_usb=0; unsigned int1 flag_debug=0; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 85 PHỤ LỤC unsigned int1 flag_sim=0; unsigned int1 flag_sim_echo=0; #int_rda void getString() { str[i] = fgetc(UART_USB); if(((i+1) == buff)||(str[i] == 0x0D)||(str[i] == 0x0A)){ flag_usb = 1; str[i] = '\0'; i = 0; } else i++; } void Gsm_Init() { LED_STT = 0; ENA_SIM = 0; delay_ms(100); ENA_SIM = 1; //output HIGH for enable SIM900 delay_ms(5000); fprintf(UART_SIM,"ATE0\r\n"); // Tat che phan hoi (Echo mode) delay_ms(2000); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 86 PHỤ LỤC fprintf(UART_SIM,"AT+IPR=9600\r\n"); // Dat toc truyen nhan du lieu 9600 bps delay_ms(2000); fprintf(UART_SIM,"AT+CMGF=1\r\n"); // Chon che TEXT Mode delay_ms(2000); fprintf(UART_SIM,"AT+CLIP=1\r\n"); // Hien thi thong tin nguoi goi den delay_ms(2000); fprintf(UART_SIM,"AT+CNMI=2,2\r\n"); // Hien thi truc tiep noi dung tin nhan delay_ms(2000); LED_STT = 1; fprintf(UART_USB, "done_setup"); } void Gsm_MakeSMS() { fprintf(UART_USB, "start_sms"); fprintf(UART_SIM,"AT+CMGS=\"0963251710\"\r"); delay_ms(3000); fprintf(UART_SIM, "alo\n\r"); fprintf(UART_SIM, "%c", 0x1A); // Lenh gui tin nhan // Cho ky tu '>' phan hoi ve // Gui noi dung // Gui Ctrl+Z hay 26 de ket thuc noi dung tin nhan va gui tin di delay_ms(5000); fprintf(UART_USB, "done_sms"); // delay 5s } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 87 PHỤ LỤC void Gsm_MakeCall() { fprintf(UART_SIM, "ATD"); fprintf(UART_SIM, &str[strlen(call)]); fprintf(UART_SIM, ";"); fprintf(UART_SIM, "%c", 0x0D); fprintf(UART_SIM, "%c", 0x0A); } void main() { setup_adc_ports(NO_ANALOGS); TRISC3 = 0; //SET enable SIM out TRISB4 = 0; // set output led TRISC7 = 1; //SET RX USB IN TRISC6 = 0; // SET TX USB OUT TRISB6 = 1; //SET RX DEBUG IN TRISB7 = 0; // SET TX DEBUG OUT TRISD0 = 1; //SET RX SIM IN TRISD1 = 0; // SET TX SIM OUT enable_interrupts(GLOBAL); enable_interrupts(INT_RDA); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 88 PHỤ LỤC Gsm_Init(); while(TRUE) { if(kbhit(UART_SIM)){ str[i] = fgetc(UART_SIM); if((i+1 == buff)||(str[i] == 0x0D)||(str[i] == 0x0A)){ flag_sim = 1; str[i] = '\0'; i = 0; } else i++; } if(flag_usb) { if(strstr(strlwr(str), call)){ Gsm_MakeCall(); flag_usb = 0; } if(strstr(strlwr(str), sms)){ Gsm_MakeSMS(); flag_usb = 0; }else str = ""; //! fprintf(UART_SIM, str); //! fprintf(UART_SIM, "%c", 0x0D); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 89 PHỤ LỤC //!fprintf(UART_SIM, "%c", 0x0A); flag_usb = 0; } if(flag_sim) { fprintf(UART_USB, str); flag_sim = 0; str = ""; } //! fprintf(UART_USB, "HiThere"); //! output_toggle(PIN_B4); //! delay_ms(1000); } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 90 ... thơng báo sớm cho bên có liên quan có biện pháp kịp thời xử lý Những đề tài nghiên cứu trước ? ?Xử lý ảnh để phát khói cho cảnh báo cháy rừng? ?? [3] sử dụng biện pháp phân ngưỡng ảnh qua màu sắc để. .. xây dựng mơ hình hệ thống camera giám sát cảnh báo cháy sử dụng phương pháp xử lý ảnh nhận dạng khói lửa Cảnh báo qua chuông báo tin nhắn điện thoại thông qua modul SIM 800A NỘI DUNG NGHIÊN CỨU... phương pháp xử lý BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP CHƯƠNG TỔNG QUAN nhận dạng ảnh thơng qua máy tính từ đưa cảnh báo hệ thống gửi tin nhắn cảnh báo cho bên có liên quan kịp thời đưa biện pháp xử lý MỤC

Ngày đăng: 30/10/2022, 23:39

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

  • Đang cập nhật ...

Tài liệu liên quan