5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WioLTE で Harvest の位置情報データを “お手軽に” 試してみた

Last updated at Posted at 2018-04-27

こんにちは、ソラコムの松井です。

昨日の SORACOM Technology Camp 2018 で発表された、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

このリンクを開くとなんとなく合ってそうな感じですね。
GoogleMap

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 Location

会場付近の位置情報がトラック出来ていました。

まとめ

非常に簡単に位置情報を可視化できるようになり、ますます Harvest が便利になりましたので、ぜひゴールデンウィークにお試しください!
もし GPS モジュールがない場合には、LTE モジュールの機能を使って代用できますので、旅のお供に Wio LTE を持ち歩いてみても面白いかもしれません。

昨日のイベントでブログを書くまでが SORACOM Technology Camp です、とあったので、有言実行ということで早速記事を書いてみました。
皆さんもぜひ色々試してみて、情報発信してみましょう!

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?