GPS tracker ・ GPS追踪
M5Stack Core2 に GPS モジュールを接続して現在位置を記録・追跡します。
この構成をエディタで開く・編集する →| 部品 | 役割 | ポート | リンク・価格 |
|---|---|---|---|
| M5Stack Core2 | Controller | grove_i2c, grove_analog, grove_uart, mbus | official page — $46.9 |
| Unit GPS v1.1 | GPS module | grove_uart | official page — $9.95 |
M5Stack Core2とGPSユニットで作る、位置情報ロガー/トラッカーです。GPSユニットが現在の緯度・経度・時刻を取得し、Core2の画面に表示します。データはシリアル通信でやり取りし、簡単なプログラムで動作します。
# M5Stack Core2 + Unit GPS v1.1 (GPS position logger)
# Wiring: GPS Unit -> Core2 blue Port.C (UART)
import time
from machine import UART, Pin
from m5stack import lcd
# Initialize UART on Port.C (TX=13, RX=14)
uart = UART(2, baudrate=9600, tx=13, rx=14)
# NMEA sentence buffer
line = b''
while True:
if uart.any():
line = uart.readline()
if line:
# Decode as ASCII and strip whitespace
try:
sentence = line.decode('ascii').strip()
except:
continue
# Look for $GPGGA sentence (contains position fix)
if sentence.startswith('$GPGGA'):
parts = sentence.split(',')
if len(parts) >= 10:
time_utc = parts[1]
lat = parts[2]
lat_dir = parts[3]
lon = parts[4]
lon_dir = parts[5]
fix_quality = parts[6]
num_sats = parts[7]
altitude = parts[9]
lcd.clear()
lcd.print('GPS Tracker', 10, 10)
lcd.print('Sats: ' + num_sats, 10, 40)
if fix_quality != '0':
lcd.print('Fix: OK', 10, 70)
lcd.print('Lat: ' + lat + ' ' + lat_dir, 10, 100)
lcd.print('Lon: ' + lon + ' ' + lon_dir, 10, 130)
lcd.print('Alt: ' + altitude + ' m', 10, 160)
lcd.print('UTC: ' + time_utc, 10, 190)
else:
lcd.print('No fix', 10, 70)
time.sleep(0.1)
この作り方はAIが構成から生成したものです(未検証)。通電前に配線とコードをご確認ください。
この構成はAIが実在するM5Stack部品から設計し、ポート互換をサーバで検証したものです。編集・共有できます。
エディタで開く →UnitKit は M5Stack® 製品向けの非公式ツール。作りたいものを書くと、部品リストと配線図が出ます。