OctoPrintに室温計を追加、DHT11

3Dプリンターに室温計を追加

ender-3という3DプリンターをoctoPrintを介して使っています。特にABSを使う場合室温も気にしないといけないらしいのでラズパイに温湿度センサーを外付けして室温計にしてみたいと思います。

octoPrintの準備

octoPrintというのはSDカードを使って直接3Dプリンターから印刷する手間を省くためにネットから3Dプリンターを操作できるようになるものです。3Dプリンターって結構やかましいので離れた場所に置く事が多いと思うのですけれど、そういった時に遠隔で操作できると便利です。ラズパイを使ってセットアップしますが、これはネットにいっぱい記事があるので割愛します。私はラズパイ3Bを使ってます。

enclosureプラグインの導入

OctoPrintのwebページ上で室温を表示するためにenclosureプラグインを使わせて頂きます。温度計の他GPIOの入出力やPWMとかもwebページ上から操作できるようになるそうです。3Dプリンタの電源を操作するなどに使えそうですね。

  • OctoPrintの設定画面を開きます。(上部のタブのレンチのマーク)
  • "Plugin Manager"から"enclosure"と検索してプラグインをインストールします。

OctoPrint-Enclosure

Adafruit libraryのインストール

今回は温湿度センサーとしてDHT11を使用します。これ用にライブラリを導入する必要があるらしいのでこれを導入します。sshでOctoPrintに使っているラズパイに接続し下のコマンドを実行してください。注意としてOctoPrintのプラグインはpython2.7で動いているのでpython -Vを実行してpython2.7であることを確認しておきましょう。このあたりの操作には詳しくないので自信ないです。リンクを張っておきますので詳しくはそちらをみてください。下のコマンドはリンク先からの引用です。

  • pipのインストール
sudo apt-get update
sudo apt-get install python-pip
sudo python -m pip install --upgrade pip setuptools wheel
  • Adafruit libraryのインストール
cd ~
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo apt-get update
sudo apt-get install build-essential python-dev python-openssl
sudo python setup.py install

GitHub - adafruit/Adafruit_Python_DHT: Python library to read the DHT series of humidity and temperature sensors on a Raspberry Pi or Beaglebone Black.

GitHub - vitormhenrique/OctoPrint-Enclosure: OctoPrint Enclosure Plugin

DHT11の準備

温湿度センサーを準備しましょう。enclosureプラグインでサポートされているセンサーは他にもあるようですのでお好みで。私はDHT11というセンサーを使いました。 写真ではセンサー以外にもLEDとかスイッチが刺さってますが気にしなくて大丈夫です。

enclosureプラグインの設定

OctoPrintのwebページからセンサーの設定をしページ上に温度を表示します。

  • OctoPrintの設定画面を開きます。(上部のタブのレンチのマーク)
  • "Enclosure Plugin"から"Add Inputs"を押してセンサー入力を追加します。
    "Label"は入力の名前です。任意の名前を設定しましょう。
    "Input Type"ではセンサーの入力なので"Temperarure Sensor"にしましょう。
    "Sensor Type"からDHT11を選択しましょう。
    "Sensor Pin"ではDHT11の信号線をつないだGPIOの番号を入れましょう。私はGPIO4を使ったので4と入力。
  • 入力の設定がすんだら左下の"Advanced options"から"Use SUDO"にチェックが入っている場合外しましょう。(なぜか私の環境ではチェックがあると動きませんでした。ログを確認するとSUDOのチェックはずしてとでてました。)
  • 設定がすんだら右下のSAVEで設定を完了します。
  • 念のため再起動しましょう。

f:id:Hamakita:20201226154042p:plain

温度を確認

enclosureプラグインのタブを開くと温度が表示されているはずです。これで室温を気にしつつ3Dプリンターを扱えますね。 f:id:Hamakita:20201226154448p:plain