Raspberry PI와 GPS를 사용하여 자신의 위치를 ​​빨리 수집하는 방법

6507 단어 RaspberryPiGPS

소개



자신의 위치를 ​​예측하는 방법에 대한 기사를 작성한 후 수집하는 방법에 대한 문의가 있었으므로 수집 방법에 대한 기사를 작성합니다.

데이터의 이용 예는 아래의 URL을 참조하십시오.

GPS로 얻은 위치 정보의 로그를 학습하고 몇 분 후에 자신이 어디에 있는지 예측

준비


  • Raspberry PI 3 모델 B
  • 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 &
    

    이상.

    좋은 웹페이지 즐겨찾기