Bambuddyにライブアクティビティ表示を追加する

Bambulab製3Dプリンターの集中管理システムBambuddy導入の記事はこちら。

神ツールですがBambulabのサードパーティツール締め出し施策の絡みで、これを使うには開発モードを有効にする必要があり、結果としてBambu純正のスマホアプリBambu Handyが使用できなくなります。多くの機能はBambuddyに直接スマホブラウザからアクセスすれば事足りるのですが、どうしても弱いのが通知系です。Bambuddyは代わりにDiscordなどの連携したチャットツールに進捗やエラー情報をポストする機能があるのですが、さすがにiOSのライブアクティビティ(ロック画面やDynamic Islandに進捗バーを表示するアレ)には対応できません。Home AssistantやBambuddyまでは進捗データが来ているので、そこから適当なREST APIに出力するパッチをClaudeさんに書いてもらって、なにか汎用のREST APIからLive Activityを作製するアプリを探すか、これもAIに作ってもらうか?と考えてチャットで相談してみたら、なんと既に同様のことができるソリューションがあるという返答が。

■notify-bambuddyとNotify!で実現

notify-bambuddyはsimplytoast1氏が公開しているオープンソースプロジェクトで、Bambuddy用のコンパニオンツールです。Bambuddyの稼働しているマシンに同一または独立のDockerコンテナとしてインストールすれば、Bambuddyからプリント状況を取得し、Notify!アプリ(後述)のサーバーに投げてくれるというもの。ほぼ1人で開発されており、あまり注目されていないプロジェクトのようですがClaudeさんが見つけ出してくれました。

Notify!は様々なサーバーから状況を取得してLive Activityを発行する汎用アプリで、Bambuプリンタ->Bambuddy->notify-bambuddy->Notify!サーバー->Notify!アプリ->ライブアクティビティというチェーンで実現します。

Notify!のサーバーを経由するのでnotify-bambuddyはポート開放する必要がないのもナイス。

またBamby Handyのライブアクティビティは一度アプリを開いて印刷中のデータを都度取得する必要がありました。ひとつの印刷に対してのみ有効なライブアクティビティが生成されるという感じ。それがNotify!を通じたシステムだと、一度アプリを起動してサーバーとPUSH通知のパスを通しておけば、それ以降に開始した印刷の進捗が自動的にライブアクティビティに追加されます。このサーバー基点で新規アクティビティを発行する機能(push-to-start)はiOS17.2から実装されたらしく、それまではiPhone内のアプリからしか開始できず、アプリを開かない限り更新されないという制約がありました。Bambu Handyはその時点の仕様を元に作られており、push-to-startに未対応、ということなのかと理解しました。もうこの時点でBambu Handyを超えました。

■notify-bambuddyのセットアップメモ

この記事を執筆した時点で、リリースされている0.5.0だとiOSの最新仕様に追いつけていないのか、一部問題が発生しました。Claudeさんに解析してもらいパッチを作製してIssueとして投げておいたので、そのうち反映されるかも知れませんが、一応やったことをメモしておきます。DockerでBambuddyと同一ホストに別コンテナとして作製する想定です。同一コンテナで作ると起動/終了は一本化できて楽ですが、BambuddyのAPIキーをdocker-config.ymlファイルに平文で書くことになりセキュリティ的に微妙だったり、Bambuddyの更新時に設定が上書きされるリスクがあるので、完全独立でコンテナを作製する方針としました。

BambuddyのAPIキーを作る

Bambuddyの「設定」->「APIキー」で読み取り以外の権限を抜いたAPIキーを1つ発行しておきます。

iPhoneにNotify!アプリをセットアップ

アプリをインストールして起動すると三択画面が出るので、一番下のNorification Onlyを選択。画面がわかったら「Settings」タブを開き、1台1台固有のDevice IDとTokenが表示されるのでメモしておきます。

notify-bambuddyのコンテナを作製

コンテナ用に適当なフォルダを作り、docker-config.ymlをリポジトリのREADMEからコピペします。

同じフォルダに.envファイルを作り、以下の内容を記述します。

BAMBUDDY_URL: Bambuddy本体にアクセスできるURL(LANアドレスでOK)
BAMBUDDY_API_KEY: 上で発行したAPIキー
NOTIFY_DEVICE_ID=Notify!アプリで確認したDevice ID
NOTIFY_DEVICE_TOKEN=Notify!アプリで確認したToken
DRY_RUN=(テスト実行なら1、本番なら0)

という感じ。追加で、以下の項目も書けるようです。

.envを保存したら

を実行して所有者以外は読み取れないようにしておきます。

DRY_RUN=1の状態で、テスト起動します。

ここからが問題です。コンソールに

というエラーが出ました。.envに記入したDevice IDの形式が「8文字のはずなのに多すぎる、これは正しいDevice IDじゃない。」と言っているわけです。しかしNotify!アプリの設定画面には確かに16文字表示されているんだからしょうがない。notify-bambuddyの最新0.5.0は2026年9月1日更新のようなので、もしかするとその後で正式版がリリースされたiOS27でDevice IDのフォーマットが変わった可能性があります。実際、curlでNorifyサーバーにDevice IDとTokenの組み合わせを送ると正常と判定されます。Notify!アプリが発行し、Notifyサーバーは有効だといっているものを、notify-bambuddyが勝手に不正な形式だと怒っているだけです。

そこでさらにClaudeさんにGithubリポジトリを読んでもらって判定箇所を特定、パッチを作製してもらいました。そのdiffがこちら。

いや、Claude優秀だな!

Docker内のソースを一時的に書き換えて実行する手順な以下の通り。

  • コンテナディレクトリ(docker-compose.ymlがあるフォルダ)で、「git clone https://github.com/simplytoast1/notify-bambuddy.git」して、最新の0.5.0をローカルに展開。
  • cd notify-bumbuddy/src/notify-bambuddy/するとconfig.pyファイルがあるので上記パッチを適用。
  • コンテナディレクトリに戻って「docker build -t notify-bambuddy:local .」でビルド
  • docker-cimpose.ymlのimage行を「image: notify-bambuddy:local」に書き換え。

これでDockerが取得したままの0.5.0のかわりに、ローカルでアップデートしたビルドを実行してくれます。もし後日公式でアップデートされたら、image行を最初の通りに戻します(その際は0.5.0ではなくなっているでしょう。latestでもいいはず)。

■動作の様子

こんな感じでロック画面に進捗バーが復活しました。2台同時に動いている時もちゃんと2つ出ます。これでBambu Handyへの未練がなくなります。

エラーで止まっている時はこんな感じ。

■追加設定

・通知領域タップ時の遷移先

ライブアクティビティの制限として、通知をタップした場合、そのアクティビティを作製したアプリ、つまりNotify!アプリが開いてしまいます。できればBambuddyの画面にとばしたい。それには、.envに以下を書けば、通知ボックス上にリンクが出現するようです。

ただし、BambuddyのURLはグローバルアドレスでないと自宅外からは参照できません。またあくまで通知ボックスの中にリンクが出るだけで、通知ボックス全体のタップ遷移先はあくまでNotify!アプリになってしまうようです。設置してみたものの、まだ結果が見られてないので、反映されたらまたスクショ貼ります。

だだあくまでURLをブラウザで開くのみなので、PWAとして動かすことはできなそう。

追記: ボタンは出現したもののタップしてもNotify!アプリにしか遷移せず。

・複数デバイスへの通知

iPhoneの他にiPadでも同じライブアクティビティを表示したいですが、.envに記入するDevice IDとTokenはアプリをインストールした端末毎に固有です。Notify!アプリにGroup IDという機能があって同じ通知を別端末で受けることも可能なようですが、ライブアクティビティでも反映されるかは不明。

Claudeはnotify-bambuddyコンテナを複数立てる(正確には1つのコンテナに複数のインスタンスを動かす)方法を提案してきました。どちらを使えば実現できるのか今後検証予定です。

追記:やはりGroup IDを登録してもiPadには表示されないので、Docker上でサービスを二重に起動するようにしました。2つのサービスがBambuddyに問い合わせをすることになりますが、同一ホストの通信だしたいした不可ではないでしょう。

docker-compose.ymlはこんな感じに。

ポイントはenv_fileに別々のファイル名を指定し、それぞれにDevice IDとTokenが違う設定を書いたこと。volumesも独立で2つ作成されます。

もとのiPhone用コンテナも名前を変更したので、普通に再起動するだけではサービスが3つになってしまいました。

でymlファイルから消えた迷子のサービスを消去し、volumeも削除しておきます。

Bambulab A1 miniを追加して2ヶ月レビュー〜AMS HTも装着

3Dプリント品の注文激増で、元から使っていたX1-Carbonに加えて急遽A1 miniしてから2ヶ月ほど経ちました。この爆売れエントリーモデルが小規模3Dプリントショップのワークフローをどう改善したのかふり返りをしつつ、どのみち高温フィラメントは使えないA1 miniになぜか85℃まで乾燥できるAMS HTを追加した経緯も紹介していきます。

購入時の記事はこちら。

■A1 mini、2ヶ月使ってみてどうだった?

結論からいうと満足しています。導入の狙いと割り切りだった、

  • PLA/PETG専用機
  • 小物専用機
  • 場所を食わない
  • コスパが良い(セール時)

としてサブ機として導入し、しっかりとサブ機として役割を果たしてくれています。もちろんサブ機でもエンクロージャーがあってPA6-CFやASAなど高温フィラメントが使えたらなぁと思う場面はありますが、現状ではスペースや電源の問題で難しく、

  • エンクロージャーが必要なものはX1c
  • PA/PETGで作れるものはA1 mini

という振り分けで役割分担できています。X1cはPETG-CFとPA6-CF、たまにASAという感じでフル回転なので、PLAものを中心に量産マシン、または試作マシンににしています。0.2mmで数時間かけて作るようなアイテムも寝る前にセットしておいてメイン機を専有されることなく粛々と安定して造形してくれます。もともとPA6-CFやASAのような失敗しやすいフィラメントを使わないのもあって、安定度も高いです(それでも何度か団子はできたり、定着せずにスケートになったりはしています)。

先日導入したBambuddyも相まってとにかく同じ物を延々と造形する効率が大幅に上がりました。量産する人には是非Bambuddyの記事は読んでいただきたいです。

A1 miniの不満点

・タッチ画面が小さくレスポンスも悪い

画面が小さいせいでボタンも小さかったり近接しすぎていることがあり、押しづらかったり反応もイマイチ。写真入りのエラー画面などはPC98とかX68000時代を彷彿とさせる、画像レンダリングが目視できるようなもっさり感があります。X1cのサクサク感に慣れた身からすると快適とは言い難いです。当初はメモリリークでもしていてそのうちハングアップするんじゃないか?という不安を覚えましたが、今はまぁこれが通常なんだなと納得しています。

・クイックスワップノズルは言うほどクイックではない

P2/H2系でも一般化されているクイックスワップノズル採用機は初になります。旧世代のX1/P1系の2本のネジを外し3つのコネクターを脱着しなければならないのに比べれば確かに手軽なのですが、毎回シリコンソックを付け直さないとだったり、ノズル裏のマグネットで留め具が引き寄せられてしまい干渉したりと、こちらはこちらで地味にフラストレーションがあります。我が家ではA1 miniでは0.2mmと0.4mmを日常的につけかえて使用して、たまに0.6mmも、という感じなので、結構気になっています。また交換後にタッチパネルから手動で設定を切り替えるのも上記の操作性の悪さでストレス。クイックいうならNFCとかで自動検知して切り替わるくらいの芸当が欲しいです。

一度フィラメントが団子になってから、取り外ししづらくなり、50℃くらいまで加温しないとペンチでも抜けないくらいになってるのもしんどい。

・ファン異常でスタートしないことが多い

A1 miniのヘッドの左側面にはノズルのヒートシンクを冷やす冷却ファンがむき出しでついています。ヘッドを動かそうとしたり、固定しようと両側から指で挟むと高確率でファンに触れてしまい「やべっ」となります。最初に何度か触れてしまったからか初期不良なのかわかりませんが、ファンが自力でスピンアップできずにエラーになって、造形をスタートしたつもりが始まってすらなかった、ということが多々あります(その間加熱だけはずっとされてノズルはアチアチ)。指でチョンチョンと触れて勢いをつけてやると回転し出すのですが、液晶が省電力で消えていると、エラーが起きていること自体に気づき辛く、何時間も無駄にしたこと多数。ファンにうっかり触れないようにするファンガードのモデルがMakerWorldにも多数上がっていますが、逆にこれをつけることでエラーになってる気もしていて、結局今は外しています。つけるなら購入直後につけて、1回もファンに触らないように注意するのが安心でしょう。

・ヘッドのフィラメント入り口(クイックコネクター)でひっかかる→補助具で改善

PTFEチューブにフィラメントを送り込んでいく際、チューブに圧がかかって曲がっている時など、写真のクイックコネクター手前でコツンと段差に引っかかってエクストルーダーまで送り込めないことがありました。チューブを手で真っ直ぐ垂直にしてやるとスルっと入るのですが、毎回するのが面倒でMakerWorkdからこのモデルをプリントして取り付けました。ちょっとデカくてブサイクですが、問題は解消しています。ウチは4連AMSは使わないので、もう少しシンプルなものも探せばあるかも知れません。てかここに4口いらないので外せないのかな?

似た問題はAMSハブでも起きており後述します。

・SuperTackプレートが手に入らない→サードパーティ製プレートで代替

X1cでも多用している純正低温プレートであるSuperTackがずっと品切れで買えません。前記事にも書いたとおりBIQUのCyroGrip Pro FrostBiteのオレンジを買ってみました。オレンジはAmazon.co.jpにはなく本家公式から。

底面テクスチャーは純正テクスチャPEIほどガタガタせず、適度なざらつきがあって好みでしたが、割とこびりつきが酷くて、追加でPhaetus(のビルドプレートブランドのArkfly)のこちらを追加購入。

これも同程度のテクスチャー感です。A面B面の刻印が入っているのが素晴らしいです。Amazonでサクっと買えてコスパも良い。BIQUとどちらが良い悪いというより、底面の品質にこだわるアイテム専用に温存し、雑に普段使いするのはBIQU、という使い分けをしています。BIQUと色が違う上、A/B面も見分け易いので。

・フィラメントロード時の吐出が足りない印象

フィラメントを交換して「ロード」をすると、一定量ノズルから吐出してエクストルーダー内に残った前のフィラメントを押し出してくれる動作をしますが、全般的にそれが足りてない気がします。特に、黒系のフィラメントの後に白系でプリントすると、底面付近に黒が混じったり。Bambu Studiのフィラメント設定でこの辺りを増やせばいい気もしてますが、フィラメント毎に増やすのも面倒で、今のところ、ロードしてノズルが暖かいうちに完全に新しい色が吐出されるまでタッチパネルから手動送りをしてしのいでいます。

・フィラメントの手動送りが面倒くさい&Zレベルが低い時に送り込みしづらい

X1-Carbon ComboでAMSの自動フィラメント送りに慣れてる身からすると、素のA1 miniは毎回PTFEチューブにせっせとフィラメントを送り込みエクストルーダーまで到達させなければなりません。これが地味に面倒で、特にZレベルが下がっていると、猛烈にやりづらいです。これはフィラメントホルダーを真後ろではなく斜めにオフセットするアングルアダプターをつけてるせいもあるかも知れません。ただ送り込みが面倒というだけでもありません。X1cで外部スプールをを使った場合と同様に、造形が終わった後もフィラメントがロードされたままになっています。さて、フィラメントを替えようとかノズルを替えようってなったらいちいち「アンロード」を選択して加熱待ち->フィラメントを巻き戻し->ノズルがある程度冷めるのを待ってノズル交換->「ロード」->フィラメントを送り込みといった手順が発生します。なんとなく加熱もX1cより遅い気がして、毎回結構な待ち時間が発生します。AMSだと造形後にフィラメントをカットして巻き戻すところまでやっておいてくれるので、次にフィラメントやノズルを交換するところからスタートする時、圧倒的にスピーディになります。これが次節のAMT HTを導入するモチベーションになりました。

■A1 miniにもAMS HTを追加導入

AMS HTは85℃まで乾燥加熱ができるシングルスプールのAMSです。X1cにはAMS1と並行してAMS HTを1台つけています。ただA1 miniにこれを買ったところでマルチカラー、マルチマテリアルの自動切り替えができるようにはなりません。しかも85℃乾燥を必要とするPAやASAなどの高温フィラメントはチャンバーのないA1/miniではほぼ使用不可能です。A1/miniのアップグレードとしてAMS HT選ぶ人はあまりいない気がします。PETGの乾燥を多用する人くらいでしょうか。

それでもあえてA1 miniにAMS HTをつけようと思ったのは前述の自動送り/戻しを渇望したからに他なりません。確かにPETGも多様するので乾燥に使えればいいなと思いましたが、どちらかというとそれは後付け。順番としては、

  • 自動フィラメント送り/戻しでフィラメント/ノズル交換を効率化
  • A1 miniで使うかどうかに関係なく高温ドライヤーとして使う
  • 4連のAMS2 Proは置く場所がないし高い
  • 頻度は低いがPETGの乾燥(65℃)で使えたら便利かも

くらいの理由付けの順番でした。通常22,800円がセール時は19,800円になりがちなので、「次にセールになったら買おう」と思って1ヶ月ほど待ちました。ちなみにA1シリーズでAMS Lite以外のAMSを使う場合は別売りのAMSハブ(3,800円)も必要になるので投資額としては2万超えにはなります。

結果として、フットプリントは大きくかえずに、ちまちま数cmずつチューブにフィラメントを送り込む、という苦行から解放されました。またフィラメント/ノズル交換もスピーディに。まだ試してないすが、Banbuddyの時刻指定プリントを駆使すれば、一定時間乾燥させた後でプリント開始、とかも理論上はできるんじゃないかと思っています。

A1 miniでゴリゴリ量産する、かつフィラメントやノズルを頻繁に交換する、という方には良い組み合わせだと思います。

■まとめ

いくつかエラーが出て困ることはありますが、総じてコスパの高い、売れてるのも納得な良い機種でした。エントリーモデルとして買う人も多いでしょうが、我が家のようにPLA/PETGに割りきった量産用サブ機として安価、省スペースな選択肢としては非常に良い選択肢だと思います。

願わくは18x18cmベッドのエンクロージャー機が出てくれたらいいなとは思いますが、今時のデュアルノズル、チャンバーヒーターとか装備してたら結局X2Dとかわらない大きさになっちゃいそうだから出ないでしょうねw。

あなたが神か?BambuddyでBambuプリンターの造形キュー管理

私は小規模ながら3Dプリントアイテムの販売をしています、BambuLabのX1-CarbonとA1 miniの二台のプリンターを駆使して注文が入ったアイテムを次々に造形しています。そんな日々の作業の中でBambu Studioで毎回スライスしてプリンターに造形データを送るというワークフローに色々と限界を感じはじめました。

■オンデマンド大量生産におけるBambuLabプリンター課題

BambuLab製プリンターにはSDカードが刺さっており、直近のプリントについてはデータが入っているので本体タッチパネルからそれを選択して再プリントすることはできます。また予めBambu Studioからデータを送信しておくこともできます。ただ、本当にベタでSDカードに保存されるだけで、フォルダ分けとかお気に入りフラグといった気の利いたことは一切できません。プリントするアイテムが何十種類にも及ぶと目的のデータを探すのが非常に困難です。長いファイル名だと画面上で確認すらまともにできません。

結局毎回PCでBambu Studioを開く->データを読み込みスライス->プリンターに送信、という手順を踏むことになります。プロジェクトファイルである.3mfデータにはプリント設定も一緒に保存できるので、基本的に開けば同じ設定でプリント指示を出せるはずなのですが、実用上はいくつか問題点があります。それはプリンターとの同期機能によるノズルやプレートがプリンターの現況に釣られてしれっと上書きされてしまう点。0.4mmノズルで設定するべきなのに、たまたまプロジェクトファイルを開いた瞬間にプリンターに0.2mmノズルが取り付けられていると、いつのまにか0.2mm設定に書き換えられたりしがち。また最近プリンターを複数台にしたのですが、そのハンドリングもヒドいものでした。マルチプレートのプロジェクトなどでX1cのプロジェクトを開いた時、たまたまつながっているのがA1 miniだと、Bambu Studioが自動で切り替えるかダイアログで聞いてきます。うっかり「はい」にしてしまうと、接続先がX1cになるのではなく、プロジェクトがA1 mini用に書き換えられてしまうのです。プレートサイズが違うのでレイアウトが滅茶苦茶になり、自動保存をオンにしていると直す間もなく上書き保存されるという事故になります(なりました)。全体的に.3mfファイルをBambu Studioで開くと設定がいつのまにか書き換えられがち。

■Bambu Farm Managerは発展途上

  • 同じデータで繰り返し出力
  • 多数のプリンターを効率よく回して大量出力

というプリンターファーム向けにBambuLab公式でBambu Farm Managerというツールがリリースされています。サーバー・クライアント方式で一旦サーバーにデーターが送られ、サーバーがスペックの合う空きプリンターにプリント指示を出す、といた仕組みです。ウチは2台しかないし機種毎に作るアイテムもわけているので、空きプリンターに自動選択などについてはさほど重要ではないのですが、スライス済みの完成データを壊さずに再送信でき、かつそれなりにリスト管理できるのであれば充分活用できるのではないかと考えました。

しかし残念ながら現時点ではWindows版しかない。macOSもLinuxも予定はあるらしいですが今はまだ気配なし。Win/Mac混合環境である我が家ではちょっと厳しい。

■Bambu Connectが使えるかも?

次に考えたのは同じく公式ツールのBambu Connectです。本稿執筆時点ではまだβ版ですが、少し前にBambuLabが他社ツールからのコントロール(プリントを含む)をブロックした時に、かわりに用意したツールです。macOS版もリリース済み。例えばOrcaSlicerなどサードパーティ製品でスライスしたデータをBambuプリンターに送るだけの単機能ツールです。コマンドラインオプション(URLスキーム)からスライス済みデータを送信できるので、AIでデータ管理ツールを作って、Bambu Connectで送信するということを考えました。例えば、NASに置いたスライスデータのパスをWebアプリで管理して、ブラウザからURLスキーム付きリンクをクリックすればローカルでBambu Connectが立ち上がりNASにあるファイルをプリンターに送信してくれるのでは?と考えました。WindowsとmacOSでパス記法が違いますが、それくらい簡単に自動変換できます。NASだったりBambuConnectのインストールだったり環境条件はありますが、一応やりたいことはできるのかな?というところ。

しかしこれも難点があり、できるのはあくまでデータ送信であって、AMSのフィラメント指定などはプリンター側で手動で行う必要があるとのこと。

■そこでBambuddyですよ!

そんなリサーチをしてる中で見つけたのがサードパーティ製ツールのBambuddyです。日本語だとバンバディとでも発音すればいいのかな?Bambu + buddyからきてるんでしょうか。BIQU Pandaのように「竹とはマブだぜ」感を醸すネーミングですね。ブラウザからアクセスして使用するWebアプリなのでWindows/macOSを問わずに使用できなんならスマホからでも使えてしまいます。海外のメンテナーさんが作っていますがUIは日本語化対応済みです。Docker環境があれば簡単にセットアップできます。無料です。

プリンターと同じネットワーク内にサーバーを建ててプリンターをLANモード/開発モードにして接続します。つまり、Bambuクラウドからは切り離されるためBambu Handyは使えなくなります。ここが大きなハンデというか難点にはなります。ただHandyでMakerWorldを検索することはあっても印刷キューを出すことはなく、プリントの進捗の表示やカメラ映像の確認、緊急停止などはBambuddyからでもできるのでいさぎよくHandyは捨てることに。

■Bambuddyでできること

スライス済みの.3mfデータである、.gcode.3mf形式のファイルをサーバーのストレージに保管しておき、再スライスなしでプリンターに送信してプリントできます。またキュー(印刷順リスト)として追加していくことができ、プリンターが空いたら順にプリントしていくような管理ができます(人力でプレート上の造型物をよけてスタンバイ状態になったことは知らせる必要がある)。つまり、繰り返しプリントするものは一度gcodeを作ってサーバーに置いておけば、再スライスの手間やうっかり設定が入れ替わってしまうリスクなしに完全同一条件で再プリントができるわけです。これがやりたかった!(まぁ、室温とかフィラメントの乾燥度合いとかで結局微調整が必要になったりするのが3Dプリントの難しいところなんですが…)

アップロードしたデータはフォルダ分けやタグ付けができるので、プリンター本体のストレージ(SDカード)で下がるよりもずっと効率的に大量のデータを置いても見つけやすいです。

また複数台のプリンターがある場合、空いているものに自動で振り分けたりといったこともしてくれるので、プリントファームを運用している人にも便利。ウチはX1cとA1 miniが1台ずつで、基本的になにをどちらで作るかは固定なので、自動割り当てはまだ活用していません。

時間指定で開始もできるので、朝出かけた後に開始、深夜に開始、ちょうど帰宅することに終わるように、みたいな使い方も便利でしょう。3Dプリンターはプリント開始にノズルやプレートを急速加熱する時がもっとも電力を食いますが、複数台のプリンターがある時に一斉に電気を使わないように開始タイミングをズラすといった制御まであるようです。

ブラウザ上で3Dモデルをグリグリしてプレビューすることもできるので、ファイル名だけでなく中身を直接確認してプリントキューに入れることが可能なのも嬉しい。

ノズル、ベッド、チャンバー温度などを固定したり、カメラ映像をストリームでみたり、印刷のポーズや停止など基本的な操作もできます。MQTT経由でできることは一通り実装されていると思います。

あと地味に良いなと思ったのはビルドプレートの事前過熱やヒートソーク(プレート全体が充分に温まるまで長めに過熱してから印刷開始すること)ができる点。PAなどのプリントだと単にセンサーが指定温度に到達したと認識した時点でプリントを開始すると充分に均一に温まってなくて失敗したりしがちなので、手動で100°とかにして数分余計にまったりしますが、それを自動化できるわけです。

HTMLはリキッドレイアウトに対応しており、スマホからでも操作できます。PWAにも対応しているので、Safariなどからホーム画面にブックマークすると、ナビゲーションバーを非表示にして疑似アプリ状態で使うこともできます(ただし割と頻繁にログインが外れて面倒 → 初期設定が24時間なだけで設定で延ばせました)。

通知は外部チャットサービスに連携して送信できます。我が家ではDiscordで専用サーバーを作成して、そこの特定のチャットスレッドに流れてくるようにしています。例えば一層目が造形された時や完成された時にカメラの静止画が添付されて通知されます(この時のメッセージは設定画面で定義できるのですが、ここだけ初期値が英語で、全部日本語に書き直すのが大変でした)。

Home Assistantにも対応していて、外部のカメラや温度計と連携したりもできるようです。グラフで時系列データを表示してくれるので、「これを造形している時に室温やチャンバー温度がどうなっていたか」みたいなことを後で調べたりも可能。

総じてBambu Studio/Handyでできないことが数多く実現しています。公式サイトにライブデモがあるので興味がある方はアクセスしてみてください。

また連携ツールのSpoolBudyというプロジェクトがあり、専用の量りとNFCリーダーを組み込んだDIYハードを作成すると、スプールの在庫/材料管理も統合して行えるようです。これもいずれ挑戦してみたいです。

■Bambuddyでできないこと、不便な点

まず先も書いたようにBambuクラウドから完全に切り離されます。結果として、

  • Bambu Handyが使えなくなる。

ただ、これはほとんどの機能は代替可能な気がしています。ただいまのところエラーが発生した時の内容(フィラメント切れ、ファン異常など)が出ない気がします(どこかにあるだろうと思うけど見当たらない)。外出先からアクセスしたい場合は、VPNで自宅に入るか、Tailscaleをサポートしているのでそれ経由でアクセスする、もしくはWebサーバーをインターネットに公開する形になります。二段階認証なども設定できるので、ID/PWのみの認証よりも安全に外に出せる感じです。ウチは毎度愛用のCloudflareのtunnneldを使って専用ホスト名を割り当ててアクセスできるようにしています。スマホのブラウザやPWA化してBambu Handyの代替ツールとして使うにはそれが一番な気がします。

なお、Bambu Handyの主要機能であるMaker Worldからの直接インポートですが、Bambuddyの場合は、URLを貼り付けると印刷キューに追加することはできるみたいです。試してないですが。

■惜しい点

キューに名前がつけられない

.gcode.3mfのファイル名がデフォルトで名前になり、変更も可能です。ただそこから印刷キューに入れた個々のインスタンスに名前をつけられないっぽい。可能であれば「〇〇様注文分」とか個別に名前かメモがつけられるとキューの一覧で見分けがついて最高なんですが。

■画面例

「プリンター」画面

プリンター一覧の画面です。純正ツールでわかる情報はおおむね網羅されている気がします。独自要素は、右のX1cで見えている「次のキュー」と、左のA1 miniの方で出ている「プレートをクリア済みにする」です。前の造形物を片付けてビルドプレートがクリーンになった時点でこのボタンをクリックすると次に控えたキューが繰り上がって造形がスタートする感じです。

「印刷キュー」画面

以下、サイドバーは省略します。

実行予定のリストです。2Dプリンターでお馴染みのあれです。

プリンターが空き次第、上から順に送信され造形が開始します。このリスト上でドラッグ&ドロップして順番を入れ替えたり削除することもできます。

「ファイル管理」画面

アップロードした.gcode.3mfファイルのブラウザです。

目的のファイルが探しやすいように、階層付きフォルダに分類したり、タグをつけておくことができます。もちろん名前で検索も。

多種多様なプリントファイルを管理するという意味では、Bambu Studioや本体タッチパネルを遥かに凌駕する使いやすさ、安心感です。登録はFinder/エクスプローラーから直接ドラッグ&ドロップもできます。

惜しむ楽は、

  • リスト表示ができず、ファイル名が切れて見えないので、似たような形状のファイルを見分け辛い
  • 別のフォルダに移動するのにドラッグ&ドロップが使えない
  • タグやカードを色分けできない
  • プリンター内のSDカードにあるファイルが「アーカイブ」画面から閲覧できるが、直接ここに登録できない(多分。一度PCローカルにダウンロードしてここにアップロードしなおす必要がありそう。)

キュー投入ポップアップ

ファイル管理画面などから「印刷」を選ぶとこのようなオーバーレイのポップアップウインドウが表示され、様々なパラメーターを指定してキューに追加できます。

写真では既にプリンターを選んで、詳細項目を表示した様子です。

一番上の「Any X1C」を選ぶと、多数ある同型機から空いているものが自動選択されるようです(ないので試せてない)。

「フィラメントマッピング」でAMS上のどのスロットのフィラメントを使うか指定できます。gcode内の指定にマッチするものがあればデフォルトで選択されますが、例えばここで同種別カラーを選びなおしてプリントすることも可能です。

印刷オプションはデフォルト値を設定で決めておけて、ここで個別に例外設定ができるという感じ。Bambu Studioでは個別指定できない「振動キャリブレーション」「第1層検査」もここでオンオフできるようです。
「プレヒート&ヒートソーク」は残念ながらプリンター毎のデフォルト値を記憶させておくことはできません。ウチだとチャンバー機のX1cではオン、オープン機のA1 miniはオフ、というのをデフォルトにしたいんですが。まぁここで個別指定できることは良いですね。

「印刷タイミング」でキューに入れて順番待ちをする他、即時やスケジュールなど事細かに選べます。

■まとめ

量産プロダクトを繰り返し造形するのに、Bambu Studioはやや面倒くさいばかりか、しれっと一部の設定を上書きしてくれるのでミスやデータ破損にもつながりかねませんでした。

Bambu Lab自身もそれを見越してBambu Farm Managerというフリート管理ツールを提供していますが、現状はWindows専用で発展途上な感が否めません。

Bambuddyはその救世主となるサードパーティツールで、LAN内にDocker環境があればものの数分でセットアップして使うことができます。プロジェクトやフィラメント管理などまだ活用しきれてない部分もありますが、当面ほしかった機能は網羅されている気がします。プリンターをLANモード/開発モードにする必要があるため、Bambu Handyが使えなくなりますが、インターネットからアクセスできるよう設定して、通知はDiscordなどに投げるようにすればさほど不便はないかなという印象です。
スライス済みファイルをスライサー(=PC)無しでプリントできるので、最悪PCが急に故障した、となっても既存データのみなら早計できるなど、ウチのような超小規模環境でもメリットはあると感じます。

主要開発者であるmaziggy氏や多くの貢献者に深く感謝します。なお開発支援としてGithubの月額スポンサーになる他、ko-fiというサイトで単発のチップを送ることもできます(決済はPayPal)。Bumbuddyが有用だと感じたら是非支援しておきましょう。

CPAP機器AirMiniのBluetooth同期切れ問題をスマートプラグで解決する

私はSAS(睡眠時無呼吸症候群)でCPAP治療をしています。CPAPとは呼吸補助具で鼻や口にマスクをつけて一定の空気圧で呼吸を補助し、いびきを抑制して熟睡を促すというもの。で、これの使用ログを医師に提出する必要があり、私の使用しているAirMiniはBluetooth経由でスマホアプリに同期し、そこからサーバーに送信することで以前のような通院時にSDカードを抜いてもっていくといった手間から解放されます、、、されるはずでした。iPhoneのバックグラウンド動作の制約によるのか、これが定期的に同期されなくなる問題が取り沙汰されています。なんの対処もせずに月イチの診察に行くと「最近データが届いてないんですけど、、」と言われます。実際、アプリを開いてみるとしばらく同期がされておらずデータ無しになっていたり。対処法としては、CPAP装置の電源を落として入れ直すというもの。これをするとアプリを特に操作しなくても同期が再開されます。おそらくBluetooth接続をトリガーにアプリがバックグラウンドで働いて同期を行ってくれるのでしょう。

実際同期トラブルは多いらしく、医師にも「またですね。次回また見せてください。」といいますし、管理会社の帝人ファーマからも何年か前から定期的にアプリを起動して同期をするよう自動送信メールが送られるようになっており、問題は認識しているがメーカー側でも根本的な対処ができてないようです。ちなみに「明日は通院日だから電源入れ直ししよう」と思っても大抵手遅れで、サーバーに送信されてからクリニックで閲覧できるようになるまでタイムラグがあるらしく、2,3日前には送信しておく必要があり、それで今でもちょいちょい忘れてしまいがち。

で、ここにきて保険適用の条件の改定がなされました。一定期間機器の使用(=治療)が認められない場合に保険が適用されなくなる、というもの。これはあくまで国から病院への施策ではあるのですが、病院によってはそれでは負担像になってしまうため、治療を断られる場合もあるとかないとか。

ということで、もう少しスマートに解決したいと思い、スマートプラグで定期的に電源を切->入したらいいんじゃないかと思ってたんですが、一般的なSwitchBotの製品でも2,000円弱します。

SwitchBot スマートプラグ プラグミニ スマートコンセント スイッチボット 消費電力モニター タイマー コン…
¥1,780 (2026/09/26 21:58時点 | Amazon調べ)

たかだか月に1回電源を切/入するにも微妙にもったいないよなぁ、、と思って踏ん切れないでいました。

そんな折りに立ち寄ったIKEAで旧型のスマートプラグTRETAKTが処分価格の399円で売られていました。現行品はGRILLPLATSというモデルに代替わりしており、こちらはMatterというIoT業界標準規格に準拠しており、単体でGoogle Home/Alexa/Apple HomeKitなどで操作可能になります。まぁ、こっちも899円と充分安いんですが。

Matterに対応してない旧モデルのTREKAKTの場合、専用スマホアプリや同社のリモコンや人感センサーで操作するか、DIRIGERA のようなスマートハブ(親機)を経由してWi-Fi経由の操作も可能になります。我が家の場合、これもまた旧世代のTRÅDFRI(トロードフリ)ゲートウェイというハブが既にあったので、最悪でもこれを使ってHome Assistant経由でどうにでもオートメーション(定期実行)できるだろうと踏んで衝動買いしました。

案1. スマホアプリでタイマー実行?

ここまで書いて恐縮なのですが、399円で投げ売りされているTRETAKT単体(とスマホ)でタイマー制御できるかはいまいち不明です。タイマー設定画面自体はあるのですが、ゲートウェイのない環境で使用可能かどうか、うちはゲートウェイがある前提の画面になってしまい確認できませんでした。

またタイマー設定がON->OFFの順でセットで指定する作りになっていて、「指定した時間にオンにしたものを、しばらく後に切る」という使い方しか想定されておらず、短期間に再起動する(オフが先に来る)指定ができないっぽいです。無理矢理設定するならば、

  • 12:00にオン
  • 11:59にオフ

みたいに入力はできるのですが、どういう動作になるのか未知数です。

一応オフが先の時間でもセットはできた。


これから単体で使う場合はMatter対応の後継モデルであるGRILLPLATSはSmartBot等を買うことをお勧めします。試してはないですが、Matter対応デバイスなら、Google HomeやAlexa、HomeKitなどのデバイスに登録すればオートメーションで自由にタイマー制御できるはずです。

案2. Home Assistantでオートメーション化

これは前提として我が家に旧ゲートウェイとHome Assistantサーバーがあったから実現したことですが、さっくりゲートウェイをHome Assistantに登録して、操作対象にできたので、今回はそちらのオートメーション(自動化)で毎日定時にオフ->オンするようにしました。ざっくり手順を書くと、

  1. 買って来たTRETAKTを旧ゲートウェイに登録する(スマホアプリIKEA Smart 1で実行)
  2. Home Assistantサーバーに旧ゲートウェイを登録する(ゲートウェイ管理かのZigbeeデバイスがHome Assistant上からアクセス可能になる)
  3. Home Assistantのオートメーションを組む

という感じ。

設定はこんな感じ。念のためオフからオンの間に10秒間を開けています。また時間帯としては、電源が入った瞬間にスマホが近くにあった方が良い気がするので在室率の高そうなタイミングを指定しています。


時折見ている限りではきちんと同期が取れてる気がしていますが、アプリを起動して確認することで同期されてしまう可能性もあるので、2,3ヶ月は放置して様子をみようと思います。

ちなみに、IKEAの電源プラグやタップは2つの穴の長さが違う海外仕様で、国産の電気製品のプラグが刺さらないことが多いので基本的に避けているんですが、AirMiniのACアダプターは普通に指す事ができました。

■まとめ

前提のなる環境が整っていたとはいえ、399円で自動化ができたのはラッキーでした。実は2個買ってあるんですが、Home Assistant経由で活用できるなら在庫があるうちにもう少し買い占めておいてもいいかなと思ったり。

X1-Carbonのヘッドカバーのマグネット修理

3DプリンターのBambuLab X1-Carbonで造形中、ツールヘッドのカバーが脱落したエラーで停止。特になにかに打つかるような異音はなかったのにおかしいな?と思いつつ再度はめこんで再開。また脱落。

あれー、と思ってよくみると、ヘッドカバーを固定する2つのマグネットがとれでフロントカバー側にひっついていました(写真赤丸)。しかも左右同時。

うちはPA6-CFをバリバリ造形するのでチャンバー内温度も高めに保ったりしてるので、接着剤が熱で剥がれてしまったっぽい…

こういう時、保守部品が豊富なBambuLabは最強です。おそらくこの「ツールヘッドの中間ハウジング」(1,680円)を買えばヨサゲ。X1cのツールヘッドは、手前(脱着カバー)、リアカバー、そしてこの中間ハウジングの3枚下ろし構造になっていて、その真ん中だけ交換という感じ。

ただ今回はマグネットが取れただけなので瞬間接着剤の応急処理してみることにしました。同じ熱で再び外れないよう耐熱性の高い接着剤を使うべきなんでしょうが、二液式のエポキシ接着剤は手間なので今回は一応「耐熱」という表示もあるロックタイトのピンポインター液状をチョイス。

非常に小さなマグネットなので紛失しないよう細心の注意を払いつつ観察すると、中間ハウジング側(奥向き)に外径が一回り小さい黒いパッドがついています。これが位置決めも兼ねた粘着パッドなのかも?

接着剤が垂れたりはみ出たりすると大ごとなので、こんな感じで作業しました。

1. 先端がフラットで金属ならなんでもいいのでしょうけど、こういうヘックスドライバーの先端にマグネットをくっつける。

ヴェラ(WERA)
¥687 (2026/08/16 08:35時点 | Amazon調べ)

2. 適当な場所に出しておいた瞬間接着剤にちょん付けする(マグネットに直接ノズルを当てて塗らない)

3. 元の穴の位置に差し込むように取り付ける

4. 充分な時間をおいてヘッドカバーを取り付ける

とりあえず復活。また剥がれるようなら更に耐熱性の高い接着剤を使うか、パーツを取り寄せて交換しようと思います。

2026.08.28追記:

やはり普通の瞬間接着剤だと再度剥がれてしまったので、今度はこちらの二液式のエポキシ接着剤で再施工。様子見です。いらないダンボールに出して、ハウジング側に爪楊枝でチョン付けしてマグネットを押し込みました(説明書に片側にだけ塗るよう指示がある)。

手に付着すると面倒なのでニトリルグローブなどをしておきましょう。うちはこれを使っています。