【M5Stack】WiFi経由でスプレッドシートへのデータ書込方法とは?
基礎・基本を学ぶ

No.173 長谷川正の「言ったモン勝ち」


データをスプレッドシートに書き込む方法

1.金型に温度センサーを取り付けてM5Stackで温度データを取得する。 ⇒ 済み
2.得られた温度データをWiFiで飛ばしてモニター表示し、リアルタイムでチェックする。
3.同時に温度データをスプレッドシートへ書き込んで、データを自動的に蓄積していく。

今回は3に挑戦です。といってもゼロから作るのではなく、似たような事例を公開しているサイトをネットから探し出し、それを参考にしてスケッチにアレンジしていきます。最初は自身のGoogleドライブ上にスプレッドシートが追加されている状態から説明します。

https://www.e-hasegawa.co.jp/wp-content/uploads/46723d559c31ecba16f6ab66a6ca1b2d-500x500.jpg
長谷川正

ここではM5ATOM Liteを使って2つの温度センサー(ADT7410)のデータ値を取得する方法について説明しています。設定の前提に関してはこちらのブログを参照願います。

デプロイ作成と承認

スプレッドシートへの書き込みには、①デプロイの作成、②デプロイの承認、③スケッチの作成、の3段階の設定が必要となります。デプロイとは英語で「deploy」と書き、直訳すると「常駐する・配置する」という意味です。ITの分野では、システムにおいて「実行ファイルを実際のWebサーバー上に配置して、利用できる状態にすること」を指しますが、初心者は難しいことを考えず、必要なプロセス程度に捉えてもらっても支障はありません。

1.デプロイ作成の設定方法

先ずは、どの様なスタイルでデータを蓄積するのかを考えて、スプレッドシートの1行目に項目名を入力していきます。一般的に下記のようにデータを取得した日時、どのセンサーのデータかを列記しますので、左から「日時」「センサー_1」「センサー_2」とします。また、私はシートの名前を「金型_A」に変更しました。このシート名は後記するGAS(Google Apps Script)でのコードに入力しますので、覚えておきましょう。

次に、「拡張機能」→「Apps Script」を選択します。

GAS(Google Apps Script)が立ち上がってきますので、下記の赤枠の箇所に下記のサンプルコード(スケッチ)を完全上書きします。なお、GASの名称が「無題のプロジェクト」と表記されていますが、ここは気にせず進みましょう。気になる方は名称を変更しても構いませんが、後工程のウェブアプリ認証過程で名称を確認することがありますので覚えておく必要があります。

その際、下記赤枠の箇所に先程自分で指定したシート名を入力してください。私は「金型_A」と入力しています。また、温度データを入れている変数名は「temp_1」「temp_2」としています。これは、各々で自由に変更してもらっても構いませんが、後述するM5ATOM Liteのスケッチの変数名と同一である必要があります。

次に「デプロイ」→「新しいデプロイ」を選択します。

すると、「デプロイタイプを選択してください」と聞いてきますので、「種類の選択」→「ウェブアプリ」を選択します。

設定の詳細が選択できるようになりますので、アクセスできるユーザーを「全員」に変更し、右下の「デプロイ」をクリックします。

「デプロイを更新しました」表示の下にウェブアプリのURLが出てきます。このURLは、この後のM5ATOM Liteのスケッチに挿入する時に必要になりますので、コピーしておいてください。長いURLそのものをコピーしても問題ありませんが、赤枠の「コピー」をクリックしてPCのクリップボードに保存したほうが手軽でミスもありません。最後に「完了」をクリックします。

以上でデプロイ作成は無事に完了しました。続いて、デプロイを承認する設定を行います。

2.デプロイ承認の設定方法

新しいデプロイを承認するには、Googleドライブ上のスプレッドシートへのアクセスを許可する必要があります。「アクセスを承認」をクリックしてください。

先ずは、承認するGoogleアカウントを選択する画面が出てきます。ここでは、自分のGoogleアカウントを選択しましょう。

すると、「このウェブアプリは認証されていません」という警告画面が表示されます。ここでは恐れずに「Advanced」をクリックして次に進みましょう。

ここで、GAS(Google Apps Script)の名称(ここでは「無題のプロジェクト」)が表示されます。自分が覚えている名称と同じであることを確認し、クリックして先に進みます。

最後に、承認するかどうかの最終確認画面が表示されます。問題なければ「Allow(承認)」をクリックします。

再確認の意味で、自身のGoogleアドレス宛に下記のような承認メールが届きます。これで承認作業は無事に完了しました。

3.M5ATOM Liteのスケッチ作成

スプレッドシートでの設定は上記にて完了しました。次に、M5ATOM Liteでのスケッチ作成に移ります。下記の入力項目を事前に用意し、下のスケッチ(2分割表示)を書き込んでいきしょう。なお、用意するSSIDは2.4GHz帯(無線LAN規格11b/11g)である必要があります。つまり、5.0GHz帯(11a/11ac)では使用できません。

・WiFi接続に必要なSSIDとパスワード(スケッチ上の「X」と「Y」)
・上記で得られたスプレッドシートのウェブアプリURL(スケッチ上の「*」)

※下記スケッチは2分割にて表示していますので、それぞれコピーが必要です。

なお、M5ATOM Liteの本体に装備されているのはLEDだけですので、温度データが正常に更新されているどうか一見では判断できません。そのため、温度データが更新される度にLEDの色が緑→赤→青→白→緑(繰り返し)へと変化するようにプログラミングし、正常更新が目視で確認できるようになっています。

実際のスプレッドシートへは、下記のように書き込まれます。

以上で、M5ATOM Liteの2つの温度データをWiFi経由にてスプレッドシートに書き込むことができました。う~ん、誤解したくないのは、IoTを実装することは目的ではなく単なる手段に過ぎませんので、まだまだ越えるべきハードルがありそうです。ある意味、ますます楽しくなっていきそうです。

次回のブログでは、データを自動的に取得する時のポイントについて書き記します。

参考)【M5Stack】中小企業の自作IoT導入事例とは?
参考)【M5Stack】センサで金型の温度測定とは?
参考)【M5Stack】I2C接続ケーブル長さの限界とは?
参考)長谷川製作所の得意技術(防水照明器具製造)


*工事不要、誰でも手軽に提灯を飾ろう!
提灯コードのイメージ
*提灯コード動画始めました。
提灯コードの動画
*国内唯一のプラスチックを膨らませる技術
「アクリルグローブ」
テラリウム

関連記事

TOP