見出し画像

OctoPrint-Webhooksプラグインで、3Dプリンターの印刷完了写真をLINEに送信する!

こんにちは!

3Dプリンターで印刷していると、眺めてても楽しいんですが、
完了まで何時間もそこで見ている訳には行きませんよね。
ご飯とかトイレとかお風呂とか歯磨きとか…
やるべきことがたくさんあります。
ただ、それらをしていると、いつの間にか印刷が完了していた、
なんてことも多々あります。

ならば、OctoPrint の構築が終わっていて、
カメラも付いているという環境であれば、
その画像と完了通知をスマホに通知させれば良いですよね!
スマホに通知させる手段としては、
既存のプラグインだと、IFTTTやslackを利用したものがありますね。
しかし、今回はLINEに通知させてみます!

LINE Notifyを準備する

まずLINEで通知を受け取るために、
LINE Notifyの設定を行います。
以下のURLにアクセスし、ご自身のLINE IDでログインしてください。
https://notify-bot.line.me/ja/

注意点として、PCでのログインの場合、
スマホ側でメールアドレスとパスワードの登録、
さらにログインの許可をしておかないと、ログインできません。

ログインができたら、右上にある自分の名前を選択し、
マイページを開きます。そこからアクセストークンを発行します。
発行する名前は、通知とかなんでもいいです。
後から追加もできますし、削除もできます。
発行出来たらログアウトも忘れずに。

こんな形で発行されるので、コピーして忘れないように保存しといてください。


OctoPrint-Webhookのインストール

OctoPrintの方は、すでに構築が終わっているものとして話を進めます。
まずOctoPrint の画面に入り、上のスパナアイコンからsettingを開き、
プラグインマネージャーを開いてください。
[+Get More]を選択して、webhookと検索すれば、
OctoPrint-Webhookプラグインが出てきますので、インストールしてください。
インストールが終わったら一度OctoPrint を再起動します。

webhookの設定

再起動が終わったら設定を行っていきます。
またスパナアイコンからsettingを開き、
一番下に追加されたWebhooksから設定していきます。

Webhook Settingsに、
以下のURLを入力します。
https://notify-api.line.me/api/notify


次にEventsを開き、通知したい内容を記入していきます。
今回はPRINT DONE(印刷完了時)と、
PRINT FAILED(印刷失敗、または中止時)に通知を送るよう設定しました。


その次にAdvancedの項目を開き、
HEADERSの項目とDATAの項目を編集します。
HEADERSには
{
"Content-Type": "multipart/form-data",
"Authorization": "Bearer 発行したトークン"
}
と入力し、
(注意:Bearerと発行したトークンの間には半角スペースを入れてください)
DATAには
{
"message": "@message",
"imageFile": "@snapshot"
}
と、入力します。


設定時の注意として、
基本的にはフォームに入力すれば保存されますが、
入力したのに保存されていない時があります。
設定が終わったら、一度ブラウザをリロードして
設定がちゃんと入っているか確認してみてください。


実際に届くか試してみる

今回は私がよくテストプリントに使用させてもらっている
ヤモリのデータを印刷してみました。
ちゃんと画像付きで届いていますね!

上の画像はテストで送ったものなので気にしないでね

これで、印刷中に他のことをしてても、完了すればLINEとして通知が来ますからすぐわかるようになります。
ちなみにLINEに通知させれば、別の部屋どころか
外出してても通知されます。
印刷中に外出して、ちゃんと出来てるかな?大丈夫かな~
という不安を、これで減らせますね!

この記事が気に入ったらサポートをしてみませんか?