HỆ THỐNG GIÁM SÁT HÀNH TRÌNH XE BUÝT BẰNG RFID ĐỂ NÂNG CAO CHẤT LƯỢNG DỊCH VỤ

76 350 1
HỆ THỐNG GIÁM SÁT HÀNH TRÌNH XE BUÝT BẰNG RFID ĐỂ NÂNG CAO CHẤT LƯỢNG DỊCH VỤ

Đ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

Đề tài đã thực hiện thành công và đạt được kết quả khả quan như xây dựng được hệ thống định vị xe buýt bằng RFID, dựa trên thuật toán nhận dạng đối tượng bằng công nghệ RFID và phát triển hệ thống theo hướng có khả năng định vị xe buýt và tính toán được thời gian dự kiến xe buýt đến trạm đón trả khách. Đây được xem là kết quả chính của đề tài. Để thực hiện tốt kết quả này thì em cũng phải thực hiện thành công quá trình xử lý định vị đối tượng dựa trên cơ sở dữ liệu được ghi ở mỗi thẻ từ RFID, xây dựng hệ thống cơ sở dữ liệu cho việc định vị xe buýt dựa vào mã thẻ đã được Reader ghi. Ngoài ra còn xây dựng cho hệ thống cơ sở dữ liệu về thời gian để phục vụ cho việc gửi nhận tin nhắn của modul sim. Thực hiện truyền nhận dữ liệu nối tiếp tốc độ cao chuẩn SPI, truyền nhận dữ liệu không dây qua sóng RF. Cũng như việc truyền nhận dữ liệu không dây giữa các modul sim trên hệ thống thông tin di động GMS.

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH KHĨA LUẬN TỐT NGHIỆP HỆ THỐNG GIÁM SÁT HÀNH TRÌNH XE BUÝT BẰNG RFID ĐỂ NÂNG CAO CHẤT LƯỢNG DỊCH VỤ Sinh viên thực : LÊ KHẢI ĐỊNH Ngành : Cơ Điện Tử Niên khóa : 2013-2017 TP Hồ Chí Minh, tháng năm 2017 HỆ THỐNG GIÁM SÁT HÀNH TRÌNH XE BUÝT BẰNG RFID ĐỂ CẢI THIỆN CHẤT LƯỢNG DỊCH VỤ TÁC GIẢ LÊ KHẢI ĐỊNH Khóa luận tơt nghiệp đệ trình đáp ứng yêu cầu cấp Kỹ sư ngành Cơ Điện Tử Giáo viên hướng dẫn: TH.S TRẦN THỊ KIM NGÀ TP Hồ Chí Minh, tháng năm 2017 LỜI CẢM ƠN Em xin trân trọng cảm ơn tất quý thầy cô trường Đại học Nông Lâm TP.Hồ Chí Minh q Thầy Cơ khoa Cơ Khí - Cơng Nghệ trang bị cho em kiến thức quý báu giúp đỡ em suốt trình học tập trường Em xin chân thành cảm ơn thầy cô môn Cơ Điện Tử giúp đỡ chúng em nhiệt tình thời gian thực đề tài Em xin bày tỏ biết ơn chân thành cô Trần Thị Kim Ngà tận tình hướng dẫn em suốt trình làm Luận văn tốt nghiệp Đặc biệt, em xin cảm ơn quý thầy cô hội đồng dành thời gian nhận xét góp ý để luận văn em hoàn thiện Cuối cùng, em xin gửi lời cảm ơn đến người thân bạn bè động viên, ủng hộ tạo cho em điều kiện thuận lợi suốt q trình hồn thành luận văn TPHCM, ngày tháng 06 năm 2017 Sinh viên thực LÊ KHẢI ĐỊNH TÓM TẮT Đề tài nghiên cứu “Hệ thống giám sát hành trình xe buýt RFID để nâng cao chất lượng dịch vụ” thực trường Đại Học Nơng Lâm Thành Phố Hồ Chí Minh, thời gian từ tháng đến tháng năm 2017 Đề tài thực thành công đạt kết khả quan xây dựng hệ thống định vị xe buýt RFID, dựa thuật toán nhận dạng đối tượng công nghệ RFID phát triển hệ thống theo hướng có khả định vị xe buýt tính tốn thời gian dự kiến xe bt đến trạm đón trả khách Đây xem kết đề tài Để thực tốt kết em phải thực thành cơng q trình xử lý định vị đối tượng dựa sở liệu ghi thẻ từ RFID, xây dựng hệ thống sở liệu cho việc định vị xe buýt dựa vào mã thẻ Reader ghi Ngồi xây dựng cho hệ thống sở liệu thời gian để phục vụ cho việc gửi nhận tin nhắn modul sim Thực truyền nhận liệu nối tiếp tốc độ cao chuẩn SPI, truyền nhận liệu khơng dây qua sóng RF Cũng việc truyền nhận liệu không dây modul sim hệ thống thông tin di động GMS Do thời gian thực hạn chế, mức độ rộng lớn đề tài, nên dù cố gắng phương án giải tốn chúng em chắn khơng thể tránh khỏi thiếu sót Rất mong nhận đóng góp ý kiến q thầy bạn bè để đề tài em hoàn thiện MỤC LỤC LỜI CẢM ƠN iii TÓM TẮT iv MỤC LỤC v DANH SÁCH CÁC HÌNH ix DANH SÁCH CÁC BẢNG x DANH SÁCH CÁC CHỮ VIẾT TẮT .xi Chương ……………………………………………… MỞ ĐẦU ……………………………………………………………………………….1 1.1 Đặt vấn đề ……………………………………………………………………… 1.2 Mục đích …………………………………………………………………………2 Chương ……………………………………………… TỔNG QUAN ………………………………………………………………………… 2.1 Một số khái niệm hệ thống RFID ………………………………….4 2.1.1 Tag / thẻ …………………………………………………………………… 2.1.2 Reader (Đầu đọc) ………………………………………………………… 2.1.3 Middleware ( phần mềm xử lí trung gian) ………………………………… 2.1.4 Khoảng đọc ………………………………………………………………… 2.2 Tổng quan hệ thống nhận dạng tự động : …………………………………….8 2.2.1 Các công nghệ nhận dạng tự động ………………………………………… 2.2.1.1 Khái niệm hệ thống RFID ……………………………………… 2.2.1.2 Phân loại hệ thống RFID ……………………………………… 10 2.2.1.3 ID Tag/ thẻ ( Mã thẻ) ……………………………………… 13 2.3 Tổng quan vi điều khiển Arduino ………………………………………… 15 2.4 Truyền thông nối tiếp tốc độ cao SPI ………………………………………… 17 2.4.1 Tổng quan chuẩn truyền thông SPI …………………………………… 17 2.4.2 Truyền liệu qua truyền thông SPI ……………………………………….18 2.4.2.1 Sơ đồ kết nối board Arduino với modul RFID qua cổng SPI ….18 2.4.2.2 Cấu trúc truyền liệu theo chuẩn SPI …………………………19 2.5 Truyền tín hiệu không dây sử dụng cặp modul sim 900A …………………… 20 2.5.1 Tổng quan modul sim 900A …………………………………………….20 2.5.2 Truyền nhận hai modul sim ………………………………………… 22 2.6 Truyền tín hiệu không dây sử dụng cặp module thu phát RF hệ thống RFID……………………………………………………………………………… 22 2.6.1 Tổng quan sóng RF ……………………………………………………… 22 2.6.1.1 Biên độ bước sóng ……………………………………………23 2.6.1.2 Bức xạ điện từ ………………………………………………… 23 2.6.1.3 Pha ………………………………………………………………23 2.6.2 Các phương thức điều chế sóng RF …………………………………………23 2.6.2.1 Điều biên ……………………………………………………… 23 2.6.2.2 Điều tần ………………………………………………………….24 2.6.2.3 Điều pha …………………………………………………………24 2.6.3 Mã hóa liệu ………………………………………………………………25 2.6.3.1 Các phương pháp mã hoá liệu ……………………………….25 2.6.3.2 Các dạng mã hóa phổ biến ………………………………………25 2.6.4 Hoạt động sóng vô tuyến ………………………………………………26 2.7 Modul RFID RC522 ……………………………………………………………27 2.8 Mạch giảm áp L2596 ………………………………………………………… 28 2.9 Thiết bị hiển thị LCD 16.2 ………………………………………………………30 Chương ……………………………………………………………………………… 31 PHƯƠNG TIỆN VÀ PHƯƠNG PHÁP NGHIÊN CỨU …………………………… 32 3.1 Thời gian trí thực đề tài ……………………………………………………32 3.2 Đối tượng thiết bị nghiên cứu ………………………………………… 32 3.2.1 Đối tượng nghiên cứu ……………………………………………………….32 3.2.2 Thiết bị nghiên cứu ………………………………………………………….32 3.3 Phương pháp nghiên cứu ……………………………………………………… 32 3.3.1 Mơ hình trạm giám sát hành trình xe bt cơng nghệ RFID thực tế …33 Chương ……………………………………………………………………………… 34 KẾT QUẢ VÀ THẢO LUẬN ……………………………………………………… 34 4.1 Thiết kế sơ đồ khối toàn hệ thống ………………………………………… 34 4.4.1 Khối nguồn …………………………………………………………………35 4.4.2 Khối xử lý ………………………………………………………………… 35 4.4.3 Khối nhận dạng …………………………………………………………….36 4.1.4 Khối truyền dẫn …………………………………………………………….36 4.1.5 Khối hiển thị ……………………………………………………………….37 4.2 Bản vẽ 3D mơ hình định vị xe bt cách bố trí trạm xe buýt ………… 37 4.3 Khung mơ hình hồn chỉnh …………………………………………………… 38 4.4 Truy vấn, xử lý số liệu, nhận dạng xe ………………………………………… 38 4.5 Thuật tốn giám sát hành trình xe bt tính tốn thời gian …………………39 4.6 Giao tiếp với người dùng qua tin nhắn SMS ………………………………… 40 4.7 Khảo nghiệm ……………………………………………………………………41 Chương ……………………………………………………………………………… 53 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI ………………………………… 53 5.1 Kết luận ……………………………………………………………………… 53 5.2 Đề nghị hướng phát triển đề tài …………………………………………… 53 TÀI LIỆU THAM KHẢO ……………………………………………………………… PHỤ LỤC………………………………………………………………………………….2 DANH SÁCH CÁC Hình Tag/thẻ ………………………………………………………………………….4 Hình 2 Thẻ thụ động ……………………………………………………………………5 Hình Thẻ thụ động ……………………………………………………………………6 Hình Sơ đồ hệ thơng nhận dạng tự động ……………………………………… Hình Mơ hình hệ thống nhận dạng tự động …………………………………… Hình Hệ thơng RFID ……………………………………………………… 10 Hình Dải tần dùng cho ứng dụng RFID …………………………………… 11 Hình Hoạt động RFID dùng thẻ tích cực ……………………………………….12 Hình Hoạt động RFID dùng thẻ thụ động ………………………………………12 Hình 10 Cấu trúc vật lí tag/thẻ ……………………………………………….13 Hình 11 Một số loại vi điều khiển AVR ………………………………………………15 Hình 12 Boar Arduino UNO ………………………………………………………….16 Hình 13 Giao diện dây chuẩn SPI ………………………………………………18 Hình 14 Sơ đồ kết nối board Arduino với modul RFID …………………………18 Hình 15 Khung truyền liệu qua cổng SPI ………………………………………….19 Hình 16 Truyền liệu song song qua cổng SPI …………………………………… 19 Hình 17 Truyền thơng SPI vi điều khiển với nhiều thiết bị …………………… 20 Hình 18 Sơ đồ ngun lí sim 900A ………………………………………………… 20 Hình 19 Sơ đồ chân module sim 900A ……………………………………………… 21 Hình 20 Điều biên …………………………………………………………………… 24 Hình 21 Điều tần ………………………………………………………………………24 Hình 22 Điều pha …………………………………………………………………… 25 Hình 23 Các dạng mã hóa phổ biến ………………………………………………… 26 Hình 24 Hoạt động sóng vơ tuyến ……………………………………………… 27 Hình 25 Modul RFID RC522 sơ dồ nối chân với ARDUINO Uno R3 ……………27 Hình 26 Sơ đồ chân Mạch nguồn LM 2596 ………………………………………… 29 Hình 27 Sơ đồ nguyên lý Mạch nguồn LM 2596 …………………………………… 29 Hình 28 Màn hình LCD 16.2 sơ đồ chân LCD ……………………………… 30 YHình Mơ hình trạm giám sát hành trình xe buýt RFID thực tế ……………….33Y Hình Sơ đồ khối mơ hình ……………………………………………………………34 Hình Mạch nguồn ………………………………………………………………… 35 Hình Khối xử lí …………………………………………………………………… 35 Hình 4 Khối nhận dạng ……………………………………………………………… 36 Hình Khối truyền dẫn ……………………………………………………………….36 Hình Khối hiển thị ………………………………………………………………… 37 Hình Bản vẽ 3D mơ hình …… …………………………………………………… 37 Hình Mơ hình hệ thống giám sát hành trình sau hồn thành ……………………38 Hình Sơ đồ bước nhận dạng …………………………………………………….39 Hình 10 Sơ đồ thuật tốn giám sát hành trình tính tốn thời gian …………………40 Hình 11 Sơ đồ qua trình tương tác với người dùng dịch vụ SMS ………………41 Hình 12 Người dùng tương tác với hệ thống qua SMS ……………………………….41 DANH SÁCH CÁC BẢ Bảng 1: Bảng từ định danh ứng dụng ………………………………………….14 Bảng 2: Nối dây Module Sim 900A với Arduino Uno R3 ………………………21 Bảng Sơ đô nối chân LCD 16.2 với Arduino Uno R3 ……………………………… 31Y Bảng Bảng so sánh thời gian thực tế từ mơ hình thời gian ước tính ……….52 Bảng Biểu đồ so sánh thời gian thực tế từ mơ hình thời gian ước tính …….52 DANH SÁCH CÁC CHỮ VIẾT TẮT RFID : Radio Frequency Identification LCD : Liquid Crystal Display SPI : Sereal Peripheral Interface GPS : Global Positioning System CRC : Cyclic Redundancy Check EPC : Electronic Product Code GMS: Global Mobile System RS232: Recommended Standard 232 USB : Universal Serial Bus LAN : Local Area Network RTLS : Real Time Local System UHF : Ultra High Frequency PWM: Pulse Width Modulation AT : Attension ID : Identification Sau cho mơ hình xe bt 1, qua trạm phát với thời gian xe buýt cách xe buýt 18s xe buýt cách xe buýt 3s, lúc khảo sát thời gian hiển thị LCD trạm sau: -Tram I: Xe1 36s, Xe2 54s, Xe3 57s -Trạm II: Xe1 99s, Xe2 117s, Xe3 120s Lần thứ 10: Trước có mơ hình xe bt qua trạm phát thời gian hiển thị LCD là: -Tại trạm I: Xe1 0s, Xe2 0s, Xe3 0s -Tại trạm II: Xe1 0s, Xe2 0s, Xe3 0s 51 Sau cho mơ hình xe bt 1, qua trạm phát với thời gian xe buýt cách xe buýt 30s xe buýt cách xe buýt 12s, lúc khảo sát thời gian hiển thị LCD trạm sau: -Tram I: Xe1 6s, Xe2 36s, Xe3 48s -Trạm II: Xe1 66s, Xe2 96s, Xe3 108s Sau tiến hành khảo nghiệm với mơ hình thực tế Tơi lập bảng so sánh chênh lệch thời gian xe buýt di chuyển trạm I trạm II hiển thị lên LCD theo lý thuyết ( tự đặt theo tính tốn) theo hiển thị thực tế có mơ hình xe bt qua 52 Bảng số liệu so sánh thời gian xe buýt di chuyển trạm I trạm II hiển thị lên LCD lí thuyết thực tế: 10 Trung bình Thời gian ước tính 60 60 60 60 60 60 60 60 60 60 60 Thời gian thực tế từ mơ hình 60 62 62 61 62 60 63 60 63 60 61,3 Sai số (%) 3,33 3,33 1,66 3,33 5 2,16 Bảng Bảng so sánh thời gian thực tế từ mơ hình thời gian ước tính 70 60 50 40 lí thuyết Column1 30 20 10 lần lần lần lần lần lần lần lần lần lần 10 Bảng Biểu đồ so sánh thời gian thực tế từ mơ hình thời gian ước tính Nhận xét : Thời gian hiển thị thực tế so với theo lý thuyết có chênh lệch Nguyên nhân chế gửi,nhận tin nhắn modul sim với Các modul sim trạm I trạm II nhận tin nhắn từ trạm phát Arduino ngồi việc lấy tin nhắn từ modul sim phải xét xem nội dung tin nhắn tính tốn hiển thị tương ứng với xe giám sát Ngoài ra,việc truyền nhận modul sim phụ thuộc vào tốc độ đường truyền mạng điện thoại mà sim hòa mạng vào thời điểm gửi truyền tin 53 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI Trải qua trình nghiên cứu thực với hướng dẫn nhiệt tình giảng viên hướng dẫn Về đề tài đạt số kết sau: 5.1 Kết luận Đã hoàn thành đề tài “Hệ thống giám sát hành trình xe buýt RFID để cải thiện chất lượng dịch vụ ” trình bày bước thiết kế hệ thống điện tử có khả nhận diện xe bt hệ thống tính tốn thời gian xe buýt dự kiến đến trạm kế tiếp, đồng thời trả lời tin nhắn SMS thời gian tính tốn người dùng nhắn tin cú pháp đến Mơ hình hồn thiện đáp ứng yêu cầu đặt đề tài -Tìm hiểu modul sim 900A để truyền nhận tin nhắn SMS -Tìm hiểu modul RFID RC522 để nhận diện phát vật có gắn thẻ từ thụ động trường gần tần số 13,56MHz -Tìm hiểu LCD 16.2 dùng để hiển thị kí tự số cách trực quan úng dụng vi điều khiển -Tìm hiểu Arduino vi điều khiển thông dụng có nhiều ứng dụng điều khiển thiết bị hệ thống điện tử Về thực nghiệm hệ thống hoạt động tương đối xác, ổn định, dễ vận hành, bước đầu cho kết khả quan Với kết nêu phát triển rộng rãi mơ hình đến tuyến xe buýt hoạt động phạm vi hệ thống xe buýt tỉnh, thành phố cụ thể Góp phần vào việc giám sát,kiểm soát thời gian hoạt động xe buýt đơn vị quản lí người thường xuyên sử dụng dịch vụ công cộng chủ động xếp thời gian giúp họ thuận tiện di chuyển 5.2 Đề nghị hướng phát triển đề tài - Sử dụng thêm Encoder để nắm quãng đường xe buýt di chuyển biết quảng đường lại 54 - Có thể tích hợp liệu tất trạm tổng đài chung để người dùng dễ nhớ tra cứu đồng hóa liệu - Có thể tích hợp thêm hệ thống GPS để xác định xác vị trí xe buýt - Kết hợp thêm nhiều tuyến buýt mở rộng thành hệ thống xe buýt công cộng tỉnh thành phố 55 TÀI LIỆU THAM KHẢO Giáo trình : Lí thuyết Anten, GS.TSKH Phan Anh, NXB Khoa học Kĩ thuật 2007 Giáo trình : Cơng nghệ nhận dạng sóng vơ tuyến, Nguyễn Văn Hiệp, NXB Đại học Quốc gia TP Hồ Chí Minh Bài giảng : Cơng nghệ nhận dạng vô tuyến RFID, Th.S Nguyễn Văn Hiệp, Đại học Sư phạm Kỹ thuật TP Hồ Chí Minh Bài giảng : Kĩ thuật đo lường cảm biến, Th.S Trần Thị Kim Ngà, Đại học Nông Lâm TP Hồ Chí Minh Bài giảng : Cơ sở thiết kế hệ thống Cơ điện tử, Th.S Nguyễn Tấn Phúc, Đại học Nơng Lâm TP Hồ Chí Minh Cộng đồng Arduino Việt Nam : Http//www Arduino.vn Applications & Practice RFID, Online Magazine IEEE Vol.45 No.9 September 2007 Arduino RFID Library for MFRC522 : http//www github.com/miguelbalboa/rfid PHỤ LỤC Một số Code dùng đề tài: Code gửi tin nhắn SMS: #include #include #define SS_PIN 10 #define RST_PIN #include "SIM900.h" #include #include "sms.h" SMSGSM sms; RFID rfid(SS_PIN, RST_PIN); int numdata; boolean started=false; //trạng thái modul sim char smstext[160];// nội dung tin nhắn char number[20]; // số điện thoại format theo định dạng quốc tế unsigned int mathe[5]; // Mảng đọc mã card unsigned int i, j; int backup; void setup() { Serial.begin(9600); SPI.begin(); rfid.init(); Serial.println("Gui va nhan tin nhan"); if (gsm.begin(2400)){ Serial.println("\nstatus=READY"); started=true; } else Serial.println("\nstatus=IDLE"); if(started){ sms.SendSMS("+84988827217", "tram phat san sang"); :D } } void loop() //đổi lại số bạn { if (rfid.isCard()) { if (rfid.readCardSerial()) // Nếu có thẻ { for (i = 0; i < 5; i++) { mathe[i] = rfid.serNum[i]; //Lưu mã thẻ đọc vào mảng reading_card } } } if((mathe[1]==33)&&(backup!=33)) { sms.SendSMS("+841626579188", "a"); delay(20); sms.SendSMS("+841673219762", "a"); delay(20); } else if((mathe[1]==197)&&(backup!=197)) { sms.SendSMS("+841626579188", "b"); delay(20); sms.SendSMS("+841673219762", "b"); delay(20); } else if((mathe[1]==239)&&backup!=239) { sms.SendSMS("+841626579188", "c"); delay(20); sms.SendSMS("+841673219762", "c"); delay(20); } backup=mathe[1]; } Code định vị xe buýt : #include #include #define SS_PIN 10 #define RST_PIN #include "SIM900.h" #include #include "sms.h" SMSGSM sms; RFID rfid(SS_PIN, RST_PIN); int numdata; boolean started=false; //trạng thái modul sim char smstext[160];// nội dung tin nhắn char number[20]; // số điện thoại format theo định dạng quốc tế unsigned int mathe[5]; // Mảng đọc mã card unsigned int i, j; void setup() { Serial.begin(9600); SPI.begin(); rfid.init(); Serial.println("Gui va nhan tin nhan"); if (gsm.begin(2400)){ Serial.println("\nstatus=READY"); started=true; } else Serial.println("\nstatus=IDLE"); if(started){ sms.SendSMS("+84988827217", "modul sim san sang"); //đổi lại số bạn :D } } void loop() { if (rfid.isCard()) { if (rfid.readCardSerial()) // Nếu có thẻ { for (i = 0; i < 5; i++) { mathe[i] = rfid.serNum[i]; //Lưu mã thẻ đọc vào mảng reading_card } } } if (mathe[1] == 33) { sms.SendSMS("+84988827217", "co xe"); delay(1000); } mathe[1]=0; } Code thông báo thời gian xe modul sim: #include #include LiquidCrystal_I2C lcd(0x27,16,2); #include "SIM900.h" #include #include "sms.h" SMSGSM sms; boolean started=false; //tr?ng thái modul sim char smstext[160];// n?i dung tin nh?n char number[20]; // s? di?n tho?i format theo d?nh d?ng qu?c t? int i; int xe1; int xe2; int xe3; void setup() { Serial.begin(9600); Serial.println("Gui va nhan tin nhan"); if (gsm.begin(2400)){ Serial.println("\nstatus=READY"); started=true; } else Serial.println("\nstatus=IDLE"); if(started){ sms.SendSMS("+84988827217", "tram san sang"); //d?i l?i s? c?a b?n :D } lcd.init(); lcd.backlight(); } void loop(){ lcd.clear(); if(started){ char pos; //d?a ch? b? nh? sim (sim luu t?i da 40 sms nên max pos = 40) pos = sms.IsSMSPresent(SMS_UNREAD); // ki?m tra tin nh?n chua d?c b? nh? //hàm s? tr? v? giá tr? kho?ng t? 0-40 if((int)pos){//nêu có tin nh?n chua d?c if(sms.GetSMS(pos, number, smstext, 160)){ Serial.print("So dien tho?i: "); Serial.println(number); Serial.print("Noi dung tin nhan: "); Serial.println(smstext); if(strcmp(smstext,"a")==0){ xe1=120; } else if(strcmp(smstext,"b")==0){ xe2=120; } else if(strcmp(smstext,"c")==0){ xe3=120; } sms.DeleteSMS(byte(pos));//xóa sms v?a nh?n } } } lcd.setCursor(0,0); lcd.print("xe : "); lcd.print(xe1); delay(1000); lcd.setCursor(0,1); lcd.print("xe : "); lcd.print(xe2); delay(1000); lcd.clear(); lcd.setCursor(0,0); lcd.print("xe : "); lcd.print(xe3); delay(1000); if((xe1!=0)&&(xe2!=0)&&(xe3!=0)) { xe1=xe1-3; xe2=xe2-3; xe3=xe3-3; } else if((xe1==0)&&(xe2!=0)&&(xe3!=0)) { xe1=xe1-0; xe2=xe2-3; xe3=xe3-3; } else if((xe1!=0)&&(xe2==0)&&(xe3!=0)) { xe1=xe1-3; xe2=xe2-0; xe3=xe3-3; } else if((xe1!=0)&&(xe2!=0)&&(xe3==0)) { xe1=xe1-3; xe2=xe2-3; xe3=xe3-0; } else if((xe1==0)&&(xe2==0)&&(xe3!=0)) { xe1=xe1-0; xe2=xe2-0; xe3=xe3-3; } else if((xe1==0)&&(xe2!=0)&&(xe3==0)) { xe1=xe1-0; xe2=xe2-3; xe3=xe3-0; } else if((xe1!=0)&&(xe2==0)&&(xe3==0)) { xe1=xe1-3; xe2=xe2-0; xe3=xe3-0; } else if((xe1==0)&&(xe2==0)&&(xe3==0)) { xe1=xe1-0; xe2=xe2-0; xe3=xe3-0; } } Code check trạng thái sim: #include "SIM900.h" #include #include "sms.h" SMSGSM sms; int numdata; boolean started=false; //trạng thái modul sim char smstext[160];// nội dung tin nhắn char number[20]; // số điện thoại format theo định dạng quốc tế void setup(){ Serial.begin(9600); Serial.println("Gui va nhan tin nhan"); if (gsm.begin(2400)){ Serial.println("\nstatus=READY"); started=true; } else Serial.println("\nstatus=IDLE"); if(started){ sms.SendSMS("+84988827217", "modul sim san sang"); //đổi lại số bạn :D } } void loop() {} 10 ... suốt trình hồn thành luận văn TPHCM, ngày tháng 06 năm 2017 Sinh viên thực LÊ KHẢI ĐỊNH TÓM TẮT Đề tài nghiên cứu Hệ thống giám sát hành trình xe buýt RFID để nâng cao chất lượng dịch vụ thực...HỆ THỐNG GIÁM SÁT HÀNH TRÌNH XE BUÝT BẰNG RFID ĐỂ CẢI THIỆN CHẤT LƯỢNG DỊCH VỤ TÁC GIẢ LÊ KHẢI ĐỊNH Khóa luận tơt nghiệp đệ trình đáp ứng yêu cầu cấp Kỹ sư ngành... Sử dụng LCD 16.2 để hiển thị tín hiệu điều khiển từ vi điều khiển Arduino - Ứng dụng công nghệ RFID vào hệ thống để giám sát hành trình xe bt từ tính toán thời gian dự kiến xe buýt đến trạm đón

Ngày đăng: 21/09/2019, 10:38

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

  • TÓM TẮT

  • MỤC LỤC

  • DANH SÁCH CÁC

  • DANH SÁCH CÁC BẢ

  • DANH SÁCH CÁC CHỮ VIẾT TẮT

  • Chương 1

    • MỞ ĐẦU

      • 1.1 Đặt vấn đề

      • 1.2 Mục đích

  • Chương 2

    • TỔNG QUAN

      • 2.1 Một số khái niệm cơ bản trong hệ thống RFID

        • 2.1.1 Tag / thẻ

        • 2.1.2 Reader (Đầu đọc)

        • 2.1.3 Middleware ( phần mềm xử lí trung gian)

        • 2.1.4 Khoảng đọc

      • 2.2 Tổng quan về hệ thống nhận dạng tự động

        • 2.2.1 Các công nghệ nhận dạng tự động

          • 2.2.1.1 Khái niệm hệ thống RFID

          • 2.2.1.2 Phân loại hệ thống RFID

          • 2.2.1.3 ID của Tag/ thẻ ( Mã thẻ)

      • 2.3 Tổng quan về vi điều khiển Arduino

      • 2.4 Truyền thông nối tiếp tốc độ cao SPI

        • 2.4.1 Tổng quan về chuẩn truyền thông SPI

        • 2.4.2 Truyền dữ liệu qua truyền thông SPI

          • 2.4.2.1 Sơ đồ kết nối board Arduino với modul RFID qua cổng SPI

          • 2.4.2.2 Cấu trúc truyền dữ liệu theo chuẩn SPI

      • 2.5 Truyền tín hiệu không dây sử dụng cặp modul sim 900A

        • 2.5.1 Tổng quan về modul sim 900A

        • 2.5.2 Truyền nhận giữa hai modul sim

      • 2.6 Truyền tín hiệu không dây sử dụng cặp module thu phát RF của hệ thống RFID

        • 2.6.1 Tổng quan sóng RF

          • 2.6.1.1 Biên độ và bước sóng

          • 2.6.1.2. Bức xạ điện từ

          • 2.6.1.3. Pha

        • 2.6.2 Các phương thức điều chế sóng RF

          • 2.6.2.1 Điều biên

          • 2.6.2.2 Điều tần

          • 2.6.2.3 Điều pha

        • 2.6.3 Mã hóa dữ liệu

          • 2.6.3.1 Các phương pháp mã hoá dữ liệu

          • 2.6.3.2 Các dạng mã hóa phổ biến

        • 2.6.4 Hoạt động của sóng vô tuyến

      • 2.7 Modul RFID RC522

      • 2.8 Mạch giảm áp L2596

      • 2.9 Thiết bị hiển thị LCD 16.2

  • Chương 3

    • PHƯƠNG TIỆN VÀ PHƯƠNG PHÁP NGHIÊN CỨU

      • 3.1 Thời gian trí thực hiện đề tài.

      • 3.2 Đối tượng và các thiết bị nghiên cứu

        • 3.2.1 Đối tượng nghiên cứu

        • 3.2.2 Thiết bị nghiên cứu

      • 3.3 Phương pháp nghiên cứu

        • 3.3.1 Mô hình trạm giám sát hành trình xe buýt bằng công nghệ RFID thực tế

  • Chương 4

    • KẾT QUẢ VÀ THẢO LUẬN

      • 4.1 Thiết kế sơ đồ khối toàn bộ hệ thống

        • 4.4.1 Khối nguồn

        • .4.2 Khối xử lý

        • 4.4.3 Khối nhận dạng

        • 4.1.4 Khối truyền dẫn

        • 4.1.5 Khối hiển thị.

      • 4.2 Bản vẽ 3D mô hình giám sát hành trình xe buýt và cách bố trí các trạm xe buýt

      • 4.3 Khung mô hình hoàn chỉnh

      • 4.4 Truy vấn, xử lý số liệu, nhận dạng xe

      • 4.5 Thuật toán giám sát hành trình xe buýt và tính toán thời gian

      • 4.6 Giao tiếp với người dùng qua tin nhắn SMS

      • 4.7 Khảo nghiệm

  • Chương 5

    • KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI

      • 5.1 Kết luận.

      • 5.2 Đề nghị và hướng phát triển đề tài.

  • TÀI LIỆU THAM KHẢO

  • PHỤ LỤC

  • Một số Code dùng trong đề tài:

  • Code gửi tin nhắn SMS:

  • #include <SPI.h>

  • #include <RFID.h>

  • #define SS_PIN 10

  • #define RST_PIN 9

  • #include "SIM900.h"

  • #include <SoftwareSerial.h> 0

  • #include "sms.h"

  • SMSGSM sms;

  • RFID rfid(SS_PIN, RST_PIN);

  • int numdata;

  • boolean started=false; //trạng thái modul sim

  • char smstext[160];// nội dung tin nhắn

  • char number[20]; // số điện thoại format theo định dạng quốc tế

  • unsigned int mathe[5]; // Mảng đọc mã card

  • unsigned int i, j;

  • int backup;

  • void setup()

  • {

  • Serial.begin(9600);

  • SPI.begin();

  • rfid.init();

  • Serial.println("Gui va nhan tin nhan");

  • if (gsm.begin(2400)){

  • Serial.println("nstatus=READY");

  • started=true;

  • } else

  • Serial.println("nstatus=IDLE");

  • if(started){

  • sms.SendSMS("+84988827217", "tram phat san sang"); //đổi lại số của bạn nhé :D

  • }

  • }

  • void loop()

  • {

  • if (rfid.isCard()) {

  • if (rfid.readCardSerial()) // Nếu có thẻ

  • {

  • for (i = 0; i < 5; i++) {

  • mathe[i] = rfid.serNum[i]; //Lưu mã thẻ đọc được vào mảng reading_card

  • }

  • }

  • }

  • if((mathe[1]==33)&&(backup!=33))

  • {

  • sms.SendSMS("+841626579188", "a");

  • delay(20);

  • sms.SendSMS("+841673219762", "a");

  • delay(20);

  • }

  • else if((mathe[1]==197)&&(backup!=197))

  • {

  • sms.SendSMS("+841626579188", "b");

  • delay(20);

  • sms.SendSMS("+841673219762", "b");

  • delay(20);

  • }

  • else if((mathe[1]==239)&&backup!=239)

  • {

  • sms.SendSMS("+841626579188", "c");

  • delay(20);

  • sms.SendSMS("+841673219762", "c");

  • delay(20);

  • }

  • backup=mathe[1];

  • }

  • Code định vị xe buýt :

  • #include <SPI.h>

  • #include <RFID.h>

  • #define SS_PIN 10

  • #define RST_PIN 9

  • #include "SIM900.h"

  • #include <SoftwareSerial.h>

  • #include "sms.h"

  • SMSGSM sms;

  • RFID rfid(SS_PIN, RST_PIN);

  • int numdata;

  • boolean started=false; //trạng thái modul sim

  • char smstext[160];// nội dung tin nhắn

  • char number[20]; // số điện thoại format theo định dạng quốc tế

  • unsigned int mathe[5]; // Mảng đọc mã card

  • unsigned int i, j;

  • void setup()

  • {

  • Serial.begin(9600);

  • SPI.begin();

  • rfid.init();

  • Serial.println("Gui va nhan tin nhan");

  • if (gsm.begin(2400)){

  • Serial.println("nstatus=READY");

  • started=true;

  • } else

  • Serial.println("nstatus=IDLE");

  • if(started){

  • sms.SendSMS("+84988827217", "modul sim san sang"); //đổi lại số của bạn nhé :D

  • }

  • }

  • void loop()

  • {

  • if (rfid.isCard()) {

  • if (rfid.readCardSerial()) // Nếu có thẻ

  • {

  • for (i = 0; i < 5; i++) {

  • mathe[i] = rfid.serNum[i]; //Lưu mã thẻ đọc được vào mảng reading_card

  • }

  • }

  • }

  • if (mathe[1] == 33)

  • {

  • sms.SendSMS("+84988827217", "co xe");

  • delay(1000);

  • }

  • mathe[1]=0;

  • }

  • Code thông báo thời gian xe của modul sim:

  • #include <Wire.h>

  • #include <LiquidCrystal_I2C.h>

  • LiquidCrystal_I2C lcd(0x27,16,2);

  • #include "SIM900.h"

  • #include <SoftwareSerial.h>

  • #include "sms.h"

  • SMSGSM sms;

  • boolean started=false; //tr?ng thái modul sim

  • char smstext[160];// n?i dung tin nh?n

  • char number[20]; // s? di?n tho?i format theo d?nh d?ng qu?c t?

  • int i;

  • int xe1;

  • int xe2;

  • int xe3;

  • void setup()

  • {

  • Serial.begin(9600);

  • Serial.println("Gui va nhan tin nhan");

  • if (gsm.begin(2400)){

  • Serial.println("nstatus=READY");

  • started=true;

  • } else

  • Serial.println("nstatus=IDLE");

  • if(started){

  • sms.SendSMS("+84988827217", "tram 2 san sang"); //d?i l?i s? c?a b?n nhé :D

  • }

  • lcd.init();

  • lcd.backlight();

  • }

  • void loop(){

  • lcd.clear();

  • if(started){

  • char pos; //d?a ch? b? nh? sim (sim luu t?i da 40 sms nên max pos = 40)

  • pos = sms.IsSMSPresent(SMS_UNREAD); // ki?m tra tin nh?n chua d?c trong b? nh?

  • //hàm này s? tr? v? giá tr? trong kho?ng t? 0-40

  • if((int)pos){//nêu có tin nh?n chua d?c

  • if(sms.GetSMS(pos, number, smstext, 160)){

  • Serial.print("So dien tho?i: ");

  • Serial.println(number);

  • Serial.print("Noi dung tin nhan: ");

  • Serial.println(smstext);

  • if(strcmp(smstext,"a")==0){

  • xe1=120;

  • }

  • else if(strcmp(smstext,"b")==0){

  • xe2=120;

  • }

  • else if(strcmp(smstext,"c")==0){

  • xe3=120;

  • }

  • sms.DeleteSMS(byte(pos));//xóa sms v?a nh?n

  • }

  • }

  • }

  • lcd.setCursor(0,0);

  • lcd.print("xe 1 : ");

  • lcd.print(xe1);

  • delay(1000);

  • lcd.setCursor(0,1);

  • lcd.print("xe 2 : ");

  • lcd.print(xe2);

  • delay(1000);

  • lcd.clear();

  • lcd.setCursor(0,0);

  • lcd.print("xe 3 : ");

  • lcd.print(xe3);

  • delay(1000);

  • if((xe1!=0)&&(xe2!=0)&&(xe3!=0))

  • {

  • xe1=xe1-3;

  • xe2=xe2-3;

  • xe3=xe3-3;

  • }

  • else if((xe1==0)&&(xe2!=0)&&(xe3!=0))

  • {

  • xe1=xe1-0;

  • xe2=xe2-3;

  • xe3=xe3-3;

  • }

  • else if((xe1!=0)&&(xe2==0)&&(xe3!=0))

  • {

  • xe1=xe1-3;

  • xe2=xe2-0;

  • xe3=xe3-3;

  • }

  • else if((xe1!=0)&&(xe2!=0)&&(xe3==0))

  • {

  • xe1=xe1-3;

  • xe2=xe2-3;

  • xe3=xe3-0;

  • }

  • else if((xe1==0)&&(xe2==0)&&(xe3!=0))

  • {

  • xe1=xe1-0;

  • xe2=xe2-0;

  • xe3=xe3-3;

  • }

  • else if((xe1==0)&&(xe2!=0)&&(xe3==0))

  • {

  • xe1=xe1-0;

  • xe2=xe2-3;

  • xe3=xe3-0;

  • }

  • else if((xe1!=0)&&(xe2==0)&&(xe3==0))

  • {

  • xe1=xe1-3;

  • xe2=xe2-0;

  • xe3=xe3-0;

  • }

  • else if((xe1==0)&&(xe2==0)&&(xe3==0))

  • {

  • xe1=xe1-0;

  • xe2=xe2-0;

  • xe3=xe3-0;

  • }

  • }

  • Code check trạng thái sim:

  • #include "SIM900.h"

  • #include <SoftwareSerial.h>

  • #include "sms.h"

  • SMSGSM sms;

  • int numdata;

  • boolean started=false; //trạng thái modul sim

  • char smstext[160];// nội dung tin nhắn

  • char number[20]; // số điện thoại format theo định dạng quốc tế

  • void setup(){

  • Serial.begin(9600);

  • Serial.println("Gui va nhan tin nhan");

  • if (gsm.begin(2400)){

  • Serial.println("nstatus=READY");

  • started=true;

  • } else

  • Serial.println("nstatus=IDLE");

  • if(started){

  • sms.SendSMS("+84988827217", "modul sim san sang"); //đổi lại số của bạn nhé :D

  • }

  • }

  • void loop() {}

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

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

Tài liệu liên quan