ラズパイ&ESP32&Arduinoでデジタルトランスフォーメーション構想に寄与できそう~その1 | 秋葉は外神田ですがなにか?

秋葉は外神田ですがなにか?

ガッチャマン背景だったものを、映画不振とは関係なく、
ふつーのCoolTypeに変更しました。
少しは文字が読みやすくなったのではないでしょうか?
・・・と、思ったけど、やっぱりガッチャマンにもどしました。2013.10.15
※トップページ放置確認w2021.Aug

RaspberryPiとESP32とArduinoを中心に各種センサーでデータ収集、

リモートによる状態監視を行うシステムを検討します。

当システムの必要性は、必要な人には必要、いらない人には全く不要なシステムです。

 

現状、

 お高いシステムとして、ご高尚なシステム屋さんが立派なサーバーを使って構築している

 であろうと思いますが、

昨今の電子工作界隈では、

 小型で高性能なマイコンが多数出てきており、わりと頑丈に動く、安い、ので、

 汎用的なIotデバイスで、普通のInterNetProtcolを使って、立派な働きをする仕組みを

 作ることができれば、

  ・コストはお安め。(でかいサーバー比)

  ・意外に安定動作(RaspberryPiもSDの信頼性に依存するくらい安定的)

  ・低消費電力

 のメリットがあり、

 これをお高く売れれば、粗利が大きい=それなりに儲かる

 というわけです。

 

では、本文

 データ収集システムを構築を考えた場合の、MQTTの構築構成を、

 全体構成および各機能ブロックごとに分けて詳細に説明します。

全体構成:

  1. Raspberry Pi (サーバー):

    • MQTT Broker: Raspberry PiはMQTTブローカーとして機能し、データの中央集約と管理を行います。
    • データ処理と保存: 受信したMQTTメッセージを解析し、必要な処理を実行。データベースへの保存や他の応用処理を行います。
  2. ESP32 (データ収集用):

    • MQTT Publisher: ESP32はセンサーデータを収集し、MQTTメッセージとしてRaspberry PiのMQTTブローカーに発行します。
    • センサーデータの収集: ESP32上でセンサーデータを収集し、それをMQTTメッセージに変換して送信。

Raspberry Pi (サーバー) 機能ブロック:

  1. MQTT Broker:

    • Mosquittoのインストール: Raspberry PiにMosquittoなどのMQTTブローカーソフトウェアをインストールします。
    • ブローカーの設定: MQTTブローカーの設定を行い、必要に応じてセキュリティ設定を施します。
    • ポートの設定: MQTTブローカーがリッスンするポートを設定し、ファイアウォールを構成して必要なポートが開かれていることを確認。
  2. データ処理と保存:

    • データベースの選定とインストール: 適切なデータベース(例: SQLite、MySQL、InfluxDB)をRaspberry Piにインストールします。
    • データベースへの接続: MQTTメッセージを解析し、データをデータベースに保存するための接続を確立。
    • データ処理ロジックの実装: 必要なデータ処理ロジックを実装し、データの整形や集計を行います。

ESP32 (データ収集用) 機能ブロック:

  1. MQTT Publisher:
    • PubSubClientの導入: ESP32上でMQTT通信を行うためのPubSubClientなどのライブラリを導入します。
    • MQTTブローカーへの接続設定: Raspberry PiのMQTTブローカーに接続するためのMQTTサーバーのアドレスやポート、認証情報を設定。
    • センサーデータの収集: センサーデータを取得し、MQTTメッセージとしてフォーマットして発行。

通信フロー:

  1. ESP32 -> Raspberry Pi:

    • ESP32がセンサーデータを収集し、MQTTメッセージとしてRaspberry PiのMQTTブローカーに発行。
    • Raspberry PiのMQTTブローカーがメッセージを受け取り、データ処理ロジックに基づきデータを処理して保存。
  2. Raspberry Pi -> ESP32:

    • ESP32に対して必要な設定やコマンドをMQTTメッセージとして送信。 (例: ファームウェアの更新指示)

この構成により、ESP32がデータをセンサーから収集し、MQTT経由でRaspberry Piに送信され、Raspberry Piでデータの受け取りと処理が行われます。

 

という基本構成で、各部分の実装テストを行っていきます。

 ちなみにデータ保存は バックアップ用として

 ラズパイNASを使おうかどうしようかというところです。