잘 잃어버리기 때문에 인공위성 "미치비키"를 사용하여 현재지를 쉽게 취득해 보았다 ①

소개



여러분 IoT 생활을 즐기십니까?
RHEMS 기술연구 아라키입니다

이번에는 일가에 한 대 필요하다고 하는 아두이노와 누구나 활용할 수 있는 인공위성 미치비키를 사용하여 현재 위치를 취득하여 자신이 어디를 몇시에 통과했는지 확인할 수 있도록 합니다.

꿈이 있습니다! !

1회째가 되는 이번은, Arduino·GY-NEO6MV의 접속 방법, 사용 방법을 설명합니다

사용한 장비



· Arduino UNO
· ESP-WROOM-02 개발 보드
・GY-NEO6MV2(미치비키와 교신하는 녀석)

대략은 이것뿐입니다!

세츠메이



GY-NEO6MV2 설명

전원을 입력하고 GND에 연결하면
이것만으로 미치비키와 교신해 현재지와 UTC(협정 세계시)를 취득할 수 있습니다

그리고는 TX·RX를 소정의 핀에 가리키는 것만으로 Arduino로 현재지등을 확인할 수 있습니다

연결하면 이런 느낌



간단하네요!

확인하는 코드는 이쪽
#include <SoftwareSerial.h>

SoftwareSerial serialConsole(10, 11); // RX=10ピン, TX=11ピン

//電源入力時に一度だけ読まれる部分
void setup() {
  //シリアルコンソールを準備
  Serial.begin(57600);
  while (!Serial) {
    ;
  }
  Serial.println("GPS Console Complete!");

  serialConsole.begin(9600);
  serialConsole.println("Hello World!");
}

//メイン部分
void loop() {
  //なんらかの値が読み取れればそれを読む
  if (serialConsole.available()) {
    Serial.write(serialConsole.read());
  }
  //読み込んだのをシリアルコンソールに表示する
  if (Serial.available()) {
    serialConsole.write(Serial.read());
  }
}

간단한 코드입니다.
그리고 얻을 수있는 데이터가 여기


모자이크가 걸려 있지만 읽으려고 읽을 수 없다는 것을 알 수 있습니다.
기합을 넣으면 읽고 이해할 수 있습니다만, 그런 일하고 싶지 않기 때문에 Arduino에 라이브러리를 준비합니다

이번 도입하는 라이브러리는 TinyGPS++
도입 방법은 다른 라이브러리와 동일
이것을 사용하면 어려움없이 읽을 수 있습니다.

Michibiki에서 보낸 데이터를 읽는 코드는 여기
#include <TinyGPS++.h>
#include <SoftwareSerial.h>

SoftwareSerial serialConsole(10, 11); //RX=10ピン, TX=11ピン
TinyGPSPlus gps;

void setup() {
  Serial.begin(57600);
  while (!Serial) {
    ;
  }
  Serial.println("GPS Console Complete!");

  serialConsole.begin(9600);
  serialConsole.println("Hello World!");
}

void loop(){
  while (serialConsole.available())
  {
    //入力されたデータを読めるように翻訳する
    gps.encode(serialConsole.read());
  }
  if (gps.location.isUpdated())
  {
    //緯度を表示
    Serial.print("LAT:");  Serial.println(gps.location.lat(), 6);

    //経度を表示
    Serial.print("LNG:"); Serial.println(gps.location.lng(), 6);

    //時間を表示(UTCで取得されるので+9時間して日本の時間に)
    Serial.print("HOUR:");  Serial.println(gps.time.hour() + 9);

    //分を表示
    Serial.print("MINUTS:");  Serial.println(gps.time.minute());

    //秒を表示
    Serial.print("SECOND:");  Serial.println(gps.time.second());

    Serial.println("");
  }
}

취득→번역한 것이 이쪽



이제 읽을 수 있습니다.
현시각도 확실히 취득하고 있습니다

결론



어땠어?
단지 4핀 가리키는 것만으로 간단하게 현재지를 취득할 수 있는 날이 온다고 생각해도 없었지요?
그러나 위도와 경도가 좌표로 얻어지고 있기 때문에 확실히 보면 어디에 있는지 모릅니다.
그러므로 다음번에는 취득한 데이터를 API에 던지고 다음에 그 데이터를 어떤 Map에 플롯합니다.
현재 성의 개발 중이므로 갱신이 지연 될 것으로 생각되지만 죄송합니다.
② 공개했습니다! 꼭 봐 주세요!
htps : // 코 m / 아키 진 / ms / 00 아 775 f6f1 아 9931f1d

그럼 좋은 IoT 라이프를! !

좋은 웹페이지 즐겨찾기