Klipper(mainsailos)のwebUIを外出先からでも見れるようにする

はじめに

tailscaleというVPNサービスを使ってローカルネットワークにアクセスし、外出先からでもmainsailのwebUIを見れるようにしたので参考までにメモしておきます。

本記事は以下のnoteを参考にさせていただきました。途中詰まる所があったのでそこを補足する形となります。


tailscaleは簡単に安全なVPNを構築することを目指したサービスです。オープンソースの技術をベースに開発され、メルカリでの使用実績もあるので信頼性は問題ないかと思います。

本編

準備するもの

  • Klipper化された3Dプリンター

  • スマホ

1. tailscaleの会員登録

https://tailscale.com/にアクセスし、会員登録を済ませます。プランはいくつかありますが、無料のFreeプランで問題ありません。

ここのボタンから登録


2.スマホにtailscaleアプリをインストール

Appleの方は次から

Androidの方は次から

それぞれアプリをインストールします。
今回はAndroidを使用します。インストールすると次のような画面になるので、1で登録したアカウントでログインします。

インストール直後の画面

ログインすると、自分の端末名と100.~から始まるIPアドレスのようなものが割り当てられます。

ログイン後の画面


3. ラズパイにtailscaleをインストール

以下の公式ページを参考にmainsailOSが動いているラズパイにも同様にtailscaleをインストールします。
https://tailscale.com/download/linux/rpi

手順は非常に簡単で、ラズパイへssh接続し、コマンドライン上で

curl -fsSL https://tailscale.com/install.sh | sh

を入力するだけです。

インストールが終わると、https://login.tailscale.com/a/XXXXXXXXXXの形のURLが表示されるのでそこにアクセスし、はじめに作ったアカウントでログインして完了です。

2024/1/11追記
最新バージョンだと、インストール後にURLが表示されないそうです(記事を読んだ方から教えていただきました。ありがとうございます。)。

インストール後、"sudo tailscale up"でTailscaleをスタートしてログインするよう表示されるので、指示に従います。

表示されたURLにアクセスする

表示されたURLにアクセスし、ログインします。

4.moonraker.confの設定

スマホから接続できるようにするため、moonrakerのファイルにテキストを1行追加する必要があります。
ローカルネットワーク内でmainsailosにアクセスし、mainsailos > MACHINE > moonraker.confの順に進み、

設定するファイル

trusted_clientsの部分に

100.0.0.0/8

を追記します。

追記した様子

追記した後、mainsailos webUIの右上からmoonraker横の丸矢印を押して再起動します。(その下のHost Control > Rebootでも良い)

moonrakerを再起動

これによって、それぞれの端末に割り当てられた100.~で始まるIPアドレスからラズパイにアクセスできるようになります。


5.スマホからwebUIにアクセスする

上記の手順が完了すると、スマホアプリ上にmainsailosとそのIPアドレスが表示されるようになります。「mainsailos」の部分をタップしてIPアドレスをコピーし、ブラウザに貼り付けるとwebUIにアクセスできます。

mainsailsが追加された様子

下の画像を見てみると、(ローカルネットワーク内にいなくても)4G回線でmainsailosのwebUIにアクセスできていることが分かるかと思います。

外からでもwebUIにアクセスできた

また、ここで一つ詰まった点なのですが、ブラウザに入力するのはmainsailos.localや192.168~のようなアドレスではなく、tailscaleで指定されたものを入力する必要があります。

VPNを繋いでいても、mainsailos.localや192.から始まるIPアドレスでは接続できない

tailscaleで割り当てられたIPアドレスはログアウトしたり、アプリを再インストールしない限りは変わらないようなのでブックマークしておくと便利かもしれません。

おわりに

本記事ではローカルネットワーク外から3Dプリンターの様子を確認できる方法を紹介しました。外出先からでもカメラで印刷状況を確認し、失敗時にweb経由で停止できるのは非常に便利だと思います。

他にもtailscaleの機能として、端末間のファイル共有も非常に便利でした(本記事を作成するためのスクリーンショットを送る際に使用しました)。Airdropのような感覚でandroid-windows間のファイル送受信ができるのは魅力的だと思います。
その方法については下の記事にて紹介されていますので、気になる方はご覧になってみてください。

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