obniz와 GPS 수신기를 사용하여 스파이 상품을 만들려고했을 때 정확도가 너무 나빴다 (실패)

9860 단어 nmeaobnizGPS
obniz를 샀다.
obniz은 소형 IoT 기기로 브라우저에서 JavaScript로 프로그래밍하고 실행할 수 있는 가젯입니다.
Arduino의 OverTheAir를 초기 표준 장비하고있는 것 같네요, 소형 디스플레이와 작은 컨트롤러도 붙어 있기 때문에, 그 하나로 게임도 할 수 있습니다.
이번에 샀던 목적은 이 기사을 보고, 네트워크에 연결되어 있는 한 정기적으로 위치 정보를 전송하는 이케나이 상품을 만들 수 있을까라고 생각했기 때문입니다만, 그다지 잘 가지 않았기 때문에 실패담으로서 실어 둡니다 .
사용한 GPS 수신기는 아키즈키 전자의 이쪽입니다.
GPS 수신기 키트 1PPS 출력 첨부 「미치비키」3기 수신 대응

📡 실제로 받으세요



프로그램은, 방금 링크한 기사에 원래 써 있기 때문에 적은 겨우만의 물건입니다.
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
  <script src="https://unpkg.com/[email protected]/obniz.js" crossorigin="anonymous"></script>
</head>
<body>

<div id="obniz-debug"></div>
<textarea id="text" style="width:100%;font-size:13px;"></textarea>
<button id="clear">Clear</button>
<button id="stop">Stop</button>


<h2 id="founds"></h2>

<script>
var obniz = new Obniz("OBNIZ_ID_HERE");
obniz.onconnect = async () => {
  obniz.io0.output(1);
  obniz.io1.output(0);
  const uart = obniz.getFreeUart();
  uart.start({tx: 2, rx: 3, baud:9600, drive:"3v"});

  var satellites = {};

  uart.onreceive = function(data, text) {
    $("#text").text($("#text").text() + text);
  }

  $("#clear").click(function(){
     $("#text").text("")
  })
  $("#stop").click(function(){
     uart.end();
  })
}


</script>
</body>
</html>

이것으로 수신한 결과가 이쪽입니다.

매우 보기 어렵습니다. 모든 데이터를 nmea.txt 를 만들어 거기에 흘려 넣어 grep GPGGA 에서 필요한 정보만 빼냅니다.
$GPGGA,042946.407,4300.3077,N,14422.1578,E,1,6,3.30,36.4,M,27.8,M,,*66
$GPGGA,042946.555,4300.3097,N,14422.1544,E,1,8,1.70,30.1,M,27.8,M,,*6A
$GPGGA,042948.000,4300.3100,N,14422.1512,E,1,8,1.70,24.3,M,27.8,M,,*6A
$GPGGA,042949.000,4300.3105,N,14422.1496,E,1,8,1.70,21.9,M,27.8,M,,*6C
$GPGGA,042950.000,4300.3127,N,14422.1475,E,1,8,1.70,19.8,M,27.8,M,,*63
$GPGGA,042951.000,4300.3130,N,14422.1474,E,1,8,1.70,23.1,M,27.8,M,,*65
$GPGGA,042952.000,4300.3128,N,14422.1479,E,1,8,1.70,24.0,M,27.8,M,,*64
$GPGGA,042953.000,4300.3123,N,14422.1477,E,1,8,1.70,24.6,M,27.8,M,,*66
$GPGGA,042954.000,4300.3101,N,14422.1502,E,1,7,1.84,30.4,M,27.8,M,,*61
$GPGGA,042955.000,4300.3118,N,14422.1500,E,1,8,1.70,27.6,M,27.8,M,,*6A
$GPGGA,042956.000,4300.3122,N,14422.1497,E,1,8,1.70,26.4,M,27.8,M,,*6C
$GPGGA,042957.000,4300.3137,N,14422.1487,E,1,8,1.70,21.9,M,27.8,M,,*62
$GPGGA,042958.000,4300.3133,N,14422.1488,E,1,8,1.70,23.0,M,27.8,M,,*6D
$GPGGA,042959.000,4300.3130,N,14422.1496,E,1,8,1.70,26.1,M,27.8,M,,*64
$GPGGA,043000.000,4300.3145,N,14422.1474,E,1,8,1.70,23.7,M,27.8,M,,*6D
$GPGGA,043001.000,4300.3133,N,14422.1474,E,1,8,1.70,21.7,M,27.8,M,,*6F
$GPGGA,043002.000,4300.3149,N,14422.1479,E,1,8,1.70,23.3,M,27.8,M,,*6A
$GPGGA,043003.000,4300.3144,N,14422.1475,E,1,8,1.70,23.7,M,27.8,M,,*6E
$GPGGA,043004.000,4300.3133,N,14422.1486,E,1,8,1.70,26.8,M,27.8,M,,*6F
$GPGGA,043005.000,4300.3146,N,14422.1459,E,1,8,1.70,21.0,M,27.8,M,,*61
$GPGGA,043006.000,4300.3134,N,14422.1480,E,1,8,1.70,25.6,M,27.8,M,,*61
$GPGGA,043007.000,4300.3125,N,14422.1490,E,1,8,1.70,26.0,M,27.8,M,,*64
$GPGGA,043008.000,4300.3135,N,14422.1472,E,1,8,1.70,21.3,M,27.8,M,,*62
$GPGGA,043009.000,4300.3121,N,14422.1496,E,1,8,1.70,27.4,M,27.8,M,,*6D
$GPGGA,043010.000,4300.3135,N,14422.1467,E,1,8,1.70,21.7,M,27.8,M,,*6B
$GPGGA,043011.000,4300.3135,N,14422.1470,E,1,8,1.70,22.9,M,27.8,M,,*61
$GPGGA,043012.000,4300.3131,N,14422.1467,E,1,8,1.70,20.9,M,27.8,M,,*62
$GPGGA,043013.000,4300.3129,N,14422.1463,E,1,8,1.70,20.6,M,27.8,M,,*61

여기서 NMEA 형식을 간단히 설명해 봅시다.
간단하기 때문에, 자세한 것은 여기(일본어) 인가 여기(영어) , 그것인가 Wikipedia 를 봐 주세요.
먼저 이 한 줄을 문장이라고 하며 $마크로 시작합니다.
쉼표로 구분되어 처음 5자는 토커(2자)와 메시지(3자)로 구성됩니다.
이번에 GPGGA만 취득한 것이 위치 정보나 취득한 위성 등의 기본 정보를 볼 수 있는 것이 GGA 메시지였기 때문입니다.
메시지의 다음은 UTC 타임, 위도, 북위 남위, 경도, 동경 서경, 측위 상태, 포착수, 그 외 표고나 기지국 번호 등, 마지막으로 체크섬이라고 하는 형식이 되고 있습니다.

이것을 보고 아는 것은, 04시 29분 46초(UTC)로부터 04시 30분 13초의 사이에 걸쳐서 데이터를 취득하고 있었다는 것을 알 수 있습니다.
위치 정보로는 북위 43°00.3077 동경 144° 22.1578에서 북위 43° 00.3129 동경 144° 22.1463 근처를 우로쵸로하고 있는 것도 알 수 있습니다.

덧붙여서 본래 취해 주었으면 하는 위치는 당사 사무실이 있는 북위 43°00.5115 동경 144°36.9004입니다.
응~~ 미묘하게 어긋나 있다!

옥외에서도 수신해 보았습니다만, 별로 결과는 바뀌지 않았습니다.
아쉬운 곳까지는 오고 있으므로 수신기를 조금 이지하거나 하면 어떻게든 좋아질지도 모르기 때문에, 또 추기가 있으면 이쪽에 써 갑니다.

좋은 웹페이지 즐겨찾기