あたご工房
天文と電子工作とコンピュータなどについて日々の出来事を書いています。
| ホーム |
3Dプリンタの電源制御
3Dプリンタの電源制御を行います。
3Dプリンタは印刷中で約150W程の電力を使います。
印刷完了すれば10W程度に落ちますが、ファンが回っていますし前回取り付けたLEDランプも点灯しっぱなしになります。
印刷は料金の安い夜間に実行していますがそれでも無駄な電力は極力減らしたいものです。
OctoPrintからスマートプラグを制御してプリンタの電源をON/OFFする記事がインターネット上にいくつかありました。
という事でスマートプラグをAmazonで購入します。
有名所っぽいスマートプラグは極性つきの形状になっていて、接地側(Nと記載されている)が大きめになっているようです。
おそらく壁のコンセントならば刺さるのかもしれませんがテーブルタップ経由だと刺さらない場合があるとか。
どのスマートプラグでもスマートスピーカーとの連携ができるようですし、スマートプラグなんてどれでも中身は同じだろうと思ってこれを選びました。
何しろ値段も格安で3個で3680円です。
ただこれ後で分かるのですが、ちょっとだけ失敗でした。
1.スマートプラグの設定
まずは普通に使ってみます。
3Dプリンタと同じテーブルタップに挿しました。
横には手動で電源ON/OFFする押釦スイッチと動作状態を示すLEDがあります。
最初はLEDは緑と橙の交互点灯状態です。
スマートフォンに専用のアプリを入れてデバイスの追加を行います。
↑の交互点灯は設定状態を示していて、このときスマートプラグはWiFiのアクセスポイントモードで動いています。
そこでスマートフォンをスマートプラグにWiFi接続して設定を進めていきます。
デバイスの追加を選択すると、まずはデバイスの種類を選ぶ画面になりますのでSmartPlugMiniを選びます。
プラグを電源に差し込むよう指示があります。
次へを押すとランプ状態の確認をするように指示があります。
ここまでは既にOKですね。
画面を進めていくと、WiFi接続をするように指示があります。
ここでスマホのWiFi設定を開いて指定のあったAPに接続します。
これでスマートプラグに接続されます。
その後はスマートプラグがインターネットに接続するためのWiFi設定を行います。
これは自宅のAP情報を入力します。
こんな感じで登録できました。
登録されたボタンを押すとスマートプラグがON/OFFします。
以上でスマートプラグ側の準備はOKです。
2.ラズパイで制御するプログラムの準備
さてお次はラズパイからこのスマートプラグを制御します。
Linuxからスマートプラグを制御するtplink-smartplugというソフトウェアがネットにあります。
ダウンロードして設定しようとしてみますがうまくいきません。
どうも変だと思い、スマートプラグの型番(MSS110)で検索してみました。
で、こちらのHPに公開されているPythonライブラリとサンプルでうまくいきました。
サンプルはexamples/toggle.pyを参考に修正してみました。
サンプルファイルを名前の異なる2つのファイル(printer_on.pyとprinter_off.pyなど)としてコピーします。
修正箇所は以下のとおりです。
・EMAILとPASSWORDは直値にしました。
・21行目のdevicetype="mss310"をmss110に変更しました。
・このスクリプトはスマートプラグをONにした5秒後にOFFする処理になっています。
38行目と39行目をコメントアウト(行頭に#を入れる)することでON用のスクリプトにします。
逆に34〜36行目をコメントアウトすることでOFF用のスクリプトにします。
OFF用のスクリプトでは実際に電源OFFするタイミングがちょっと早い場合があるようなので37行目の待ち秒数を30にしました。
実行属性を与えておきます。
chmod 755 printer_on.py
chmod 755 printer_off.py
試しにpython3 printer_on.pyと打って実行させてみます。
スマートプラグがONになれば成功です。
ここでMSS110を選んで失敗だった点。
TP-Link系と違い消費電力が取れません。
ただプラグのON/OFFができるだけです。
よくよく商品ページを読んでも消費電力がわかるとは記載されていません。
プリンタの消費電力が気になるところだったのですが仕方ありませんね。
「どれでも一緒」と思ったのが間違いでした。
3.OctoPrintの設定
OctoPrintにはイベント毎にプログラムを実行する機能があります。
設定画面のEvent Managerを選択して追加します。
あたごはとりあえず↓のようにしてみました。
イベントの種類はたくさんありますので、お好みでどうぞ。
これで印刷ファイルをOctoPrintに転送するとプリンタの電源がONになり、印刷終了や印刷キャンセルで電源がOFFになります。
やってることは大したことではないのですが、自動的に動くって何か感動します。
こういうところがIoTの面白さなのでしょうね。
↓押して頂けると嬉しいです。
3Dプリンタは印刷中で約150W程の電力を使います。
印刷完了すれば10W程度に落ちますが、ファンが回っていますし前回取り付けたLEDランプも点灯しっぱなしになります。
印刷は料金の安い夜間に実行していますがそれでも無駄な電力は極力減らしたいものです。
OctoPrintからスマートプラグを制御してプリンタの電源をON/OFFする記事がインターネット上にいくつかありました。
という事でスマートプラグをAmazonで購入します。
有名所っぽいスマートプラグは極性つきの形状になっていて、接地側(Nと記載されている)が大きめになっているようです。
おそらく壁のコンセントならば刺さるのかもしれませんがテーブルタップ経由だと刺さらない場合があるとか。
どのスマートプラグでもスマートスピーカーとの連携ができるようですし、スマートプラグなんてどれでも中身は同じだろうと思ってこれを選びました。
何しろ値段も格安で3個で3680円です。
ただこれ後で分かるのですが、ちょっとだけ失敗でした。

1.スマートプラグの設定
まずは普通に使ってみます。
3Dプリンタと同じテーブルタップに挿しました。
横には手動で電源ON/OFFする押釦スイッチと動作状態を示すLEDがあります。
最初はLEDは緑と橙の交互点灯状態です。

スマートフォンに専用のアプリを入れてデバイスの追加を行います。
↑の交互点灯は設定状態を示していて、このときスマートプラグはWiFiのアクセスポイントモードで動いています。
そこでスマートフォンをスマートプラグにWiFi接続して設定を進めていきます。
デバイスの追加を選択すると、まずはデバイスの種類を選ぶ画面になりますのでSmartPlugMiniを選びます。

プラグを電源に差し込むよう指示があります。

次へを押すとランプ状態の確認をするように指示があります。
ここまでは既にOKですね。

画面を進めていくと、WiFi接続をするように指示があります。

ここでスマホのWiFi設定を開いて指定のあったAPに接続します。

これでスマートプラグに接続されます。
その後はスマートプラグがインターネットに接続するためのWiFi設定を行います。
これは自宅のAP情報を入力します。

こんな感じで登録できました。

登録されたボタンを押すとスマートプラグがON/OFFします。
以上でスマートプラグ側の準備はOKです。
2.ラズパイで制御するプログラムの準備
さてお次はラズパイからこのスマートプラグを制御します。
Linuxからスマートプラグを制御するtplink-smartplugというソフトウェアがネットにあります。
ダウンロードして設定しようとしてみますがうまくいきません。
どうも変だと思い、スマートプラグの型番(MSS110)で検索してみました。
で、こちらのHPに公開されているPythonライブラリとサンプルでうまくいきました。
サンプルはexamples/toggle.pyを参考に修正してみました。
サンプルファイルを名前の異なる2つのファイル(printer_on.pyとprinter_off.pyなど)としてコピーします。
修正箇所は以下のとおりです。
・EMAILとPASSWORDは直値にしました。
・21行目のdevicetype="mss310"をmss110に変更しました。
・このスクリプトはスマートプラグをONにした5秒後にOFFする処理になっています。
38行目と39行目をコメントアウト(行頭に#を入れる)することでON用のスクリプトにします。
逆に34〜36行目をコメントアウトすることでOFF用のスクリプトにします。
OFF用のスクリプトでは実際に電源OFFするタイミングがちょっと早い場合があるようなので37行目の待ち秒数を30にしました。
実行属性を与えておきます。
chmod 755 printer_on.py
chmod 755 printer_off.py
試しにpython3 printer_on.pyと打って実行させてみます。
スマートプラグがONになれば成功です。
ここでMSS110を選んで失敗だった点。
TP-Link系と違い消費電力が取れません。
ただプラグのON/OFFができるだけです。
よくよく商品ページを読んでも消費電力がわかるとは記載されていません。
プリンタの消費電力が気になるところだったのですが仕方ありませんね。
「どれでも一緒」と思ったのが間違いでした。
3.OctoPrintの設定
OctoPrintにはイベント毎にプログラムを実行する機能があります。
設定画面のEvent Managerを選択して追加します。
あたごはとりあえず↓のようにしてみました。

イベントの種類はたくさんありますので、お好みでどうぞ。
これで印刷ファイルをOctoPrintに転送するとプリンタの電源がONになり、印刷終了や印刷キャンセルで電源がOFFになります。
やってることは大したことではないのですが、自動的に動くって何か感動します。
こういうところがIoTの面白さなのでしょうね。
↓押して頂けると嬉しいです。
- 関連記事
-
- サーバマシンの再構築2022
- 3D CADでモデリング
- 3Dプリンタの電源制御
- 3Dプリンタタイムラプス強化
- Macでステライメージ9
<<ジュラストーンの補修 | ホーム | 3Dプリンタタイムラプス強化>>
コメント
コメントの投稿
トラックバック
| ホーム |