Мазмуну:
- 1 -кадам: Туташуу
- 2 -кадам: ЖКдагы программалык камсыздоо
- 3 -кадам: ESP32 жөнүндө камтылган программа
- 4 -кадам: маалыматты иштетүү
Video: DIY GPS Tracker --- Python тиркемеси: 5 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Мен эки жума мурун веложарышка катышкам. Бүткөндөн кийин, мен маршрутту жана ошол кезде минген ылдамдыгымды текшергим келди. Тилекке каршы, ага жеткен жок. Азыр мен GPS трекерин жасоо үчүн ESP32 колдонуп жатам жана кийинки жолу велосипед каттамымды жаздырам. GPS трекери SD картасына жайгашкан жери жана убактысы боюнча маалыматты сактап кала алат жана бул маалыматты иштетүү жана PC программасы менен аралыктын жана ылдамдыктын диаграммасын чийүү мүмкүн.
Берилиштер:
Аппараттык:
- MakePython ESP32 (Wrover менен)
- MakePython A9G
MakePython A9G тактасы MakePython үчүн GPS/GPRS кеңейтүү тактасы.
- Батарея
- Микро USB кабели
Программалык камсыздоо:
- Python 3
- uPyCraft_v1.1
1 -кадам: Туташуу
Казыктарга ылайык эки тактаны туташтырыңыз. Модуль батарейка же Микро USB кабели менен иштесе болот.
2 -кадам: ЖКдагы программалык камсыздоо
Python3:
- Аны бул жерден жүктөп алсаңыз болот: Python3. 3.8.5 версиясын тандап, жүктөп алып, орнотуңуз.
- "Python 3.8ди PATHге кошуу" тандоо орнотуу процессинде текшерилиши керек, Figure 1.
- Программа колдонгон китепкана орнотулбаса, программа иштеп турганда кабар берет. Китепканаларды орнотуу үчүн cmd.exeде төмөнкү буйрукту иштетсеңиз болот, 2 -сүрөт.
pip install xxx // xxx - бул китепкананын аты
пипти алып салуу xxx // xxx - бул китепкананын аты пип тизмеси // орнотулган китепканаларды басып чыгаруу
Код:
- Сиз бул жерден python файлын ала аласыз: Code. Питон файлы "/Project_Gps-Trace-Analysis-master/Google_trace.py".
- Картага маршрут чийиңиз.
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 [туурасы - 1], lon_list [туурасы - 1], түс = 'кызыл') gmap.draw ("./ map -trace.html")
Убакытка жана ылдамдыкка, аралыкка жана убакытка графиктерди тартыңыз
plt.subplot (2, 1, 1)
plt.plot (time_list [0: -1], ылдамдык) plt.title ("Орточо ылдамдык:" + str (avg_speed)) # plt.xlabel ("Time") plt.ylabel ("Speed (m/s)")) plt.subplot (2, 1, 2) plt.plot (time_list [0: -1], total_distance) plt.title ("Total Distance:" + str (round (total_distance [- 1], 2))) plt.xlabel ("Time") plt.ylabel ("Distance (m)") plt.draw () plt.pause (0) pass
3 -кадам: ESP32 жөнүндө камтылган программа
uPyCraft_v1.1
- Аны бул жерден жүктөп алсаңыз болот: uPyCraft.
- Тактайды USB кабели менен ЖКга туташтырыңыз. UPyCraft_v1.1 ачыңыз, куралдарды тандаңыз: "Курал> такта> esp32" жана "Куралдар> порт> com*", оң жактагы туташкан баскычты басыңыз.
- Эгерде туташуу ийгиликтүү болбосо, "сериялык катаны ачыңыз, кайра аракет кылыңыз" деп көрсөтүлөт. Байланыштарды ийгиликтүү убада кылуу үчүн, сиз камтылган программаны жаңыртышыңыз керек. Камтылган программаны жүктөө шилтемеси LINK. "Куралдар> BurnFirmware" ачыңыз, параметрди 3 -сүрөт катары орнотуп, ОК басыңыз.
- Python файлын ачыңыз жана оң жактагы "DownloadAndRun" баскычын чыкылдатыңыз. Программа тактага жүктөлдү, аны сол жактагы "түзмөк" менюсунда көрө аласыз, Figure 4.
Камтылган программа жана Жүктөө
Сиз бул жерден микрофонду ала аласыз: Микробдор.
Файлда SD карта модулу менен байланышты орнотуңуз: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# SD демилгеси
spi = SPI (1, baudrate = 400000, полярдык = 1, фаза = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # Туура baudrate lcd камсыз кылуу. текст ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # PCB менен шайкеш vfs = os. VfsFat (sd) os.mount (vfs, "/SD") random.seed (len (os.listdir ("/SD")))) басып чыгаруу ("SD OK") lcd.text ('SPI OK', 0, 16)
Файлдагы A9G модулу менен байланышты орнотуңуз: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# A9G ачык
A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # кыска убакытка уйку (1) A9G_PWR_KEY = Pin (27, Pin. OUT) A9G_PWR_KEY.value (0) time.sleep (1) A9K_PW.мага (1) убакыт.уктоо (1) lcd.fill (0) lcd.text ('A9G ачык', 0, 0)
A9G модулу үчүн AT буйругу
AT+GPS = 1 # 1: GPSти күйгүзүү, 0: GPSти өчүрүү
AT+LOCATION = 2 #GPS спутнигин кайтып келүүдөн мурун көрүп турса, GPSтин дареги тууралуу маалымат алыңыз, антпесе ал азыр GPSти кайтарбайт+GPSRD = 0 #Репортажды токтотуңуз
Тактайды USB кабели менен ЖКга туташтырыңыз жана uPyCraft менен "/Project_Gps-Trace-Analysis-master/workpace" папкасындагы бардык файлдарды жүктөп алыңыз
4 -кадам: маалыматты иштетүү
- TXT файлын SD картадагы "из" менен башталган "/Project_Gps-Trace-Analysis-master" папкасына көчүрүңүз.
- Блокнот менен Python файлын ачыңыз жана кодду өзгөртүңүз.
#Файл, анализ керек
trace_file_name = "./trace4.txt"