工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

MKR GSM 1400で実現するリアルタイムIoT圧力監視:Arduino Cloud+Google Sheets連携

部品と材料

部品数量備考
Arduino UNO1センサ読取・前処理担当(計装リーダー)
Arduino MKR GSM 14001セルラー通信・クラウド連携担当(通信デバイス)
圧力トランスデューサー(0-150 psi)1アナログ出力、産業用圧力測定
Adafruit DHT22 温湿度センサ1環境監視用
DS3231 RTCモジュール1高精度時刻保持
Adafruit ロジックレベルコンバータ(BSS138、4ch)1I2C 3.3V/5Vレベル変換
3.7V LiPoバッテリ(2000mAh以上)2バックアップ電源
昇圧コンバータ1バッテリから5V/12V生成
基礎キット(LED、抵抗、配線等)1インジケータ等
ブレッドボード1プロトタイピング用

使用アプリ・オンラインサービス

プロジェクト概要

セルラー回線を使い、遠隔地の産業機器圧力を低コストで監視するプロトタイプです。圧力トランスデューサー→Arduino UNO(アナログ→圧力変換)→シリアル→MKR GSM 1400(セルラーでクラウド送信)→Arduino IoT Cloud→Webhook→Google Sheets(解析・メール通知)というデータフローを構築しています。

MKR GSM 1400で実現するリアルタイムIoT圧力監視:Arduino Cloud+Google Sheets連携

MKR GSM 1400で実現するリアルタイムIoT圧力監視:Arduino Cloud+Google Sheets連携

MKR GSM 1400で実現するリアルタイムIoT圧力監視:Arduino Cloud+Google Sheets連携

MKR GSM 1400で実現するリアルタイムIoT圧力監視:Arduino Cloud+Google Sheets連携

MKR GSM 1400で実現するリアルタイムIoT圧力監視:Arduino Cloud+Google Sheets連携

ステップバイステップ実装ガイド

Step 1: 圧力トランスデューサー → Arduino UNO

トランスデューサーが圧力をアナログ電圧に変換。UNOがADCで読み取り、校正式でpsi換算します。変換式はYouTube動画(リンク)を参考。

Step 2: UNO → MKR GSM 1400(シリアル通信)

クロス接続(UNO TX→MKR RX、UNO RX→MKR TX、GND共通)。MKRはSerial1ピン(TX/RX)を使用(公式リファレンス参照)。

データ送信トリガー(3パターン)

モード条件頻度/条件
定期送信(NORMAL)無条件30分毎(transmitFrequency)
閾値トリガー(HIGH/LOW)圧力≤20psi または ≥40psi2分以上継続(dtLastTriggerLimit)で送信
デマンドポーリング(DEMAND)UNOピンA1がHIGH手動ボタン、またはMKR側ピンA3(クラウドから制御可)で即時送信

UNOスケッチ(InstrumentReader)は、圧力以外にも温湿度、電池電圧等を追加監視可能な構造です。シリアル通信実装ではArduinoフォーラムの「Serial Input Basics」(リンク)を参考にしています。

Step 3: MKR GSM 1400 → Arduino Cloud(セルラー経由)

MKRがUNOからシリアル受信し、Arduino IoT Cloudへ2変数で送信:

MKR GSM 1400で実現するリアルタイムIoT圧力監視:Arduino Cloud+Google Sheets連携

MKRスケッチ(CommunicationsDevice)ではSerial1.read()でUNOから受信し、switch(pinCloud)でアクション分岐します。

Step 4: Arduino Cloud → Google Sheets(Webhook)

Google Apps ScriptのdoPost(e)でWebhook受信。設定手順:

  1. 新規Googleスプレッドシート作成
  2. ツール→スクリプトエディタでdoPost実装
  3. 公開→ウェブアプリとして導入:
    バージョン「新規」、実行ユーザー「自分」、アクセス「全員(匿名含む)」
  4. 生成されたURLをArduino CloudのWebhook設定に貼り付け

参考プロジェクト:Arduino IoT Cloud Google Sheets Integration

Step 5: Google Sheetsでデータパース・重複排除・履歴管理

doPost内で:

テスト用シート:公開シート(セル色でデータ来源を凡例表示)

Step 6: Google Sheetsでメール通知

2つ目の関数sendEmail()をトリガー(時間主導・毎分実行)で動作:

MKR GSM 1400で実現するリアルタイムIoT圧力監視:Arduino Cloud+Google Sheets連携

運用実績・コスト

項目実績/見積
バッテリ駆動時間約24時間(ディスプレイ/非必須センサ削減で延長可能)
データ通信量約0.7 MB/日(送信頻度・ペイロード削減で最適化可能)
総コスト約241ドル(内訳:MKR GSM 1400 $70、UNO $22、LiPo×2 $30、ディスプレイ×2 $29、防水ボックス $22、圧力センサ $19、DHT22 $10、RTC $5、昇圧 $5、レベルコンバータ $4、雑費 $25)

ハードウェア調達先

ソースコード

InstrumentReader(Arduino UNO用)


// 圧力読取・閾値判定・シリアル送信・OLED表示・SDカードログ(任意)を含む完全版
// ライブラリ: SPI, Wire, DS3231, DHT, U8glib (Velleman OLED用)
// 詳細は元記事コード欄参照

GoogleSheetsScript.js(Google Apps Script)


// doPost(): Webhook受信・パース・シート書込
// sendEmail(): 閾値/未更新検知メール送信(毎分トリガー)
// 詳細は元記事コード欄参照

CommunicationsDevice(MKR GSM 1400用)

元記事コード欄参照(Serial1使用、pinCloudスイッチ処理、Arduino Cloud変数同期)

回路図

MKR GSM 1400で実現するリアルタイムIoT圧力監視:Arduino Cloud+Google Sheets連携

結論

このプロジェクトは、「安価なマイコン2台分担+セルラー通信+ノーコード寄りのクラウド連携(Google Sheets Apps Script)」という、実用的で再現性の高いIoT監視システムのレシピを示しています。産業現場の遠隔圧力監視だけでなく、水位、流量、振動、ガス濃度など、アナログセンサで計測可能なあらゆるパラメータへ横展開可能です。バッテリ駆動時間と通信コストのトレードオフ、冗長性(デマンドポーリング)、データ重複対策、アラート抑制ロジックなど、実運用で直面する課題への具体的解答がコードレベルで示されている点が特に価値があります。

製造プロセス

  1. Raspberry Pi & HDC2010:I2C温湿度センサー完全セットアップガイド
  2. BMP180 I2C気圧センサー - Raspberry Pi統合ガイド
  3. Python/MicroPythonセンサーロガー:センサーデータをGoogleスプレッドシートにシームレス保存
  4. Raspberry Pi 2からAzure Event HubsへAdafruit 10DOF IMUデータを送信(Windows 10 IoT Core)
  5. Windows 10 IoT CoreとSHT15センサーで高精度な温湿度モニタリング
  6. UnifiedWater v1 - 完全なArduino水質センサーキット
  7. ESP8266・Arduino・超音波センサーで作るスマートIoTジャー:リアルタイム中身監視
  8. ESP32で作るIoT環境モニター:温湿度・気圧・CO2をWebダッシュボードで可視化
  9. DIY Arduino スマートウォッチ — Apple Watch 風腕時計を自作
  10. Arduino IoT CloudとAlexaでテレビを音声操作:ステップバイステップガイド
  11. ADLINKとGoogle Cloudが協業し、シームレスなIoTソリューションを提供