Raspberry PI와 GPS를 사용하여 자신의 위치를 빨리 수집하는 방법
6507 단어 RaspberryPiGPS
소개
자신의 위치를 예측하는 방법에 대한 기사를 작성한 후 수집하는 방법에 대한 문의가 있었으므로 수집 방법에 대한 기사를 작성합니다.
데이터의 이용 예는 아래의 URL을 참조하십시오.
GPS로 얻은 위치 정보의 로그를 학습하고 몇 분 후에 자신이 어디에 있는지 예측
준비
OS 설치
아래 URL에서 OS 이미지 다운로드
RASPBIAN
다음 소프트웨어를 사용하여 microSD에 쓰기
Etcher
microSD를 라즈파이에 꽂아 전원을 투입하고 잠시 기다리면 로그인 화면이 나오므로 pi, raspberry를 입력하여 로그인.
GPS 관련 설정
초기 설정
설정 프로그램을 실행.
sudo raspi-config
"5 Interfacing Option"- "P6 Serial"을 선택하여 활성화.
프로그램 설치
다음 명령을 실행합니다.
sudo apt-get -y install gpsd gpsd-clients python-gps
시작 설정 변경
sudo nano /boot/cmdline.txt
'console=serial0,115200' 삭제
gpsd 설정 변경
sudo nano /etc/default/gpsd
다음 두 곳을 수정.
USBAUTO="false"
DEVICES="/dev/serial0"
설정 후, 이하의 커멘드를 실행.
sudo shutdown -h now
GPS 모듈 연결
아래 그림과 같이 연결.
접속 후, 전원을 투입.
동작 확인
다음 명령을 실행하여 데이터가 올바르게 수집되었는지 확인합니다.
gpsmon
데이터 수집
다음 스크립트로 취득한 위치 정보를 SQLite에 저장.
getGPS.py#!/usr/bin/env python
from gps import *
import sqlite3
from datetime import datetime, timedelta
if __name__ == '__main__':
dbname = "gpslog.db"
conn = sqlite3.connect(dbname)
c = conn.cursor()
session = gps()
session.stream(WATCH_ENABLE|WATCH_NEWSTYLE)
dt_buff = ""
for report in session:
if report['class'] == "TPV":
dt = datetime.strptime(report['time'].replace('T', ' ')[:19],'%Y-%m-%d %H:%M:%S')
dt = str(dt + timedelta(hours=9))
lon = report['lon']
lat = report['lat']
if dt != dt_buff:
sql = "INSERT INTO log VALUES('{}',{},{})".format(dt[:19], lon, lat)
c.execute(sql)
dt_buff = dt
time.sleep(1)
위의 스크립트는 다음 명령으로 실행됩니다.
chmod a+x getGPS.py
./getGPS.py
자동 시작
시작시 자동으로 실행되도록 설정.
sudo nano /etc/rc.local
이하의 일행을 「exit 0」의 앞에 추기.
/home/pi/getGPS.py &
이상.
Reference
이 문제에 관하여(Raspberry PI와 GPS를 사용하여 자신의 위치를 빨리 수집하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mix_dvd/items/7bf804010acb9081f682
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
초기 설정
설정 프로그램을 실행.
sudo raspi-config
"5 Interfacing Option"- "P6 Serial"을 선택하여 활성화.
프로그램 설치
다음 명령을 실행합니다.
sudo apt-get -y install gpsd gpsd-clients python-gps
시작 설정 변경
sudo nano /boot/cmdline.txt
'console=serial0,115200' 삭제
gpsd 설정 변경
sudo nano /etc/default/gpsd
다음 두 곳을 수정.
USBAUTO="false"
DEVICES="/dev/serial0"
설정 후, 이하의 커멘드를 실행.
sudo shutdown -h now
GPS 모듈 연결
아래 그림과 같이 연결.
접속 후, 전원을 투입.
동작 확인
다음 명령을 실행하여 데이터가 올바르게 수집되었는지 확인합니다.
gpsmon
데이터 수집
다음 스크립트로 취득한 위치 정보를 SQLite에 저장.
getGPS.py#!/usr/bin/env python
from gps import *
import sqlite3
from datetime import datetime, timedelta
if __name__ == '__main__':
dbname = "gpslog.db"
conn = sqlite3.connect(dbname)
c = conn.cursor()
session = gps()
session.stream(WATCH_ENABLE|WATCH_NEWSTYLE)
dt_buff = ""
for report in session:
if report['class'] == "TPV":
dt = datetime.strptime(report['time'].replace('T', ' ')[:19],'%Y-%m-%d %H:%M:%S')
dt = str(dt + timedelta(hours=9))
lon = report['lon']
lat = report['lat']
if dt != dt_buff:
sql = "INSERT INTO log VALUES('{}',{},{})".format(dt[:19], lon, lat)
c.execute(sql)
dt_buff = dt
time.sleep(1)
위의 스크립트는 다음 명령으로 실행됩니다.
chmod a+x getGPS.py
./getGPS.py
자동 시작
시작시 자동으로 실행되도록 설정.
sudo nano /etc/rc.local
이하의 일행을 「exit 0」의 앞에 추기.
/home/pi/getGPS.py &
이상.
Reference
이 문제에 관하여(Raspberry PI와 GPS를 사용하여 자신의 위치를 빨리 수집하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mix_dvd/items/7bf804010acb9081f682
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
다음 명령을 실행하여 데이터가 올바르게 수집되었는지 확인합니다.
gpsmon
데이터 수집
다음 스크립트로 취득한 위치 정보를 SQLite에 저장.
getGPS.py#!/usr/bin/env python
from gps import *
import sqlite3
from datetime import datetime, timedelta
if __name__ == '__main__':
dbname = "gpslog.db"
conn = sqlite3.connect(dbname)
c = conn.cursor()
session = gps()
session.stream(WATCH_ENABLE|WATCH_NEWSTYLE)
dt_buff = ""
for report in session:
if report['class'] == "TPV":
dt = datetime.strptime(report['time'].replace('T', ' ')[:19],'%Y-%m-%d %H:%M:%S')
dt = str(dt + timedelta(hours=9))
lon = report['lon']
lat = report['lat']
if dt != dt_buff:
sql = "INSERT INTO log VALUES('{}',{},{})".format(dt[:19], lon, lat)
c.execute(sql)
dt_buff = dt
time.sleep(1)
위의 스크립트는 다음 명령으로 실행됩니다.
chmod a+x getGPS.py
./getGPS.py
자동 시작
시작시 자동으로 실행되도록 설정.
sudo nano /etc/rc.local
이하의 일행을 「exit 0」의 앞에 추기.
/home/pi/getGPS.py &
이상.
Reference
이 문제에 관하여(Raspberry PI와 GPS를 사용하여 자신의 위치를 빨리 수집하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mix_dvd/items/7bf804010acb9081f682
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#!/usr/bin/env python
from gps import *
import sqlite3
from datetime import datetime, timedelta
if __name__ == '__main__':
dbname = "gpslog.db"
conn = sqlite3.connect(dbname)
c = conn.cursor()
session = gps()
session.stream(WATCH_ENABLE|WATCH_NEWSTYLE)
dt_buff = ""
for report in session:
if report['class'] == "TPV":
dt = datetime.strptime(report['time'].replace('T', ' ')[:19],'%Y-%m-%d %H:%M:%S')
dt = str(dt + timedelta(hours=9))
lon = report['lon']
lat = report['lat']
if dt != dt_buff:
sql = "INSERT INTO log VALUES('{}',{},{})".format(dt[:19], lon, lat)
c.execute(sql)
dt_buff = dt
time.sleep(1)
chmod a+x getGPS.py
./getGPS.py
시작시 자동으로 실행되도록 설정.
sudo nano /etc/rc.local
이하의 일행을 「exit 0」의 앞에 추기.
/home/pi/getGPS.py &
이상.
Reference
이 문제에 관하여(Raspberry PI와 GPS를 사용하여 자신의 위치를 빨리 수집하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mix_dvd/items/7bf804010acb9081f682텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)