Soracom

Users

スタートガイド

温度センサーのデータを SORACOM Harvest Data で可視化する

セットアップ 

配線する 

Raspberry Pi の GPIO (General Purpose Input/Output) 端子に、温度センサーを接続します。電源ピン (赤いケーブル) は最後に挿してください。温度センサーの向きにもご注意ください。

回路図

使うピンは、3.3V の電源ピン (01)、Ground、GPIO 4 の3つです。

配線図

Raspberry Pi でセンサーを使えるように設定する 

Raspberry Pi の設定として、2つのファイルに追記して (以下の例では cat コマンドで追記していますが、vi や nano などのエディタを利用してもよいです)、適用するために再起動します。

実行コマンド 

sudo su -
cat >> /boot/config.txt
dtoverlay=w1-gpio-pullup,gpiopin=4

(Ctrl+D を押します)

cat >> /etc/modules
w1-gpio
w1-therm

(Ctrl+D を押します)

reboot

しばらく待つと、再起動が完了します。もう一度 Raspberry Pi にログインしてください。

ログインできたら、Raspberry Pi がセンサーを認識できているか確認します。再起動後、センサーは /sys/bus/w1/devices/ 以下にディレクトリとして現れます (28- で始まるものがセンサーです)。

実行コマンド 

ls /sys/bus/w1/devices/

実行例 

pi@raspberrypi:~ $ ls /sys/bus/w1/devices/
28-0000072431d2  w1_bus_master1

トラブルシュート: もし 28- で始まるディレクトリが表示されない場合は、配線が間違っている可能性があります。特に温度センサーの向きに注意してください。

ファイル名は、センサー1つ1つ異なる ID がついています。センサー値を cat コマンドで読み出してみましょう。

実行コマンド 

cat /sys/bus/w1/devices/28-*/w1_slave

実行例 

pi@raspberrypi:~ $ cat /sys/bus/w1/devices/28-*/w1_slave
ea 01 4b 46 7f ff 06 10 cd : crc=cd YES
ea 01 4b 46 7f ff 06 10 cd t=30625

t=30625 で得られた数字は、摂氏温度の 1000 倍の数字となってますので、この場合は 30.625 度となります。センサーを指で温めたり、風を送って冷ましたりして、温度の変化を確かめてみましょう。

トラブルシュート: もし数値が0となる場合、抵抗のつなぎ方が間違っている可能性があります

SORACOM Harvest Data にデータを送信する 

センサーで取得した温度を可視化してみましょう。

本ハンズオンでは SORACOM Harvest Data を使ってデータの可視化行います。

構成図

SORCOM Harvest Data とは 

SORACOM Harvest Data (以下、Harvest Data) は、IoT デバイスからのデータを収集、蓄積するサービスです。

SORACOM Air が提供するモバイル通信を使って、センサーデータや位置情報等を、モバイル通信を介して容易に手間なくクラウド上の「SORACOM」プラットフォームに蓄積することができます。 保存されたデータには受信時刻や SIM の ID が自動的に付与され、「SORACOM」のユーザーコンソール内で、グラフ化して閲覧したり、API を通じて取得することができます。なお、アップロードされたデータは、40 日間保存されます。

SORACOM Harvest の概要

注意 SORACOM Harvest Data を使うには追加の費用がかかります 書き込みリクエスト: 1 日 2000 リクエストまで、1SIM あたり 1 日 5.5 円 1 日で 2000 回を超えると、1 リクエスト当り 0.0044 円

SORACOM Harvest Data を有効にする 

SORACOM Harvest Data を使うには、Group の設定で、Harvest を有効にする必要があります。

グループ設定を開き、SORACOM Harvest を開いて、ON にして、保存を押します。

Harvest Data の有効化

プログラムのダウンロード・実行 

実行コマンド 

sudo wget http://soracom-files.s3.amazonaws.com/temperature.sh
sudo chmod +x temperature.sh
./temperature.sh

実行例 

pi@raspberrypi:~ $ sudo wget http://soracom-files.s3.amazonaws.com/temperature.sh
--2019-09-27 01:45:54--  http://soracom-files.s3.amazonaws.com/temperature.sh
Resolving soracom-files.s3.amazonaws.com (soracom-files.s3.amazonaws.com)... 52.219.1.37
Connecting to soracom-files.s3.amazonaws.com (soracom-files.s3.amazonaws.com)|52.219.1.37|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 515 [text/plain]
Saving to: ‘temperature.sh.3’

temperature.sh.3              100%[=================================================>]     515  --.-KB/s    in 0.1s

2019-09-27 01:46:00 (3.61 KB/s) - ‘temperature.sh.3’ saved [515/515]

pi@raspberrypi:~ $ sudo chmod +x temperature.sh
pi@raspberrypi:~ $ ./temperature.sh
sending payload={"temperature":28.437}  ... done.

停止する場合は Ctrl + C (Ctrl キーを押しながら C キーを押す) を行ってください。

トラブルシュート 以下のようなエラーメッセージが出た場合には、設定を確認してください。

  • {"message":"No group ID is specified: xxxxxxxxxxxxxxx"} → SIM にグループが設定されていない
  • {"message":"Configuration for SORACOM Harvest is not found"} → グループで Harvest を有効にしていない

ユーザーコンソールで可視化されたデータを確認する 

コンソールから、送信されたデータを確認してみましょう。

SIM を選択して、操作から「データを確認」を選びます。

SIM操作メニュー

下記のようなグラフが表示されていると思います。

Harvestグラフ

スクリプトのデフォルト設定では 60 秒に一度データが送信されます。自動更新のボタンをオンにすると、グラフも自動的に更新されます。

とても簡単に可視化ができたのがおわかりいただけたと思います。 さらに高度な可視化をしたい場合は、SORACOM Lagoon の利用を検討してください。