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"と検索してプラグインをインストールします。
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 - vitormhenrique/OctoPrint-Enclosure: OctoPrint Enclosure Plugin
DHT11の準備
温湿度センサーを準備しましょう。enclosureプラグインでサポートされているセンサーは他にもあるようですのでお好みで。私はDHT11というセンサーを使いました。 写真ではセンサー以外にもLEDとかスイッチが刺さってますが気にしなくて大丈夫です。
- 1ピンは電源のプラスです。ラズパイの3.3Vを繋げましょう。
- 2ピンは信号線です。ラズパイの任意のGPIOピンに繋ぎましょう。私はGPIO4に繋ぎました。さらにプルアップの必要があるので10Kormぐらいの抵抗を介して電源(3.3V)に繋ぎましょう。
- 3ピンは未使用です。何も繋ぎません。
- 4ピンは電源のマイナスです。ラズパイのGNDに繋げましょう。 温湿度センサ モジュール DHT11: センサ一般 秋月電子通商-電子部品・ネット通販
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で設定を完了します。
- 念のため再起動しましょう。
温度を確認
enclosureプラグインのタブを開くと温度が表示されているはずです。これで室温を気にしつつ3Dプリンターを扱えますね。