ラズパイを使って子供の見守りツール(*1)を作ろうと思いつきました。
「位置情報取得はGPS受信モジュールをOK!」なんて思っていたのですがそんな単純なものでもなさそうです。
市販されている製品は「Wi-Fiアクセスポイントからも位置情報を取っているので精度高い」とアピールしていたのでそのあたりを調べたら良記事がゴロゴロしてました。
元記事はテキストだけで読みづらかったので抜粋して表に整理してみました。
本記事のまとめに利用した記事
GPSのよくある疑問や誤解|I.D.A Online
その他の有用記事(より詳細な方法)
位置情報を取得する仕組み:位置情報を使ってみよう
GPSを使わない位置情報取得を検証してみた
Wi-Fi マックアドレスから位置取得 – マルティスープ株式会社
Wi-Fiだけでも現在地を測定できる仕組みとは?
測定に利用されている技術・特徴・長所・短所
位置情報の測定に利用されている方法はGPSだけではなく無線LANと携帯電話ネットワークも活用できます。
それぞれの方法の概要と長所・短所(主に精度、測定速度)をまとめました。
技術名 | 概要 | 長所 | 短所 |
---|---|---|---|
GPS | 3つ以上のGPS衛星+時刻合わせ衛星. GPSから電波と発信時間を受け取って計算で位置を特定する。 |
最も精度が高い(数m) | 測定が遅い 室内では利用不可。ビルや木など障害物に弱い。(*2) |
無線LAN(Wi-Fi) | 端末の周囲にある無線LANアクセスポイントを特定して、サーバーに記録されたアクセスポイントの位置情報から推測 | ・室内でも利用可能 ・測定が速い。精度はまずまず(10-200m) |
アクセスポイントが必要 |
携帯電話ネットワーク | 基地局の位置と携帯電話との距離を計算して場所を推定 | 屋内利用可能。測定が速い | 精度が低い |
方位センサー+車速センサー | カーナビ限定。トンネル内のようにGPSが利用できない場合に推測。 | GPSがなくてもOK | 自作困難(徒歩で移動している人の速度取得できない) |
※その他、地磁気を使った方法なども実用化されているようです。
GPS電波が届かない空港施設内でもナビ、NTTデータが地磁気を利用:測位の誤差は平均3メートル
(*1)子供の見守りツール
以下のような構成でいけるかな?と。
<端末側>
- ラズパイ Zero
- GPS受信機
- モバイルバッテリ-
- ソラコムSIM
- Pythonプログラム(サーバ側のAPIを使ってリアルタイムでデータ送信)
- 収納ケース
<サーバ側>
- API Gateway
- Lambda
- RDS
- Webアプリ(Linux + nginx + Nodejsとか?)
ちなみに自作は面倒だったり非エンジニアの方にはピッタリのグッズが市販されています。
<Bsize みまもりGPS> 月額480円、端末4,800円 初期費や解約手数料・N年縛りなし
https://www.bsize.com/bot/gps/
使い勝手など評判も良さそうです。
テレビでも話題!超安価な、みまもりGPS [Bsize GPS BOT]を試す
ちなみに、ソフトバンクからもみまもりGPSなる同様の端末が販売されていますが、初期費用(端末代、事務手数料)が高額で契約に二年縛りがあったりするのでおすすめできません。
(*2)GPSの精度が落ちるケース
以下のような状況だと精度が落ちるそうです。
- ビルなどの近くや谷間
- トンネルや森の中
- 高圧電線や1.5GHz 帯の携帯電話などの近く
- 長い距離を移動したとき
- 周囲の環境が異なる場所へ移動したとき
- 天候(曇りや雨の日は空が雲で覆われているので、通常の晴れている日より精度が落ちる)