7
5

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 3 years have passed since last update.

Node-REDで車IoTのデータを取ってみた

Last updated at Posted at 2021-04-12

はじめに

車の任意保険でドライブレコーダー特約があります。
特約に加入するとドライブレコーダーが送られてきて車に装着していますが、とある日、安全運転診断レポートが送られてきました。

スクリーンショット 2021-04-12 19.45.07.png

ドライブレコーダーにはモバイルSIMが内蔵されていて、位置情報や運転状況(加速度、各速度など)の情報が定期的に保険会社へ送信されていることを認識しました。

スクリーンショット 2021-04-12 19.46.50.png

これらのデータは直接確認することができず、どのようなデータが取れるのか Node-RED を使用して車IoTのデータを取得してみました。

準備

車載側はモバイル版Node-REDを使用します。
iOS版はNode-PAD、Android版はRedMobileです。

  • Node-PAD 1.2.1
  • RedMobile 7.1.4

スクリーンショット 2021-04-12 20.00.39.png

モバイル版のノード

モバイル版Node-REDにはスマートフォンに備わっているセンサーからデータを取得できるノードが存在します。

スクリーンショット 2021-04-12 20.03.21.png

手順

今回はlocationノードを使用して位置情報を取得して、地図データにマッピングしてみます。
モバイル版Node-REDで取得した位置データをMQTTブローカー経由でPCのNode-REDに表示します。

スクリーンショット 2021-04-12 20.25.34.png

モバイル版Node-REDフロー

Node-PAD(iOS版)のlocationノードは毎秒位置データを出力します。
毎秒だとデータ量が多いので、delayノードを使用して流量を抑えます。
今回は5秒毎に位置データを送信することにしました。

RedMobile(Android版)のlocationノードはそのままでは位置データが出力されません。
subscribeノードを使用して、Android OSの位置データを購読(subscribe)する必要があります。
injectノードとsubscribeノードを接続して位置データの出力を開始すると、locationノードは5秒毎に位置データを出力します。出力を停止する場合は、unsubscribeノードを使用します。

スクリーンショット 2021-04-12 20.27.50.png

MQTTブローカー

今回は無償で利用できるshiftr.ioを使用しました。

スクリーンショット 2021-04-12 20.35.06.png

他にはbeebotteも無償で利用可能です。

PCのNode-REDフロー

地図データの表示にはweb-worldmapノードを使用しました。
ブラウザで
http://127.0.0.1:1880/worldmap
へアクセスすると地図が表示されます。

pc_flow.jpg

スタート地点の表示がヨーロッパとなっているため、プロパティのStartパラメータの緯度(Latitude)・経度(Longitude)と縮尺(Zoom)の値を設定します。
BasemapはOpenStreetMapを選択しました。

スクリーンショット 2021-04-12 20.50.42.png

残念ながら、Node-PAD(iOS版)とRedMobile(Android版)とで、locationノードが出力するJSONフォーマットが異なりますので、それぞれchangeノードでweb-worldmapノードでピン表示可能なフォーマットへ変換します。

Node-PAD(iOS版)用changeノード

iPhone.png

RedMobile(Android版)用changeノード

スクリーンショット 2021-04-12 20.45.50.png

取得したデータの表示

モバイル版Node-REDから送信された位置データをMQTT経由でPC版Node-REDで受信して、地図データへ表示した結果です。

スクリーンショット 2021-04-12 19.44.01.png

まとめ

専用機材やアプリ開発をしなくても、普段使用しているスマートフォンやPCでNode-REDフローを作成するだけで位置データの取得から地図データへの表示ができました。
ジャイロデータ(加速度、角速度)も合わせて取得すれば車IoTのデータを見える化できると思います。

では、良きNode-REDライフを!

7
5
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
7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?