- Làm thế nào nó hoạt động:
- Các thành phần bắt buộc:
- Giải thích mạch:
- GPS Độ từ phút đến độ thập phân so sánh tọa độ:
- Giải thích lập trình:
Hệ thống theo dõi xe ngày nay trở nên rất quan trọng, đặc biệt là trong trường hợp xe bị đánh cắp. Nếu bạn đã cài đặt hệ thống GPS trong xe của mình, bạn có thể theo dõi Vị trí Xe của mình và hệ thống này giúp cảnh sát theo dõi Xe bị đánh cắp. Trước đây, chúng tôi đã xây dựng dự án tương tự, trong đó tọa độ Vị trí của Xe được gửi trên Điện thoại Di động, hãy kiểm tra tại đây 'Theo dõi xe dựa trên Arduino sử dụng GPS và GSM.
Tại đây, chúng tôi đang xây dựng phiên bản nâng cao hơn của Hệ thống theo dõi phương tiện để bạn có thể Theo dõi phương tiện của mình trên Google Maps. Trong dự án này, chúng tôi sẽ gửi tọa độ vị trí đến Máy chủ cục bộ và bạn chỉ cần mở 'trang web' trên máy tính hoặc điện thoại di động của mình, nơi bạn sẽ tìm thấy Liên kết tới Google Maps với Tọa độ vị trí xe của bạn. Khi bạn nhấp vào liên kết đó, nó sẽ đưa bạn đến Google Maps, hiển thị vị trí phương tiện của bạn. Trong Hệ thống theo dõi phương tiện sử dụng Google Maps này, Mô-đun GPS được sử dụng để nhận Tọa độ vị trí, mô-đun Wi-Fi để giữ dữ liệu gửi đến máy tính hoặc thiết bị di động qua Wi-Fi và Arduino được sử dụng để làm cho GPS và Wi-Fi nói chuyện với nhau.
Làm thế nào nó hoạt động:
Để theo dõi xe, chúng ta cần tìm Tọa độ của Xe bằng cách sử dụng mô-đun GPS. Mô-đun GPS liên lạc liên tục với vệ tinh để lấy tọa độ. Sau đó, chúng tôi cần gửi các tọa độ này từ GPS đến Arduino của chúng tôi bằng cách sử dụng UART. Và sau đó Arduino trích xuất dữ liệu cần thiết từ dữ liệu nhận được bằng GPS.
Trước đó, Arduino gửi lệnh đến Mô-đun Wi-Fi ESP8266 để định cấu hình & kết nối với bộ định tuyến và lấy địa chỉ IP. Sau đó, Arduino khởi tạo GPS để lấy tọa độ và màn hình LCD hiển thị thông báo 'Làm mới trang'. Điều đó có nghĩa là người dùng cần làm mới trang web. Khi người dùng làm mới trang web, Arduino sẽ lấy tọa độ GPS và gửi tọa độ GPS tương tự đến trang web (máy chủ cục bộ) qua Wi-Fi, với một số thông tin bổ sung và liên kết bản đồ Google trong đó. Bây giờ bằng cách nhấp vào liên kết này, người dùng chuyển hướng đến Google Maps với tọa độ và sau đó họ sẽ nhận được Vị trí Hiện tại của Xe tại Vị trí màu đỏ trên Google Maps. Toàn bộ quá trình được hiển thị đúng trong Video ở cuối.
Các thành phần bắt buộc:
- Arduino UNO
- Mô-đun Wi-Fi ESP8266
- Mô-đun GPS
- Cáp USB
- Kết nối dây
- Máy tính xách tay
- Nguồn cấp
- LCD 16x2
- Bảng bánh mì
- Thiết bị dẫn wifi
Giải thích mạch:
Mạch cho dự án 'Theo dõi phương tiện sử dụng Google Maps' này rất đơn giản và chúng tôi chủ yếu cần một Arduino UNO, Mô-đun GPS và mô-đun Wi-Fi ESP8266. Có một màn hình LCD 16x2 được kết nối tùy chọn để hiển thị trạng thái. LCD này được kết nối tại 14-19 (A0-A5) Pins của Arduino.
Ở đây chân Tx của mô-đun GPS được kết nối trực tiếp với chân số 10 của Arduino. Bằng cách sử dụng Thư viện nối tiếp phần mềm tại đây, chúng tôi đã cho phép giao tiếp nối tiếp trên chân 10 và 11, đồng thời đặt chúng lần lượt là Rx và Tx và để mở chân Rx của Mô-đun GPS. Theo mặc định, Chân 0 và 1 của Arduino được sử dụng để giao tiếp nối tiếp nhưng bằng cách sử dụng thư viện SoftwareSerial, chúng tôi có thể cho phép giao tiếp nối tiếp trên các chân kỹ thuật số khác của Arduino. Bộ chuyển đổi 12 Volt được sử dụng để cấp nguồn cho Mô-đun GPS. Đi qua đây để tìm hiểu "Cách sử dụng GPS với Arduino" và lấy tọa độ.
Các chân Vcc và GND của mô-đun Wi-Fi ESP8266 được kết nối trực tiếp với 3.3V và GND của Arduino và CH_PD cũng được kết nối với 3.3V. Các chân Tx và Rx của ESP8266 được kết nối trực tiếp với chân 2 và 3 của Arduino. Thư viện nối tiếp phần mềm cũng được sử dụng ở đây để cho phép giao tiếp nối tiếp trên chân 2 và 3 của Arduino. Chúng tôi đã trình bày chi tiết về Giao diện của mô-đun Wi-Fi ESP8266 với Arduino, vui lòng xem qua “Cách gửi dữ liệu từ Arduino tới trang web bằng WiFi” trước khi thực hiện dự án này. Dưới đây là hình ảnh của ESP8266:
ESP8266 có hai đèn LED, một đèn màu Đỏ để chỉ nguồn và đèn LED thứ hai là màu Xanh lam là đèn LED Truyền dữ liệu. Đèn LED màu xanh lam nhấp nháy khi ESP gửi một số dữ liệu qua chân Tx của nó. Ngoài ra, không kết nối ESP với nguồn điện +5 volt nếu không thiết bị của bạn có thể bị hỏng. Ở đây trong dự án này, chúng tôi đã chọn tốc độ truyền 9600 cho tất cả các giao tiếp UART.
Người dùng cũng có thể thấy giao tiếp giữa mô-đun Wi-Fi ESP8266 và Arduino, trên Serial Monitor, ở tốc độ truyền 9600:
Đồng thời kiểm tra Video ở cuối dự án này, để biết quy trình làm việc chi tiết.
GPS Độ từ phút đến độ thập phân so sánh tọa độ:
Mô-đun GPS nhận tọa độ từ vệ tinh ở định dạng Độ phút (ddmm.mmmm) và ở đây chúng tôi cần định dạng Độ thập phân để tìm kiếm vị trí trên Google Maps. Vì vậy, trước tiên chúng ta cần chuyển đổi tọa độ từ Định dạng Độ phút sang Định dạng Độ thập phân bằng cách sử dụng công thức đã cho.
Giả sử 2856.3465 (ddmm.mmmm) là Vĩ độ mà chúng tôi nhận được từ Mô-đun GPS. Bây giờ hai số đầu tiên là Độ và còn lại là Phút.
Vì vậy, 28 là độ và 56,3465 là phút.
Bây giờ ở đây, không cần chuyển đổi phần Độ (28), mà chỉ cần chuyển đổi phần Phút thành Độ thập phân bằng cách chia 60:
Tọa độ độ thập phân = Độ + Phút / 60
Tọa độ độ thập phân = 28 + 56,3465/60
Tọa độ độ thập phân = 28 + 0,94
Tọa độ độ thập phân = 28,94
Quá trình tương tự sẽ được thực hiện cho Dữ liệu Kinh độ. Chúng tôi đã chuyển đổi tọa độ từ Độ phút sang Độ thập phân bằng cách sử dụng các công thức trên trong Arduino Sketch:
float minut = lat_minut.toFloat (); minut = minut / 60; float Deg = lat_degree.toFloat (); vĩ độ = độ + phút; minut = long_minut.toFloat (); minut = minut / 60; độ = long_degree.toFloat (); logitude = độ + minut;
Giải thích lập trình:
Trong đoạn mã này, chúng tôi đã sử dụng thư viện SerialSoftware để giao diện ESP8266 và mô-đun GPS với Arduino. Sau đó, chúng tôi đã xác định các chân khác nhau cho cả hai và khởi tạo UART với tốc độ truyền 9600. Cũng bao gồm Thư viện LiquidCrystal cho màn hình LCD giao diện với Arduino.
#include
Sau đó, chúng ta cần xác định hoặc khai báo biến và chuỗi cho các mục đích khác nhau.
Chuỗi trang web = ""; int i = 0, k = 0; int gps_status = 0; Tên chuỗi = "
1. Tên: Tên của bạn
"; // 22 Chuỗi dob ="2. DOB: 12 feb 1993
"; // 21 Chuỗi số ="4. Số xe: RJ05 XY 4201
"; // 29 Chuỗi cordinat ="Tọa độ:
"; // 17 String latitude =" "; String logitude =" "; String gpsString =" "; char * test =" $ GPGGA ";Sau đó, chúng tôi đã tạo một số chức năng cho các mục đích khác nhau như:
Chức năng lấy dữ liệu GPS với tọa độ:
void gpsEvent () {gpsString = ""; while (1) {while (gps.available ()> 0) {char inChar = (char) gps.read (); gpsString + = inChar; if (i <7) {if (gpsString! = test) {i = 0;……………….
Chức năng trích xuất dữ liệu từ chuỗi GPS và chuyển đổi dữ liệu đó sang định dạng độ thập phân từ định dạng phút thập phân, như đã giải thích.
void toạ độ2dec () {Chuỗi lat_degree = ""; for (i = 18; i <20; i ++) lat_degree + = gpsString; Chuỗi lat_minut = ""; for (i = 20; i <28; i ++) lat_minut + = gpsString;……………….
Chức năng gửi lệnh tới ESP8266 để cấu hình và kết nối nó với WIFI.
void connect_wifi (Chuỗi cmd, int t) {int temp = 0, i = 0; while (1) {Serial.println (cmd); Serial1.println (cmd); while (Serial1.available ()> 0)……………….
Hàm void show_coosystem () để hiển thị tọa độ trên LCD và Màn hình nối tiếp và hàm void get_ip () để lấy địa chỉ IP.
Hàm Void Send () để tạo một chuỗi thông tin sẽ được gửi đến trang web bằng cách sử dụng ESP8266 và hàm void sendwebdata () để gửi chuỗi thông tin đến trang web bằng UART.
Trong chức năng vòng lặp void Arduino liên tục chờ trang web biểu mẫu yêu cầu (Trang web làm mới).
void loop () {k = 0; Serial.println ("Vui lòng Làm mới Trang Ur"); lcd.setCursor (0,0); lcd.print ("Vui lòng Làm mới"); lcd.setCursor (0,1); lcd.print ("Trang Web của Bạn.."); trong khi (k <1000)………………..
Kiểm tra mã đầy đủ bên dưới.