M5Stackを用いたIoTハンズオンセミナー(体験会)の実施に合わせ、M5StackとUIFlowを用いた、実際に役立つデモのweb展示コーナーを開設しました。
概要
- M5Stackを用いたIoTハンズオンセミナー(体験会)を行う際の会場の後方に、実際に展示します。
・7/17【仙台地域開催】IoTハンズオンセミナー
・8/29【大崎地域開催】IoTハンズオンセミナー
・9/16【気仙沼地域開催】IoTハンズオンセミナー - コンセプト:
・IoTハンズオンセミナーで使用する M5Stack(Core2) と UIFlow で構築できます。
・すぐに実際の業務に生かせる例を示します。
・自分で作れるように、デバイスの購入先やプログラムを表示します。
・外部サービスは無料で構築可能なものを活用します。 - web展示内容:
防水温度センサによる水槽の水温監視
機能
- 防水温度センサにより、水槽の温度を常時監視する。
特徴
- 防水なので、食品加工等、水を使用した工程の水温が測定できる
- 水以外の流体の温度も測定できる
応用例
- 工程内で使用される液体の温度の測定
- 飼育水槽の水温の測定
- 湿った土や砂の中の温度の測定
作り方
1.UIFlowの設定 2.防水センサ用のブロック(ds18b20)のインストール方法
- 防水温度センサ(DS18B20) 用カスタムブロックのサイト
(https://github.com/stonatm/UiFlow-custom-blocks/tree/master/ds18b20)
を開き、ds18b20.m5b をダウンロード。 - UIFlowのブロック一覧の一番下にある「Custom」をクリックし、右側に出る「*.m5bファイルを読み込み」をクリックし、 ds18b20.m5b を開く。
- 「Custom」をクリックし、下に「ds18b20」が出ることとを確認。
- 「ds18b20」をクリックし、右に3つのブロックが出ることを確認。
- ピン番号は33に変更する。(Core2の場合)
参考にさせていただいた外部webサイト
- 1時間で作るM5Stackと防水温度センサ(DS18B20)を使った水温計
https://qiita.com/yukimatsu/items/55d1134bb00688e1b907 - 防水温度センサ(DS18B20) 購入元
https://jp.seeedstudio.com/One-Wire-Temperature-Sensor-p-1235.html - 防水温度センサ(DS18B20) 用カスタムブロック
https://github.com/stonatm/UiFlow-custom-blocks/tree/master/ds18b20
TOFセンサとリレーによる水槽の水位制御
機能
- TOFセンサ(距離を測るセンサ)により水面の高さを測り、一定になるように電動ポンプで制御する
(制御しない場合、サイフォン効果により2つの水槽の液面が同じ高さになる)
特徴
- 測定だけではなく、液面が一定になる制御も行う
- エラーが発生した場合にモーターが止まるフェールセーフ機構
応用例
- 魚などの飼育水槽の液面の管理など
作り方
1.M5Stackの設定
参考にさせていただいた外部webサイト
- TOFセンサ購入元
https://www.switch-science.com/products/5219 - リレー購入元
https://www.switch-science.com/products/6783 - 電動ポンプ購入元
https://www.amazon.co.jp/dp/B08R57TPP8
振動の振幅を監視し異常を通知
機能
- 3軸の加速度の振幅を測定し、しきい値を越えたら警報を出す。
(測定可能な振動の周波数は100Hz程度まで) - 測定可能な加速度振幅は2gまで
特徴
- M5Stack Core2 に内蔵されたセンサを使用している
応用例
- 工程内で発生する振動の振幅の監視
- LineやDiscordに接続する機能を加えて、異常発生時の遠隔地への通知
- しきい値を小さく設定し、持ち去り防止装置として活用
作り方
1.M5Stackの設定
Line を用いた、照度異常のスマホへの通知

機能
- 照度を常に監視し、一定値より低く(高く)なったら異常と判断し、Line messaging API により遠隔地に伝える
特徴
- Lineは国内で広く普及したSNSなので、導入がスムーズ (但し Line messaging API で無料で送信できるメッセージは200回/月まで)
- Lineを起動していなくてもメッセージが届いた段階でスマホに表示される(SNSの機能)
- M5Stack側で時刻も記録している
応用例
- 一定の照度が必要な作物の栽培の管理など
- 装置の近くに人が来たことの察知など
- 照度センサを各種センサに変えて、工程内異常の遠隔地での把握など
作り方
- Line側
- 外部Webサイト「UIFlowでLINE Messaging APIを通してLINE公式アカウントからメッセージを送る」(https://note.com/singtaro/n/nbc42ab792de9)の手順1~4に記載の通りに設定する
- M5Stack側 (Core2)
- ここをクリックして .m5fファイルをUIFlow1.0に読みこませる
- または、UIFlow1.0上で以下の図のようにブロックを組み合わせる


参考にさせていただいた外部webサイト
- 「UIFlowでLINE Messaging APIを通してLINE公式アカウントからメッセージを送る」(https://note.com/singtaro/n/nbc42ab792de9)
Discord を用いた、タッチボタン操作のタブレットPCへの通知
概要M5Stack Core2 に標準装備されているタッチパネルが押されたことを、遠隔地にあるWiFiに接続されたタブレットPC等に知らせるデモです。

機能
- タッチパネルの操作を遠隔地に伝える
- タッチパネルは M5Stack Core2 に標準装備されている
特徴
- Discord の活用に電話番号は必要無いので、一般のタブレットPCが活用できる
- Discord はメッセージ送信の回数に制限が無いので、メッセージ量を気にせず通信できる
応用例
- 作業者のタッチによる開始、終了の遠隔地での把握
- タッチパネルを各種センサに変えて、工程内異常の遠隔地での把握
作り方
- Discord側
- パソコンでDiscordにログイン
- 画面右側の「サーバーを追加」をクリック
- 「サーバーの作成」画面で、「オリジナルの作成」をクリック
- あなたのサーバーについてもう少し詳しく教えてください」はスキップ
- 「サーバーをカスタマイズ」で適当なサーバー名を設定して「新規作成」をクリック
- 今作ったサーバーのアイコンを右クリックして「サーバー設定」>「連携サービス」
- 次の画面で「ウエブフックを作成」をクリック
- 作成されたウェブフック(Spidey Bot)の右矢印をクリック
- 次の画面で「ウェブフックURLをコピー」をクリック
- M5Stack側 (Core2)
- ここをクリックして .m5fファイルをUIFlow1.0に読みこませる
- または、UIFlow1.0上で以下の図のようにブロックを組み合わせる
- URLのブロックに、先ほどコピーしたウェブフックURLを貼り付ける

- M5Stackのボタンに触れるたびに、Discordの該当するサーバに接続したタブレットPCにメッセージが表示される
参考にさせていただいた外部webサイト
- Discordのwebhookの設定
DiscordのWebHook機能を使おう! #API – Qiita (最初の方だけ) - M5StackのUIFlowの設定
Discordサーバー上のテキストチャンネルへのメッセージングを UIFlow や Fetch API を使って行う( #GWアドベントカレンダー 4/29 ) #M5stack – Qiita
RFIDとGoogleスプレッドシートを用いた、出退勤の遠隔管理

機能
- RFIDユニットにRFIDカードがタッチされたらIDを読み取り、Googleスプレッドシートの該当する箇所に出退勤と日時を書き込む。
特徴
- Googleスプレッドシートなので全国どこからでも出退勤管理が可能
- カードのタッチによりwebに流れる情報の中に氏名とIDは含まれない
応用例
- 小人数の工場や仮設事務所の出退勤管理など
- 狭い場所での出退勤管理など
作り方
〇 Googleスプレッドシート側
- 外部W1.適切なアカウントでGoogleにログイン
- Googleのマイドライブ上に新規にスプレッドシートを作成し、「拡張機能」→「Apps Script」を選択する。
- 「無題のプロジェクト」画面が出る
- 「無題のプロジェクト」画面で、スクリプトを下図のように入力する。(テキストはここをクリック)
- 入力したら「デプロイ」→「新しいデプロイ」する。
- 「デプロイタイプを選択してください」が出たら、歯車のアイコンから「ウェブアプリ」を選択
- アクセスできるユーザを「全員」にしてデプロイボタンをクリック
- 「新しいデプロイ」の画面で「アクセスを承認」をクリック
- 「Sign in with Google」画面で自分のアカウントをクリック
- 「Google hasn’t verified this app」という画面が出たら「Advanced」をクリック
- 「Go to 無題のプロジェクト (unsafe)」が出てくるのでクリック
- 「無題のプロジェクト wants to access your Google Account」と書かれた画面下方の「Allow」をクリック
- 「デプロイを更新しました」と書かれた画面の「ウエブアプリURL」をコピーする。
- スプレッドシート(ここではShuttaikin_Kanri)上に下図のように入力する。

〇 M5Stack側(Core2)
- ここをクリックして .m5fファイルをUIFlow1.0に読みこませる
- または、UIFlow1.0上で以下の図のようにブロックを組み合わせる


参考にさせていただいた外部webサイト
- UIFlow から Google Sheets にデータを送る方法
「UIFlowを使ってM5StackからGoogleのスプレッドシートに環境センサーのデータを送る」
https://qiita.com/t-sho/items/acba8d720b0b23ffb9d4 - RFIDユニット 「M5Stack用WS1850S搭載 RFID 2ユニット」
https://www.switch-science.com/products/8301 - RFIDカード
https://www.switch-science.com/products/4702
ロードセル と Discord を用いた、重量の監視

機能
- 台の上に乗せられた荷物の重さを常に監視する
- 重さが一定以下(以上)になったら、画面の色とブザーにより警報を発する
特徴
- 同じ重さの物を複数乗せる場合は、個数が把握できる。
- Line, Discord, Googleスプレッドシート等との連係動作が可能。
応用例
- 工程内一時的に滞留する部品の個数の監視など
- 鉢植え植物の水やり時期の監視など
作り方 (M5Stack)
- ここをクリックして .m5fファイルをUIFlow1.0に読みこませる
- または、UIFlow1.0上で以下の図のようにブロックを組み合わせる


使い方
1.四つのロードセルを台の四隅の下に配置し、起動する。起動直後(画面赤色の間)は何も載せない。

2.画面が黄色くなったら5秒以内にキャリブレーション用のおもりを乗せる。

3.10秒後から重さの監視が始まる。初期設定ではおもりが3個以下になるとブザーが鳴る。
参考にさせていただいた外部webサイト
- 重さユニット ( WEIGHT UNIT )
https://www.switch-science.com/products/8014
お問い合わせ
宮城県産業技術総合センター 機械電子情報技術部 情報技術開発班
担当:高久、高野、太田
TEL:022-377-8700
相談受付フォーム
E-mail: miyagi-aiiot@pref.miyagi.lg.jp