WioLTE에서 Harvest의 위치 정보 데이터를 “쉽게” 시도해 보았습니다.

7934 단어 SORACOMHarvestWioLTE
안녕하세요, 솔라콤의 마츠이입니다.

어제 SORACOM Technology Camp 2018에서 발표 된 Harvest의 위치 데이터 기능을 사용해 보았습니다.
  • SORACOM Harvest가 위치 데이터를 지원했습니다.

  • GPS 모듈을 사용한 스케치는 나중에 공개될 예정입니다만, 어제 시험하려고 생각했을 때 GPS 모듈이 손에 들지 않았기 때문에, WioLTE의 LTE 모듈이 가지는 기지국 정보를 사용한 간이 위치 정보 취득 기능을 사용해 보았습니다.



    WioLTE::GetLocation()





    쉽게 사용할 수있을 것 같습니다.

    샘플 코드



    GetLocation.ino
    
    #include <WioLTEforArduino.h>
    #include <stdio.h>
    WioLTE Wio;
    
    void setup() {
      delay(200);
    
      SerialUSB.println("");
      SerialUSB.println("--- START ---------------------------------------------------");
    
      SerialUSB.println("### I/O Initialize.");
      Wio.Init();
      SerialUSB.println("### Power supply ON.");
      Wio.PowerSupplyLTE(true);
      delay(500);
    
      SerialUSB.println("### Turn on or reset.");
      if (!Wio.TurnOnOrReset()) {
        SerialUSB.println("### ERROR! ###");
        return;
      }
    
      SerialUSB.println("### Connecting to \"soracom.io\".");
      if (!Wio.Activate("soracom.io", "sora", "sora")) {
        SerialUSB.println("### ERROR! ###");
        return;
      }
      SerialUSB.println("### Setup completed.");
    }
    
    void loop() {
      double lat, lng;
      char data[256];
      Wio.GetLocation(&lng, &lat);
      sprintf(data, "https://www.google.co.jp/maps/@%f,%f,15z", lat, lng);
      SerialUSB.println(data);
      delay(60000);
    }
    

    이렇게하면 디버그 로그에 다음과 같이 표시됩니다.
    --- START ---------------------------------------------------
    ### I/O Initialize.
    ### Power supply ON.
    ### Turn on or reset.
    ### Connecting to "soracom.io".
    ### Setup completed.
    https://www.google.co.jp/maps/@35.621483,139.73056,15z
    

    이 링크 을 열면 어딘지 모르게 맞는 것 같은 느낌이네요.


    Harvest로 보내기



    WioLTEforArduino 라이브러리에 포함된 soracom-harvest 샘플에 손을 넣어 좌표를 보냅니다.

    변경 부분은 다음과 같습니다.
    ※풀 코드는 여기 에 있습니다.
    $ diff soracom-harvest/soracom-harvest.ino soracom-harvest-location/soracom-harvest-location.ino
    44a45
    >   double lat, lng;
    45a47,50
    >
    >   Wio.GetLocation(&lng, &lat);
    >   sprintf(data, "https://www.google.co.jp/maps/@%f,%f,15z", lat, lng);
    >   SerialUSB.println(data);
    63c68
    <   sprintf(data,"{\"temp\":%.1f,\"humi\":%.1f}", temp, humi);
    ---
    >   sprintf(data,"{\"temp\":%.1f,\"humi\":%.1f, \"lat\":%f, \"lng\":%f}", temp, humi, lat, lng);
    65c70
    <   sprintf(data, "{\"uptime\":%lu}", millis() / 1000);
    ---
    >   sprintf(data, "{\"uptime\":%lu, \"lat\":%f, \"lng\":%f}", millis() / 1000, lat, lng);
    

    바로 Harvest에서 확인해 봅시다.



    회장 부근의 위치 정보가 트럭 되어 있었습니다.

    요약



    매우 쉽게 위치 정보를 시각화할 수 있게 되어 점점 Harvest가 편리하게 되었습니다.
    GPS 모듈이 없으면 LTE 모듈의 기능을 사용하여 대체 할 수 있으므로 여행을 위해 Wio LTE를 가지고 다니는 것이 재미있을 수 있습니다.

    어제의 이벤트로 블로그를 쓸 때까지가 SORACOM Technology Camp입니다, 라고 있었으므로, 유언 실행이라고 하는 것으로 조속 기사를 써 보았습니다.
    여러분도 꼭 여러가지 시험해 보고, 정보 발신해 봅시다!

    좋은 웹페이지 즐겨찾기