Mục lục:
- Bước 1: Kết nối
- Bước 2: Phần mềm trên PC
- Bước 3: Phần mềm cơ sở Giới thiệu về ESP32
- Bước 4: Xử lý thông tin
- Bước 5: Hãy thử
Video: Tự làm GPS Tracker --- Ứng dụng Python: 5 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Tôi đã tham gia một sự kiện đạp xe hai tuần trước. Sau khi hoàn thành, tôi muốn kiểm tra lộ trình và tốc độ tôi đã đi tại thời điểm đó. Thật không may, nó đã không đạt được. Bây giờ tôi sử dụng ESP32 để tạo một thiết bị theo dõi GPS và tôi sẽ sử dụng nó để ghi lại lộ trình đạp xe của mình vào lần sau. Bộ theo dõi GPS có thể lưu thông tin vị trí và thời gian vào thẻ SD, thông tin này có thể được xử lý và vẽ biểu đồ khoảng cách và tốc độ bằng phần mềm PC.
Quân nhu:
Phần cứng:
- MakePython ESP32 (với Wrover)
- MakePython A9G
Bảng MakePython A9G là bảng mở rộng GPS / GPRS cho MakePython.
- Ắc quy
- Cáp micro USB
Phần mềm:
- Python 3
- uPyCraft_v1.1
Bước 1: Kết nối
Kết nối hai bảng theo các chân. Mô-đun có thể được cấp nguồn bằng pin hoặc cáp Micro USB.
Bước 2: Phần mềm trên PC
Python3:
- Bạn có thể tải xuống từ đây: Python3. Chọn phiên bản 3.8.5, tải xuống và cài đặt nó.
- Lựa chọn “Thêm Python 3.8 vào PATH” phải được kiểm tra trong quá trình cài đặt, như Hình 1.
- Nếu thư viện được sử dụng bởi chương trình chưa được cài đặt, chương trình sẽ nhắc khi nó đang chạy. Bạn có thể chạy lệnh sau trong cmd.exe để cài đặt các thư viện, như Hình 2.
pip install xxx // xxx là tên thư viện
pip gỡ cài đặt xxx // xxx là danh sách tên thư viện pip // in các thư viện đã cài đặt
Mã số:
- Bạn có thể lấy tệp python từ đây: Mã. Tệp python là “/Project_Gps-Trace-Analysis-master/Google_trace.py”.
- Vẽ một tuyến đường trên bản đồ.
def create_html_map ():
gmap = gmplot. GoogleMapPlotter (lat_list [0], lon_list [0], 16) gmap.plot (lat_list, lon_list) gmap.marker (lat_list [0], lon_list [0], color = 'blue') gmap.marker (lat_list [width - 1], lon_list [width - 1], color = 'red') gmap.draw ("./ map-trace.html")
Vẽ đồ thị tốc độ so với thời gian, quãng đường so với thời gian
plt.subplot (2, 1, 1)
plt.plot (time_list [0: -1], speed) plt.title ("Tốc độ trung bình:" + str (avg_speed)) # plt.xlabel ("Thời gian") plt.ylabel ("Tốc độ (m / s)") plt.subplot (2, 1, 2) plt.plot (time_list [0: -1], total_distance) plt.title ("Total Khoảng cách:" + str (round (total_distance [- 1], 2))) plt.xlabel ("Thời gian") plt.ylabel ("Khoảng cách (m)") plt.draw () plt.pause (0) vượt qua
Bước 3: Phần mềm cơ sở Giới thiệu về ESP32
uPyCraft_v1.1
- Bạn có thể tải xuống từ đây: uPyCraft.
- Kết nối bo mạch với PC bằng cáp USB. Mở uPyCraft_v1.1, chọn các công cụ:”Tool> board> esp32” và “Tools> port> com *”, nhấp vào nút được kết nối ở bên phải.
- Nếu kết nối không thành công, lời nhắc sẽ được hiển thị là “lỗi mở nối tiếp, vui lòng thử lại”. Bạn phải cập nhật chương trình cơ sở để hứa hẹn kết nối thành công. Liên kết tải xuống chương trình cơ sở là LINK. Mở “Tools> BurnFirmware”, thiết lập thông số như Hình 3 và nhấp vào OK.
-
Mở tệp Python và nhấp vào nút “DownloadAndRun” ở bên phải. Chương trình đã được tải xuống bảng, bạn có thể thấy nó trong menu “thiết bị” ở bên trái, như Hình 4.
Phần mềm cơ sở và Tải xuống
Bạn có thể lấy phần sụn từ đây: Phần vững.
Đặt kết nối với mô-đun thẻ SD trong tệp: “/Project_Gps-Trace-Analysis-master/workspace/test.py”
# SD init
spi = SPI (1, baudrate = 400000, polarity = 1, phase = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # Đảm bảo baudrate bên phải lcd. text ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # Tương thích với PCB vfs = os. VfsFat (sd) os.mount (vfs, "/ SD") random.seed (len (os.listdir ("/ SD"))) print ("SD OK") lcd.text ('SPI OK', 0, 16)
Đặt kết nối với mô-đun A9G trong tệp: “/Project_Gps-Trace-Analysis-master/workspace/test.py”
# A9G mở
A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # đặt pin thành low time.sleep (1) A9G_PWR_KEY = Pin (27, Pin. OUT) A9G_PWR_KEY.value (0) time.sleep (1) A9G_PWR_KEY.value (1) time.sleep (1) lcd.fill (0) lcd.text ('A9G mở', 0, 0)
Lệnh AT cho mô-đun A9G
AT + GPS = 1 # 1: Bật GPS, 0: Tắt GPS
AT + LOCATION = 2 #Nhận thông tin địa chỉ của GPS, miễn là GPS có thể nhìn thấy vệ tinh trước khi quay lại, nếu không nó sẽ trả về GPS KHÔNG SỬA ĐƯỢC NGAY TẠI + GPSRD = 0 # Báo cáo dừng
Kết nối bo mạch với PC bằng cáp USB và sử dụng uPyCraft để tải xuống tất cả các tệp trong thư mục “/ Project_Gps-Trace-Analysis-master / workspace”
Bước 4: Xử lý thông tin
- Sao chép tệp TXT bắt đầu bằng "dấu vết" trong thẻ SD vào thư mục “/ Project_Gps-Trace-Analysis-master”.
- Mở tệp Python bằng notepad và thay đổi mã.
# Tập tin mà bạn muốn phân tích
trace_file_name = "./trace4.txt"