トップ » SORACOM IoT DIY レシピ » IoTで屋内の環境モニタリングをする

SORACOM レシピ:IoTで屋内の環境モニタリングをする

公開日: 2020年12月

レシピ難易度:★★☆☆☆

Arduino UNO 互換マイコンとセンサー10種がセットになった「Grove Beginner Kit」と、Arduino UNOでLTE-M通信が可能となる拡張ボード「LTE-M Shield for Arduino」がワンパッケージになった「IoTスターターキット for Arduino」で、仕事環境や家庭内の温湿度・気圧などを計測する「屋内環境計」を作ります。

全体の構成

使用する SORACOM サービス

本レシピに連動した動画を公開しています

本レシピを行うのに必要な時間、概算費用

本レシピは以下の通りです。

  • 必要な時間: 約90分
  • 概算費用: 約10,000円

※ 概算費用: ハードウェアや SORACOM を始めとした各種サービスの概ねの費用 (税や送料などの付帯費用や無料枠適用は考慮しないものとしています)

このコンテンツの進め方

本コンテンツは現状のままで提供され、株式会社ソラコムは、誤りがないことの保証を含め、明示であると黙示であるとを問わず、本コンテンツの記載内容につき、いかなる種類の表明も保証も行いません。

掲載情報の閲覧及び利用により、利用者自身、もしくは第三者が被った損害に対して、直接的、間接的を問わず、株式会社ソラコムは責任を負いかねます。

本コンテンツを実践する中で用意された機器、利用されたサービスについてのご質問は、それぞれの機器やサービスの提供元にお問い合わせをお願いします。機器やサービスの仕様は、本コンテンツ作成当時のものです。

株式会社ソラコムが提供する機器・サービスについてのご質問は、 https://soracom.jp/contact/ をご確認の上、適切な窓口へのお問い合わせをお願いします。機器・サービスご利用前の導入相談は https://soracom.jp/contact/contactsales/ に、機器・サービスご利用開始後のサポートは、SORACOMユーザーコンソール内のサポートサイトから「リクエストを送信」(要ログイン)にてお問い合わせください。

Copyright (c) 2021 SORACOM, INC.

準備

本レシピを行うためには以下のものをご用意ください。

ハードウェア

品名数量価格購入先備考
IoT スターターキット for Arduino19,980円ソラコムIoTスターターキット for Arduinoには「Grove Beginner Kit」「LTE-M Shield for Arduino」「SORACOM 特定地域向け IoT SIM / plan-D nanoSIM サイズ」が同梱されています。
開発用パソコン1Arduino IDEによる開発環境が整っていること。セットアップ方法はArduino IDEセットアップ(Windows編 / macOS編)をご覧ください。
(必要な方のみ)USB 変換アダプタ1パソコンに USB Type-A ポートがない場合に準備してください。1A 以上の電力が供給できるものを利用してください。(USB 3.0以上に対応していれば概ね安心です)

※ 金額はレシピ作成時となります。ソラコムで販売している金額は税抜き・送料別です。その他は参考価格となります。

その他必要なもの

必要なもの費用作成方法など
SORACOM アカウント無料※SORACOM アカウントの作成 (JP)

※ アカウント作成・維持の費用の料金です。

設置に利用したもの

本レシピで設置時に利用した部材です。必須ではありませんがご参考にお使いください。

品名数量備考
USB 型 AC アダプタ1Grove Beginner Kit への電源供給用です。1A以上供給できるものが望ましいでしょう。

LTE-M Shield for ArduinoにSIMを取り付ける

LTE-M Shield for Arduino(以下、 LTE-M Shield) の上部は外すことができます。その上部の部品の裏面にあるSIMスロットへSIMを挿入した後、元に戻します。最後にアンテナを取り付けて終了です。

注意点

  • SIMの挿入方法は、「カチ」という音がするまで奥に挿入してください。また取り外しはSIMを押し込むと「カチ」という音がしてSIMが取り出しやすい位置に出てきます。
  • 再度部品を取り付ける際、ピンの位置がずれないように気をつけてください。
  • 静電気にはご注意ください。

Grove Beginner KitにLTE-M Shieldを取り付ける

Grove Beginner Kitの中央がArduino UNO互換マイコンボード(Seeeduino Lotus、以下、Seeeduino) となっており、ここにLTE-M Shieldを取り付けることができます。

注意点

  • ピンの位置がずれないように気をつけてください。
  • 押し込むのには多少強い力が必要となります。押し込んでいる最中にSeeeduinoがGrove Beginner Kitから切り離されないよう、気をつけてください。
  • 静電気にはご注意ください。

SORACOM Harvest Data の設定をする

Grove Beginner Kit からのデータを蓄積する SORACOM Harvest Data の設定を行います。

SORACOM ユーザーコンソールの[Menu]>[SIM 管理]とクリックして SIM 管理画面を開きます。

[SIM 管理]をクリックしても画面が切り替わらない場合は?
すでに SIM 管理画面を開いている場合は、[SIM 管理]をクリックしても画面が切り替わることがありません。その場合、青の点線で囲まれている「SORACOM ロゴ」をクリックすることでメニューを閉じることができます。

LTE-M Shield に取り付けた SIM) にチェックを付け、[操作]>[所属グループ変更]とクリックします。

SORACOM の便利な使い方: 複数の SIM を同時に扱う
チェックをつける対象を複数にすれば、一度の複数の SIM を対象に操作が可能です。

「新しい所属グループ」のプルダウンボックスをクリックした後、[新しいグループを作成…]をクリックします。

「グループ作成」のグループ名を入力して[グループ作成]をクリックします。

項目備考
グループ名ambient-monitor自由に入力可能です。日本語も設定可能です。

SIM 管理画面で割り当てたグループ名をクリックします。

[SORACOM Harvest Data 設定]をクリックして設定ができるように開きます。

「SORACOM Harvest Data 設定」で以下のように設定します。

項目設定値備考
(スイッチ)ONスイッチはクリックすることで OFF から ON に切り替えることができます。

その後[保存]をクリックしてください。
その後表示される「SORACOM Harvest Data が有効になっています」のダイアログでは[OK]をクリックしてください。

以上で「SORACOM Harvest Data」の設定が完了しました。

SORACOM Air を利用してセルラー通信をしてみる

LTE-M Shieldを使って SORACOM Air によるセルラー通信を行い、動作確認を行います。

セルラー通信ライブラリのインストール

3G 拡張ボードで利用できる通信ライブラリをインストールします。今回は TinyGSM というオープンソースライブラリを利用して、通信の確認を行います。

ZIPファイルのダウンロード

TinyGSMのGitHubページを開き、[Code]をクリックして表示されたメニューの[Download ZIP]をクリックします。
すると TinyGSM-master.zip というファイルが入手できますので保存してください。

Arduino IDE を開き、[スケッチ]>[ライブラリをインクルード]>[.ZIP形式のライブラリをインストール…]をクリックします

※ 画面は macOS ですが、Windows も同様です。

その後表示されたファイル選択画面で、先ほどダウンロードした TinyGSM-master.zip を選択して開きます。

以上でインストールは完了です。

TinyGSMをZIPからインストールする理由
LTE-M Shieldと一部のSORACOM IoT SIMを組み合わせる場合、TinyGSMに修正が必要となります。2020年12月現在、すでにTinyGSM自体は対応済みですが、Arduino IDEのライブラリ管理からのインストールがサポートされていない状態であるため、ZIPファイルインストールとなります。近日にはライブラリ管理からのインストールに対応される見込みです。

Uptime (起動してからの累積時間) をSORACOMに送信するスケッチを書き込む

Arduino IDE を起動し[ファイル]>[新規ファイル]を開くと void setup() { から始まる「空のスケッチ」が表示されます。

一度スケッチの内容を削除してから send_uptime_with_soracom.ino の内容で置き換えてください。

マイコンボードに書き込む

SeeeduinoとPCをUSB ケーブルで接続した後、Arduino IDE でボタンをクリックします。ボードへの書き込みが完了しました。と表示されたら正常終了です。

ファイルの保存ダイアログが表示されたら
ファイルを保存してください。ファイル名は任意ですが send_uptime_with_soracom というファイル名はどうでしょうか。
ファイルを保存しない (キャンセル) してもコンパイルとスケッチの転送はされます。

うまく動作しなかった場合

症状考えられる原因対策
症状考えられる原因対策
書き込みができなかったSeeeduinoとPCの接続ができていないSeeeduinoとPCとの接続を再確認してください。
Arduino IDEの開発対象ボード定義が “Arduino UNO” になっていないArduino IDEは様々なボードの開発ができます。そのうちSeeeduinoは “Arduino UNO” として開発することになります。選択されているボード定義は Arduino IDE 編集画面の右下に表示されています。ここが Arduino UNO となっているか確認してください。
Seeeduinoが認識されているシリアルポートポートが異なるSeeeduinoとPCはシリアルポートで通信します。[ツール]-[シリアルポート]と進み、Seeeduinoが接続されているシリアルポートを選択してください。
waitForNetwork() より先に進まない電力が不足しているUSBケーブルを別のものに変えてみてください。
SIM が取り付けられていない。(もしくは SORACOM IoT SIM ではない)SORACOM 特定地域向け IoT SIM plan-D を取り付けてください。
電波が圏外もしくは微弱である可能性がある窓際等、通信条件が良い環境でお試しください。
SIM が SORACOM に登録されていない※ SORACOM ユーザーコンソールで確認できます ( “登録されてない” 事が確認できます)発注済みの SIM を登録する もしくは 通販サイトやイベント等で入手した SIM を登録する を行ってください。
SIM の「状態」が “準備完了” となっている( “使用中” でない)※ SORACOM ユーザーコンソールで確認できます当該 SIM のチェックボックスをチェックしてから[操作]>[使用開始]をクリックして “使用中” に変更してください。
TinyGSMがSORACOM IoT SIMに対応していないバージョンを使用しているTinyGSMはZIPファイルからインストールするようにしてください。特に既にインストール済みの場合は一度削除していただき、改めてZIPファイルからインストールしてください。

SORACOM Harvest Data でデータを確認する

デバイスからのデータを SORACOM Harvest Data で確認します。

SORACOM ユーザーコンソールの[Menu]>[SIM 管理]とクリックして SIM 管理画面を開きます。

[SIM 管理]をクリックしても画面が切り替わらない場合は?
すでに SIM 管理画面を開いている場合は、[SIM 管理]をクリックしても画面が切り替わることがありません。その場合、青の点線で囲まれている「SORACOM ロゴ」をクリックすることでメニューを閉じることができます。

M5Stack に取り付けた SIM) にチェックを付け、[操作]>[データを確認]とクリックします。

表示された画面で[自動更新]を ON にします。

この表示された画面が SORACOM Harvest Data の画面となります。

自動更新とは?
画面を再読み込みしなくとも新しいデータが自動的に表示されるようにする機能です。5秒毎に新しいデータを表示するようになります。この機能が OFF の場合は、表示する期間を指定して[検索]をクリックすることで期間内のデータを表示できます。

しばらくすると、以下のように uptime が表示され始めます。

以上で動作確認は終了です。

USBケーブルをPCから抜き、いったんSeeeduinoの電源をOFFにしてください。

屋内環境計スケッチを書き込む

ここからは屋内環境計のスケッチを書き込むためのライブラリのインストールと実際の書き込みを行います。

“U8g2” をインストールする

ライブラリマネージャの一覧から U8g2 (by oliver) を選んで[インストール]をクリックします。バージョンはインストール時における最新バージョンを選んでください。

インストールが終了したら[閉じる]をクリックします。

“U8g2” を簡単に探し出す方法
検索用のテキストボックスへ u8g2 と入力すると素早く見つけることができます。

“Grove Temperature and Humidity Sensor” をインストールする

ライブラリマネージャの一覧から Grove Temperature and Humidity Sensor (by Seeed Studio) を選んで[インストール]をクリックします。バージョンはインストール時における最新バージョンを選んでください。

インストールが終了したら[閉じる]をクリックします。

“Grove Temperature and Humidity Sensor” を簡単に探し出す方法
検索用のテキストボックスへ grove dht11 と入力すると素早く見つけることができます。

“Grove – Barometer Sensor BMP280” をインストールする

ライブラリマネージャの一覧から Grove – Barometer Sensor BMP280 (by Seeed Studio) を選んで[インストール]をクリックします。バージョンはインストール時における最新バージョンを選んでください。

インストールが終了したら[閉じる]をクリックします。

“Grove – Barometer Sensor BMP280” を簡単に探し出す方法
検索用のテキストボックスへ grove bmp280 と入力すると素早く見つけることができます。

スケッチを書き込む

Arduino IDE を起動し[ファイル]>[新規ファイル]を開くと void setup() { から始まる「空のスケッチ」が表示されます。

一度スケッチの内容を削除してから send_multiple_sensor_data_with_soracom.ino の内容で置き換えてください。

マイコンボードに書き込む

SeeeduinoとPCをUSB ケーブルで接続した後、Arduino IDE でボタンをクリックします。ボードへの書き込みが完了しました。と表示されたら正常終了です。

ファイルの保存ダイアログが表示されたら
ファイルを保存してください。ファイル名は任意ですが send_multiple_sensor_data_with_soracom というファイル名はどうでしょうか。
ファイルを保存しない (キャンセル) してもコンパイルとスケッチの転送はされます。

設置してみる

実際に設置してみましょう。

電源はPCからも取ることができますが、USB 型 AC アダプタをつかって供給することも可能です。

SORACOM Harvest Data では以下のように確認できます。(動作確認に使用した uptime が表示されている場合がありますが、正常です)

以上でデータ送信の確認は終了です。

SORACOM Lagoon でダッシュボードを作成する (有効化まで)

SORACOM Harvest Data に蓄積されたデータを SORACOM Lagoon で活用していきます。

SORACOM Lagoon 用語解説

ここで SORACOM Lagoon で使われる用語を解説します。

用語意味
プランSORACOM Lagoon の契約プランです。機能と料金が異なります。SORACOM Lagoon のご利用料金に機能や料金の比較表があります。
メトリクス(メトリック)データが格納されている先です。SORACOM Lagoon では以下の4つの中から選び、その中からノード(SIMや回線)を選択します。Air = SORACOM Air for セルラーLoRa = SORACOM Air for LoRaWANSigfox = SORACOM Air for SigfoxDevice = SORACOM Inventory デバイス
データソースメトリクスの参照先です。SORACOM Lagoon では “Harvest” (= SORACOM Harvest) を選ぶとメトリクスが展開されます。 Grafana ではテスト用のランダムデータが表示されます。
パネルパネルはデータを表示する領域です。データソースとメトリクスを指定すると、そのメトリクス(たとえばSIM)のデータをパネルで使えるようになります。様々なパネルが存在します。
ダッシュボード複数のパネルを束ねて「1枚の画面」にしたものがダッシュボードです。共有の単位となります。
SORACOM Lagoon ユーザー(Lagoon ユーザー)SORACOM Lagoon へログインするためのユーザー(IDとパスワードの組)SORACOM ユーザコンソールへのログインとは異なるユーザ一覧となり、皆さん自身で登録・削除が可能です。ダッシュボードやパネルを編集できる「編集可能」と表示専用の「読み取り」の2段階の権限を設定できます。作成可能数はプランによります。
データリフレッシュSORACOM Harvest から SORACOM Lagoon へデータが反映される事、もしくは反映タイミングとなります。反映タイミングはプランによります。
アラートメトリクスのデータに対して条件を設定し、その条件を満たしたら通知を行う仕組みの事です。

SORACOM ユーザーコンソールの[Menu]>[データ収集・蓄積・可視化]>[SORACOM Lagoon]とクリックします。

[SORACOM Lagoon の利用を開始する]をクリックします。

プランのうち[Free]を選択したあと[続行する]をクリックします。

SORACOM Lagoon ユーザーの初期ユーザーに設定するパスワードを入力した後、[利用開始]をクリックします。

SORACOM Lagoon ユーザーの初期ユーザの ID は?
ID は SORACOM ユーザコンソールにログインしたときのメールアドレスが使われることになります。そのため、ここではパスワードのみ設定することになります。SORACOM ユーザコンソールへのログインとは異なるパスワードを設定する事を強くお勧めします。

利用開始がクリックできない場合は?
パスワードの条件が不足しています。全てに✔がつくようにパスワードを設定してください。

SORACOM Lagoon の有効化に成功すると、以下のように SORACOM Lagoon コンソールへのリンクと、Lagoon ユーザーの一覧が管理できるようになります。

この画面を SORACOM Lagoon 管理画面と呼びます。

SORACOM Lagoon 管理画面は、SORACOM Lagoon が有効化されている間は [Menu]>[データ収集・蓄積・可視化]>[SORACOM Lagoon]で表示する事ができます。

SORACOM Lagoon でダッシュボードを作成する (SORACOM Lagoon へのログインまで)

SORACOM Lagoon 管理画面を表示したあと、[SORACOM Lagoon console にアクセス]をクリックします。

※ SORACOM Lagoon 管理画面は [Menu]>[データ収集・蓄積・可視化]>[SORACOM Lagoon]で表示する事ができます。

SORACOM Lagoon へログインします。

メールアドレス (SORACOM ユーザコンソールへログインする際のメールアドレス) と、SORACOM Lagoon 初期ユーザ作成時に利用したパスワードでログインします。

ログインに成功すると、以下のような画面が表示されます。これが SORACOM Lagoon ログイン直後の画面です。ここから「ダッシュボード」や「パネル」を作成していきます。

背景を白くしたい
SORACOM Lagoon の標準では背景が黒となっています。これは設定で変更が可能です。右下のアイコンにカーソルを合わせて表示される[設定]をクリックします。

設定画面に “テーマ” を “Light” に変更して[保存]すると、背景が白くなります。

SORACOM Lagoon でダッシュボードを作成する (ダッシュボードのインポートまで)

あらかじめ設定が済んでいるテンプレートを使ってダッシュボードを作成します。

ダッシュボードアイコンにカーソルを乗せると表示される「ダッシュボード」メニューから[管理]をクリックします。

[Import]をクリックします。

[Or paste JSON]のテキストボックスへ、以下のテキストを入力(貼り付け)ます。

貼り付けるテキストは lagoon_template_for_ambient_monitor_using_arduino.json です。(約600行ほどあるため、リンク先から定義を入手してください)

※lagoon_template_for_ambient_monitor_using_arduino.json の基となっている Gist (コード共有サイト) の URL はこちらです。

貼り付けたら[Load]をクリックします。

Load をクリックすると “Unexpected end of JSON input” と表示される
テキストが上手く入力できていない場合はと表示されます。

貼り付けたテキストを見直すようにしてください。

Options では以下のようになっていることを確認します。

項目内容
Name屋内環境計 / Ambient monitor
フォルダGeneral
Unique Identifier (uid)auto-generated

確認できたら[Import]をクリックします。

以下のように表示されていれば成功です。

SORACOM Lagoon でダッシュボードを作成する (パネルの編集からダッシュボードの保存まで)

“温湿度” >[編集]をクリックします。

“メトリック” タブで読み込むデータを設定します

“メトリック” タブが表示されている(もしくは “メトリック” タブを選択した後)、以下の設定を行います。

設定項目
データソースdefault
“A metric” と表示されている行の左から2番名のプルダウンLTE-M Shield に取り付けた SIM
“B metric” と表示されている行の左から2番名のプルダウンLTE-M Shield に取り付けた SIM

選んだ時点で、データが表示されます。(下の図は “A metric” と表示されている部分の選択の様子です。 “B metric” についても同様に選択するようにしてください。

プルダウンに “Arduino/LTE-M Shield” が無い?
左から2番目のプルダウンについては、参考画像上では “Arduino/LTE-M Shield” と表示されていますが、これはSORACOM ユーザーコンソール上で SIM に名前を付けているからです。名前がついていない場合は SIM の IMSI (回線識別用の15桁の番号) が表示されます。

データが表示されていない?
データを蓄積し始めてから間もない場合、グラフの右端に「少しだけ」表示されている場合があります。これは、パネルの表示時間の標準が「過去6時間分」を表示するようになっているからです。

右上の「時間」ボタンで表示範囲を設定可能です。まずは「過去15分間」くらいが良いでしょう。

それでもデータが表示されていない場合は、いったん SORACOM Harvest Data データの蓄積具合を確認するようにしてください。

画面右上のダッシュボードに戻るボタンをクリックします。

残りのパネルにおいても同様の設定を行います。

ここまでの作業で「温湿度」のデータ表示を行いました。残りの「気圧」「光量 / 音量」「データ履歴」についても、温湿度の作業と同様にメトリックタブでLTE-M Shieldのデータを表示する設定を行ってください。

全ての設定が終了すると、以下の様な表示となります。

画面右上のをクリックすることでこれまでの作業を保存できます。

[保存]で保存します。

以上で全ての設定が終了です。

あとかたづけと注意事項

本レシピでは費用がかかるサービスを利用しています。
本項をよく読み、必要な操作や解除作業を行うようにして、想定外の費用が掛からないようにしてください。

費用について

ここで記載している金額は全て税別、送料別となります。

SORACOM プラットフォームの利用料金

サービス/機能料金
SORACOM Air (plan-D)基本料: 10円/日通信料: 0.2円~/MB(今回の利用であれば 1MB 以内で収まる範囲)
SORACOM Harvest Data本機能を有効にしたグループに所属する1SIMあたり5円/日 (2000リクエスト/日/SIMを含む)2000リクエスト/日を超えた分は0.004円/リクエスト
SORACOM Lagoon今回は Free プラン(無料)を使用しました。

無料利用枠について
SORACOM サービスでは一部サービスにおいて無料枠が設定されています。たとえば SORACOM Air for セルラーであればアカウント毎で30円/月の通信分や、SORACOM Harvest Data であれば31日分の書込みリクエストなどです。料金詳細に「無料利用枠」として掲載されていますので、ご確認ください。

グループ解除

SORACOM Harvest Data 等、「機能が有効になっているグループに所属している SIM × 費用」となっているサービスにおいては、「機能を OFF にする」することで費用の発生を抑えることができます。またもう1つの方法として「グループに所属している SIM の数を減らす(= 解除する)」事でも費用を抑える事ができます。

グループ解除の方法はグループからの解除 (JP)をご覧ください。

SORACOM Harvest Data のデータ削除(任意)

SORACOM Harvest Data は基本的にはデータ保管料は無料※です。そのため、保存しておいても害はありませんが、デモ等で利用する際にはデータを綺麗にしておく必要が出てくるため、データ削除について解説します。

※発生から40日を超えたデータは削除されます。40日以上データを保管したい場合はデータ保持期間延長オプション利用料金をご利用ください。

SORACOM Harvest Data 画面 ([操作]>[データを確認]) のデータテーブルで、削除したいデータのチェックボックスを付けた後に[削除]をクリックします。表示されたダイアログで改めて[削除]をクリックすると、削除されます。
※ 複数のデータにチェックをつければ一括で削除可能です。

データの復元はできませんのでご注意ください。

SORACOM Lagoon の解約

SORACOM Lagoon はオンラインで解約が可能です。 Free プランであれば有効化しておいても費用は発生しませんが、長期に渡って利用しない場合には解約も選択いただけます。

解約の方法はSORACOM Lagoon の解約(JP)をご覧ください。

次のステップ

本レシピでは、IoT スターターキット for Arduino による「屋内環境計」を作りました。この後の発展形について解説します。

アラート機能の設定

SORACOM Lagoon は可視化を行うダッシュボードの作成だけでなく、値に応じたアラートを作ることも可能です。アラートのアイディアは以下の通りです。

  • 湿度の乾燥を感知してお知らせ
  • 光量の減少に応じた「電灯付けましょう」アラート
  • 気圧の低下を検知したアラート

スマートフォンからの閲覧(データの共有)

SORACOM Lagoonはスマートフォンやタブレットからの表示に対応しています。外出先や他の方との情報共有に利用可能です。スマートフォンで見た時の様子がこちらです。

Maker および Pro プランなら、閲覧専用ユーザーを作ることができます
SORACOM Lagoonの上位プラン「Maker」もしくは「Pro」であれば、閲覧専用ユーザーを作成できます。これにより、情報共有の範囲や運用の柔軟性を高めることが可能です。詳しくはSORACOM Lagoon のご利用料金をご覧ください。

気象データの公開範囲には注意が必要です
温湿度や気圧といった現象全般を「気象」と言いますが、気象に関しては日本では気象業務法に準拠する必要があります。特に気をつけたいのが気象データの公開範囲です。気象庁のよくある質問にも記載されているとおり、気象データの公開については同ページや同法を確認ください。

商品ページへ戻る

SORACOM IoT DIY レシピ »

ご質問などはこちらよりお問い合わせください。

pagetop