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

GY-91モジュールでRaspberry Pi上に堅牢な温度・センサーAPIを構築

Raspberry Pi上でFlask APIを作成し、GY-91マルチセンサーモジュールから温度、気圧、湿度などを読み取る方法を学びます。このガイドでは、配線、ソフトウェアセットアップ、独自プロジェクトに適応可能なサンプルコードを解説します。

GPIO経由でセンサーを接続

GY-91ボードは4ピンI²Cインターフェースを使用。以下のようにピンを接続:

正確なピンカラーとレイアウトについてはGY-91回路図を参照。

Python依存関係の準備

Raspberry PiにPython 3をインストール。以下のコマンドで最新3.6.xをソースからインストールし、以降のセンサーライブラリに必要なすべてのライブラリを確保。

$ sudo apt-get update
$ sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev
$ wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
$ tar xf Python-3.6.5.tar.xz
$ cd Python-3.6.5
$ ./configure
$ make
$ sudo make altinstall

次に、センサーデータを公開する軽量Webスタックをインストール:

$ pip3 install flask flask-cors flask-restful

サンプルコード

最小限のFlask APIスケルトンとセンサーラッパーを含むレディツーランリポジトリをクローン:

$ git clone https://gist.github.com/wdelenclos/4f0c4b8d564aa5c58f47653fd184eaa7

プログラムの核心はbme280ドライバからデータを取得し、それがGY-91ボード上のMPU9250とBMP280チップと通信。単一行で関連するすべての読み取り値を取得:

temperature, pressure, humidity = bme280.readBME280All()

他のすべてのルートは最新センサー値をJSONとして返す標準的なFlaskハンドラーです。

APIの実行

ローカルでサーバー起動:

$ python3 app.py

バックグラウンドでサービスを継続するには:

$ sudo nohup python3 app.py &

デモ

起動後、https://your-pi-ip:5000/statusにアクセスすると、センサー読み取り値のライブJSONペイロードが表示されます。元ページの例では、このエンドポイントをAjaxで取得し、Webダッシュボードに表示する方法を示しています。

追加の説明やカスタマイズが必要な場合はコメントでお気軽にどうぞ。

出典: Environmental sensor API with a RPi

製造プロセス

  1. センサーデータをRaspberry Piに統合:実践ガイド
  2. Raspberry Piでライントラッキングセンサー – シンプルなKY-033ドア/ライン検出器
  3. Raspberry Piと湿度センサーで作る自動エアロポニックスシステム
  4. Raspberry Pi GPIOマスター:PIRモーションセンサーをB+/Model 2でインターフェース
  5. Acconeer A111パルスレーダーをRaspberry Piと統合:実践ガイド
  6. Python/MicroPythonセンサーロガー:センサーデータをGoogleスプレッドシートにシームレス保存
  7. Raspberry Piカメラをバードハウスに設置:ステップバイステップガイド
  8. Arduino Portenta H7にMAX6675でサーモカップル温度センサーを接続する
  9. Arduino Nanoで水滴を高速撮影 – DIYハイスピードフォトグラフィ
  10. K30 CO2センサで室内空気質をリアルタイム監視する
  11. Pythonモジュールインポート完全ガイド:実例付きで徹底解説