ዝርዝር ሁኔታ:
ቪዲዮ: DIY GPS Tracker --- Python Application: 5 ደረጃዎች (ከስዕሎች ጋር)
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:29
ከሁለት ሳምንት በፊት በብስክሌት ውድድር ላይ ተሳትፌአለሁ። ከጨረስኩ በኋላ መንገዱን እና በዚያን ጊዜ የሄድኩበትን ፍጥነት መፈተሽ ፈለግሁ። እንደ አለመታደል ሆኖ አልተሳካም። አሁን የጂፒኤስ መከታተያ ለመሥራት ESP32 ን እጠቀማለሁ ፣ እና በሚቀጥለው ጊዜ የብስክሌት መንገዴን ለመመዝገብ እወስደዋለሁ። የጂፒኤስ መከታተያው የአካባቢውን እና የሰዓት መረጃን ወደ ኤስዲ ካርድ ሊያድን ይችላል ፣ እና ይህ መረጃ ሊሠራ እና ከፒሲ ሶፍትዌር ጋር የርቀት እና የፍጥነት ገበታ ሊሳል ይችላል።
አቅርቦቶች
ሃርድዌር
- MakePython ESP32 W with Wrover (
- MakePython A9G
MakePython A9G ቦርድ ለሜፒፒቶን ጂፒኤስ/ጂአርፒኤስ የማስፋፊያ ሰሌዳ ነው።
- ባትሪ
- የማይክሮ ዩኤስቢ ገመድ
ሶፍትዌር
- ፓይዘን 3
- uPyCraft_v1.1
ደረጃ 1: ግንኙነት
በፒንቹ መሠረት ሁለት ሰሌዳዎችን ያገናኙ። ሞጁሉ በባትሪ ወይም በማይክሮ ዩኤስቢ ገመድ ሊሠራ ይችላል።
ደረጃ 2 ሶፍትዌር በፒሲ ላይ
Python3:
- ከዚህ ማውረድ ይችላሉ Python3. 3.8.5 ስሪቱን ይምረጡ ፣ ያውርዱ እና ይጫኑት።
- እንደ ስዕል 1 በመጫን ሂደቱ ወቅት “ፓይዘን 3.8 ን ወደ PATH ያክሉ” ምርጫው መፈተሽ አለበት።
- በፕሮግራሙ ጥቅም ላይ የዋለው ቤተ -መጽሐፍት ካልተጫነ ፕሮግራሙ በሚሠራበት ጊዜ ይጠየቃል። እንደ ስእል 2 ቤተ -ፍርግሞችን ለመጫን የሚከተለውን ትዕዛዝ በ cmd.exe ውስጥ ማስኬድ ይችላሉ።
pip install xxx // xxx የቤተመጽሐፍት ስም ነው
pip ማራገፍ xxx // xxx የቤተመጽሐፍት ስም pip ዝርዝር // የተጫኑ ቤተ -መጻሕፍት ያትሙ
ኮድ ፦
- የፓይዘን ፋይልን ከዚህ ማግኘት ይችላሉ -ኮድ። የፓይዘን ፋይል “/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] ፣ ቀለም = ‘ሰማያዊ’) gmap.marker (lat_list [ስፋት - 1] ፣ lon_list [ስፋት - 1] ፣ ቀለም = 'ቀይ') gmap.draw ("./ map -trace.html")
የጊዜን ፣ የፍጥነትን እና የጊዜን ፍጥነቶች ግራፎችን ይሳሉ።
plt.subplot (2, 1, 1)
plt.plot (የጊዜ_ዝርዝር [0: -1] ፣ ፍጥነት) plt.title ("አማካይ ፍጥነት" + str (avg_speed)) # plt.xlabel ("ጊዜ") plt.ylabel ("ፍጥነት (ሜ/ሰ))") plt.subplot (2 ፣ 1 ፣ 2) plt.plot (የጊዜ_ዝርዝር [0: -1] ፣ አጠቃላይ_ዳስትነት) plt.title (“ጠቅላላ ርቀት” + str (ዙር (ጠቅላላ_ርቀት [- 1] ፣ 2))) plt.xlabel ("ጊዜ") plt.ylabel ("ርቀት (ሜ)") plt.draw () plt.pause (0) ማለፍ
ደረጃ 3 - ስለ ESP32 የጽኑ ትዕዛዝ
uPyCraft_v1.1
- ከዚህ ማውረድ ይችላሉ: uPyCraft.
- በዩኤስቢ ገመድ ሰሌዳውን ከፒሲው ጋር ያገናኙ። UPyCraft_v1.1 ን ይክፈቱ ፣ መሣሪያዎቹን ይምረጡ - መሣሪያ> ሰሌዳ> esp32”እና“መሳሪያዎች> ወደብ> com*”፣ በቀኝ በኩል የተገናኘውን ቁልፍ ጠቅ ያድርጉ።
- ግንኙነቱ ካልተሳካ ጥያቄው “ተከታታይ ስህተቱን ይክፈቱ ፣ እባክዎ እንደገና ይሞክሩ” ተብሎ ይታያል። ግንኙነቶችን በተሳካ ሁኔታ ቃል ለመግባት firmware ን ማዘመን አለብዎት። የጽኑዌር ማውረድ አገናኝ LINK ነው። “መሣሪያዎች> BurnFirmware” ን ይክፈቱ ፣ ግቤቱን እንደ ምስል 3 ያዘጋጁ እና እሺን ጠቅ ያድርጉ።
- የ Python ፋይልን ይክፈቱ እና በቀኝ በኩል ያለውን “አውርድAndRun” ቁልፍን ጠቅ ያድርጉ። ፕሮግራሙ ወደ ቦርዱ ወርዷል ፣ እንደ ስእል 4 በግራ በኩል ባለው “መሣሪያ” ምናሌ ውስጥ ሊያዩት ይችላሉ።
Firmware እና ያውርዱ
Firmware ን ከዚህ ማግኘት ይችላሉ - firmware።
በፋይሉ ውስጥ ከ ‹ኤስዲ ካርድ ሞዱል› ጋር ያለውን ግንኙነት ያዘጋጁ//Project_Gps-Trace-Analysis-master/workspace/test.py »።
# ኤስዲ init
spi = SPI (1 ፣ baudrate = 400000 ፣ polarity = 1 ፣ phase = 0 ፣ sck = Pin (14) ፣ mosi = Pin (13) ፣ miso = Pin (12)) spi.init () # ትክክለኛውን ባውዲድ ኤልሲዲ ያረጋግጡ። ጽሑፍ ('SPI እሺ' ፣ 0 ፣ 8) sd = sdcard. SDCard (spi ፣ Pin (32)) # ከ PCB vfs = os. VfsFat (sd) os.mount (vfs ፣ "/SD") random.seed ጋር ተኳሃኝ (ሌን (os.listdir ("/SD")))) ህትመት ("ኤስዲ እሺ") lcd.text ('SPI እሺ' ፣ 0 ፣ 16)
በፋይሉ ውስጥ ከ “A9G” ሞዱል ጋር ያለውን ግንኙነት ያዘጋጁ//Project_Gps-Trace-Analysis-master/workspace/test.py”።
# A9G ክፍት ነው
A9G_RESET_PIN = ፒን (33 ፣ ፒን). እሴት (1) ጊዜ። እንቅልፍ (1) lcd.fill (0) lcd.text ('A9G ክፍት' ፣ 0 ፣ 0)
ለ A9G ሞዱል በ AT ትእዛዝ።
AT+GPS = 1 # 1 ፦ ጂፒኤስን ያብሩ ፣ 0 ፦ ጂፒኤስን ያጥፉ
AT+LOCATION = 2 #ጂፒኤስ ከመመለሱ በፊት ሳተላይቱን እስኪያይ ድረስ የጂፒኤስ አድራሻ አድራሻ ያግኙ ፣ ያለበለዚያ ጂፒኤስ አሁን አይስተካከልም AT+GPSRD = 0 #ሪፖርት አቁም
በዩኤስቢ ገመድ ቦርዱን ከፒሲው ጋር ያገናኙ እና “/Project_Gps-Trace-Analysis-master/workspace” ውስጥ ሁሉንም ፋይሎች ለማውረድ uPyCraft ን ይጠቀሙ።
ደረጃ 4 መረጃን ማስኬድ
- በኤስዲ ካርድ ውስጥ በ “ዱካ” የሚጀምረውን TXT ፋይል ወደ አቃፊው “/Project_Gps-Trace-Analysis-master” ይቅዱ።
- የፓይዘን ፋይልን በማስታወሻ ደብተር ይክፈቱ እና ኮዱን ይለውጡ።
#እርስዎ የሚፈልጉትን ትንታኔ ፋይል ያድርጉ
trace_file_name = "./trace4.txt"