コンテンツへスキップ
Bambu Bar

ガイド

Bambu LabのMQTTを、やさしく解説

Bambu Labのプリンターは、軽量なメッセージングプロトコルであるMQTTを使い、ネットワーク上のアプリに直接ステータスを報告します。その接続の仕組みと、Bambu Barでの使われ方を説明します。

要点

すべてのBambu Labプリンターは、ローカルネットワーク上でMQTTサーバーを動かしています。ポートは8883で、TLSで暗号化されています。アプリはユーザー名bblpとプリンターのアクセスコードでサインインし、プリンターのレポートトピックを購読して、およそ1秒ごとにステータスの更新を受け取ります。

ステータスの読み取りはどのモードでもできます。サードパーティ製アプリから一時停止や中止などのコマンドを送れるのは、LAN専用モードで開発者モードがオンのときだけです。Bambu StudioのLAN接続も、Bambu Barも、この仕組みで動いています。

接続

プロトコル MQTT over TLS
ポート プリンターの8883
ユーザー名 bblp
パスワード プリンターの8文字のアクセスコード
ステータスのトピック device/<serial>/report
コマンドのトピック device/<serial>/request

サーバーはプリンター自身です。アプリはBambu Labのクラウドを経由せず、ネットワーク上でプリンターに直接接続します。

レポート:プリンターが送るもの

接続後、アプリは一度だけ完全なレポートを要求し(pushallリクエスト)、その後は変化があるたびに受け取ります。造形中はおよそ1秒ごとです。レポートはJSON形式で、ジョブとそのステージ、進捗とレイヤー、残り時間、ノズル・ベッド・チャンバーの温度、ファン、AMSのトレイとそのフィラメント、プリンターのエラー(HMSコード)が含まれます。

Bambu Barはこうした変化をまとめてプリンターの全体像を組み立て、それをメニューバー、ウインドウ、ウィジェットに表示します。報告されるフィールドは機種によって異なります。A1にチャンバー温度が表示されず、H2Dに2つのノズルが表示されるのはそのためです。

リクエスト:アプリが送るもの

コマンドはリクエストトピックに送られます。一時停止、再開、中止、造形速度、チャンバー照明、または完全なレポートの要求です。何を受け付けるかはプリンターが決めます。現在のファームウェアでは、サードパーティ製アプリが造形コマンドを送れるのは、プリンターがLAN専用モードで開発者モードがオンのときだけです。そうでない場合、Bambu Barはそれらのボタンに鍵マークを表示します。操作がロックされる理由をご覧ください。

証明書:自分のプリンターであることを確かめる

接続はTLSで暗号化され、各プリンターは証明書を提示します。Bambu Barがプリンターを受け入れるのは、その証明書が、アプリに同梱されたBambu Lab独自の認証局につながっていて、かつプリンターのシリアル番号に対して発行されている場合だけです。こうすることで、ネットワーク上のほかのデバイスがプリンターになりすましてアクセスコードを集めることはできません。

検出とカメラ

  • 検出:プリンターは、UDP(ポート2021)でネットワーク上に自身の存在を通知します。アプリがIPアドレスなしでプリンターを一覧できるのも、プリンターのアドレスが変わったことにBambu Barが気づけるのも、このおかげです。
  • カメラはMQTTを使いません。X1、H2、H3C、P2S、X2DプリンターはRTSPS(ポート322、LAN Only Liveviewがオンのとき)で、P1、A1、A2Lプリンターは暗号化されたJPEGストリーム(ポート6000)で映像を送ります。Macでカメラを見るをご覧ください。

レポートを自分で見る

診断のために、どのMQTTクライアントでもレポートを読み取れます。Mosquittoのコマンドラインツールを使い、プレースホルダーをお使いのプリンターの値に置き換えてください:

mosquitto_sub -h <printer-ip> -p 8883 -u bblp -P <access-code> --insecure -t "device/<serial>/report"

--insecureは証明書の確認を省略するので、信頼できるネットワーク上で、読み取りのためだけに使ってください。アクセスコードやシリアル番号を、フォーラムやバグ報告に絶対に貼り付けないでください。

公開APIではありません

これはBambu Labの純正アプリがローカルネットワーク上で使っているプロトコルで、ドキュメント化された安定したAPIではありません。フィールドは機種やファームウェアのバージョンによって異なり、プリンターが何を受け付けるかをBambu Labが変更することもあります。Bambu Barがそうした変更に追従するので、ユーザーが気にする必要はありません。関係するプリンターの設定はLANモードの解説、アクセスコードはアクセスコードの確認方法をご覧ください。

疑問に、お答えします

Bambu LabプリンターのMQTTのポートは何番ですか?

ポート8883で、TLSを使います。ユーザー名はbblp、パスワードはプリンターのアクセスコードです。

MQTTでステータスを読み取るのにLAN専用モードは必要ですか?

いいえ。プリンターはクラウドモードでも、ローカルのアプリにステータスを報告します。LAN専用モードと開発者モードが必要なのは、サードパーティ製アプリが造形コマンドを送る場合です。

Bambu BarはBambu Labのクラウドを使いますか?

いいえ。LANモードのBambu Studioと同じように、プリンターのローカルMQTTサーバーに直接接続し、まずプリンターの証明書を確認します。

プリンターまで歩くのは、もうおしまい

MacでBambu Labの印刷進捗、残り時間、温度、AMSフィラメント、ライブカメラを確認。Bambu Studioを開かずに通知とデスクトップウィジェットで印刷を見守れます。

US$9.99で購入近日登場Mac App Store

印刷進捗・通知・フィラメントmacOS 26以降、Appleシリコン & Intel Windows版と Linux版も近日登場