Creality Ender-3にWifiモジュールを導入してOctoPrintから無線で操作できるようにする

Wifi経由でプリントを行うことはおすすめしません。

同じ経験をする人が少なくなることを願っています。

はじめに

私はOctoPrintをRaspberry Pi Zero W(以下PiZero)で運用していたのですが、OctoPrintのprogress取得に5秒以上かかることなどざらでWebcamの映像がプチフリするのはいつものことでした。 そこでWifiモジュールを導入して、PiZeroではなく別のサーバー上でOctoPrintを稼働させる案を思いついたので実践してみた。

全体構成

まず通常の構成は以下のようになっていると思います。

f:id:syuchan1005:20210113181553j:plain
RaspberryPiを用いた、通常のOctoPrint構築の様子

この構成ではPiZeroに大きな負荷がかかることが懸念されるため、以下のように構成を変更します。

f:id:syuchan1005:20210113181828j:plain
Wifiモジュールを用いて無線化を行う例

この構成を用いるとOctoPrintを実行しているサーバーとプリンタ, Webcamを分離することができます。

ESP3Dの導入

ESP3DとはUSB経由で行っていたシリアル通信をTCPに変換するブリッジです。そのほかにもWebUIを用いて3Dプリンタの操作を行えます。

導入には github.com

よりReleaseのzipをダウンロードし、 https://github.com/luc-github/ESP3D/tree/v2.1.1#installation を参考にセットアップを行います。

私の利用しているSKR v1.4 Turboには専用のソケットが存在するため、ESP8266との接続は以下の図のように行いました。

f:id:syuchan1005:20210113183412j:plain
接続の例

また、プリンタ側のシリアルポートは3なので、Marlin Firmwareの場合、Configuration.hのSERIAL_PORTかSERIAL_PORT_2を3にする必要があります。

RaspberryPiからWebcamの映像を配信する

映像の配信にはOctoPrintでも利用しているmjpg_streamerを利用します。 mjpg_streamerの導入は多数の記事があるので省略します。

ESP3D経由でOctoPrintからプリンタを操作する

全体構成で示している図の通りOctoPrintは別のサーバ上で実行します。また構築の簡略化のため以下のdockerイメージを利用しています。

https://hub.docker.com/r/octoprint/octoprint

3Dプリンタとの通信にはESP3Dから提供されているData port(デフォルト: 8888)を利用します。しかしOctoPrintはtcpを喋れないため、socatを利用しOctoPrintから利用できるようにします。 socatを利用したパイプの作成には以下のコマンドを利用しました。

$ socat -d -d pty,raw,link=/dev/virtualcom0,user=<User> tcp:<ESP3D IP>:8888,forever,interval=10,reuseaddr

OctoPrintから/dev/virtualcom0が見えない場合、以下のようにAdditional serial ports/dev/virtualcom*を追加すると選択できるようになります。

f:id:syuchan1005:20210113185537p:plain
OctoPrintのserial設定の例

またWebcamの設定は以下のようにすると映像を見ることができます。

  • Stream URL: http://<raspberry pi ip>/?action=stream
  • Snapshot URL: http://<raspberry pi ip>/?action=snapshot

おわりに

初めにも言いましたがWifi経由でプリントを行うことはおすすめしません。

ですが便利なことは確かです。この構成のためにローカル用のWifiルーターを購入しようかと考えましたが、Raspberry Pi 4Bを導入したほうが安定するためそちらを選択しました。 時間があればBLE経由での操作等も試してみたいと思っています。

Creality Ender-3にNeoPixel(LEDテープライト)つけてみた

はじめに

皆さんはプリントの途中経過を見るためにOctoPrintなど利用しているでしょうか? OctoPrintには接続しているWebcamをストリーミングしてくれる機能があるのですが、プリンタをエンクロージャなどに入れている場合、暗くて見えないことがとても多いです。

これを解決するためにNeoPixel(いうならばLEDライト)を導入したので紹介をします。

注意

筆者はEnder-3にSKR v1.4 Turboというメインボードを積んでおりNeoPixelの導入を簡単だと思っていますが、Stockのメインボードにはピンが存在しないため、それなりに厄介な作業となります。 この記事内ではどのような作業をするのか / ファームウェアの書き換えるべき箇所等は紹介しません。

また、この記事内で使われているコンフィグ設定は以下にて公開しています。

github.com

準備

まず光らせるためにNeoPixel対応のLEDテープライトを用意する必要があります。私は以下のものを購入しました。

www.amazon.co.jp

また今回は本体上部からベッドを照らすために以下のモデルを利用しています。

www.thingiverse.com

上で紹介したLEDテープライトは上記モデルのV2もしくはV3であれば簡単に使うことができます。(記事内はすべてV2のモデルを利用している写真です。

導入してみる

上で紹介したLEDテープライトやモデルを用いて、MarlinのConfigurationをいじると以下のように光らせることができます。

f:id:syuchan1005:20201216172559j:plain
NeoPixelをつけたEnder-3

また、温度などのステータスに応じて青 / 赤などに光らせることも可能です。(これでアツアツのベッドを触ってけがをすることも少なくなる、、、、、、はず

f:id:syuchan1005:20201216172717j:plain
ステータスに応じて光るNeoPixelの様子

もちろんOctoPrintからWebcamで見た時も明るくなり、これで失敗した時も気づきやすくなるでしょう、、、、きっと

f:id:syuchan1005:20201216172956p:plain
Webcamから見たときのベッドの様子

おわりに

フィラメントとLEDライトテープのみで実現でき、かつGCodeによって色や明るさまで変えられるのでぜひ皆さんも導入してみてください。

6年ぶりにメインPCを大きくアップグレードした(i7-4770K -> Ryzen 9 5900X)

はじめに

巷(Twitter)でRyzen 9 5900X / 5950Xの品切れ / 入荷時期不明が叫ばれていたころ、ふと眺めていた私のTLにTSUKUMOさんの入荷Tweetが流れてきたため、なんとなく購入手続きをしていたら買えてしまったのでアップグレードした。

アップグレード前のPC

大まかな構成は以下の通りである

  • CPU: Intel i7-4770K
  • Memory: DDR3 8GB * 2
  • MotherBoard: ASUS Z97-PRO GAMER
  • GraphicBoard: GTX 750 -> Palit RTX 2070 Super Jetstream
  • PowerUnit: Corsair Full-plugin 650W
  • SSD(sumsung 255GB) * 1 + HDD(3TB) * 2

一部のパーツは故障によって交換しているが、頭(RTX 2070 Super)でっかち感のある構成であった。 CPUが足を引っ張り多くのゲームはジャギープチフリが目立つ始末である。

アップグレード後のPC

大まかな構成は以下の通りである

  • CPU: Ryzen 9 5900X
  • CPU Cooler: CoolerMaster MasterLiquid ML360L V2 ARGB
  • Memory: Corsair CMK32GX4M2D3200C16 (DDR4-3200 16GB*2) * 2
  • MotherBoard: MSI MEG X570 UNIFY
  • GraphicBoard: Palit RTX 2070 Super Jetstream
  • PowerUnit: Thermaltake TOUGHPOWER GRAND RGB 850W
  • WD WDS100T2B0C-EC (m.2 SSD 1TB) + SSD(sumsung 255GB) * 1 + HDD(3TB) * 2

アップグレード前はCPUが足を引っ張る構成であったが、アップグレードはGPUが足を引っ張る構成となった。 また前の構成ではメモリ容量でプログラムのコンパイルが遅くなることが多かったためメモリも64GB(4倍増)に増量した。 今回購入したCPUやMotherBoardに感動したため一部魅力を紹介したい。

Ryzen 9 5900X

私の主な利用用途はプログラムのコンパイル程度なのでゲーム等の改善はあまりわからないが、少なくともジャギープチフリが改善されたため、CPUが頭打ちになっているという状況は改善されていると思う。 プログラムに関して、私はよくTypescript + WebpackやKotlin (Android)のトランスパイル / コンパイルをよく行う。

例えば私が作成しているGitHub - syuchan1005/BookReader: Original Manga Viewerではi7-4770Kを利用しているときのフルビルドで16分程度かかっていたが、Ryzen 9 5900Xで行うと5分程度で完了する。 また、i7-4770Kではフルビルドで32分程度かかるAndroidアプリがRyzen 9 5900Xでは28分で終了する。すごいとしか言えない。 もちろんメモリの設定など変更しているため一概にCPUパワーのみの改善とは言えないが大幅に改善しているのは間違いない。

MSI MEG X750 UNIFY

最初に届いたボードはメモリスロットに認識不良という初期不良に遭遇し、「4D」というエラーコードが表示される状態であったが、購入したパソコン工房さんで即日交換していただけたため事なきを得た (結構無茶なことを言って即日交換していただけたので感謝しかない)

このMSI MEG x570 UNIFYはいわゆるハイエンドのMotherBoardである。そのため様々な機能がついているがその中でも私が感動した一部の機能を紹介する。

M-FLASH(USBメモリ単体でのBIOSアップデート機能)

普通のMotherBoardでは対応したCPUを載せ、UEFIを起動し、アップグレードを実行する必要があると思う。もちろんその方法も可能だが、このMEG X570 UNIFYではCPU, メモリ無し、必要なのはMotherBoardと電源, USBメモリだけである。 このボードでRyzen 9 5900Xを動作させるにはBIOSアップデートが必要なためこの機能に救われた。 USBメモリにサイトからダウンロードしたBIOSファイルを入れ、Motherboardに刺してBIOSアップデートボタンを押して待つだけである。 この機能だけでもこのMotherboardをおすすめする十分な理由になると思う。

Wi-Fi, Bluetooth標準搭載

小題の通りであるが、これが非常に便利でかつWi-Fi 6にも対応しているという。 普段であればWi-Fi用のPCIeカードや、USB接続のBluetoothドングルなどを接続するかもしれないがこのMotherBoardではまったく必要ない。

Audio Boost HD搭載

アップグレード前に利用していたZ97-PRO GAMERでは入力 / 出力ともにホワイトノイズを感じたが、このMEG X570 UNIFYでは感じない。

おわりに

全体的な満足度は高いアップグレードとなったため非常に良かった。しかしノリで購入したせいで15万程度が吹っ飛んだのでお財布がさみしい、、、、(2月に引っ越しあるのに、、、 安定性などはまだわからないが少なくとも悪いことはないだろう。

まだ安定供給されていない点はあまり良いものとは言えないが、おすすめするには良い製品を選べたと思う。

次はGPUのアップグレードをしたいと思うがいつになることやら、、、、、

Creality Ender 3のメインボードをSKR v1.4 Turboに交換した

初めに

Ender 3の標準ボードではモーター動作音 + ファン音で非常にストレスを感じることが多い。 モータードライバを交換するとモーター動作音が穏やかになるという噂を聞き「SKR v1.4 Turbo」を購入した

SKR v1.4 Turboについて

このボードはEnder 3ではなくEnder 5の交換先としておすすめされている場合が多い。 その証拠に MarlinFirmware(3Dプリンタ用のファームウエア)のConfigurationリポジトリではEnder 5向けの設定のみテストされている。

github.com

しかしEnder 5に多く使われているだけでEnder 3で使えないわけではない。Configurationを自分ですればよいだけである。

このボードはモータードライバを自分で選べるうえ、価格もあまり高くないという優秀さだ。 私はAmazonにてBIQUから購入した。詳しくは以下のリンクを見てほしい。

www.amazon.co.jp

交換後

まずはこの二つを聞き比べてほしい。

Ender-3に初期搭載のボードでの動作音

SKR v1.4 Turbo + TMC2209での動作音

この二つの動画だけで十分魅力は伝わると思うため、詳細は省く(めんどくさいだけ)。 またこれを見て自分もSKR v1.4 Turboに交換したいと思ったらぜひ挑戦してほしい。

交換方法

Ender 3のボードはベッドの左手前にあるボックス内にある。 このボックスを開け、ケーブル類を外し、ボードを交換するだけである。 ケーブル類の接続がわからない場合は以下の動画を参考にするとよい。(12:20-12:30)

www.youtube.com

またConfigurationについてだが私が利用している設定をGitHubで公開しているため参考にしてほしい。

github.com

ファームウェアのビルドなどは他サイトでも紹介されていると思うので省く。

おわりに

私は安いからという理由でEnder 3を購入したが結局ボード交換やフィラメント保存用の箱、エンクロージャ作成などを行うと既製品のほうが安い。 いじって遊べるので悪くはないが、、、、

Let's try it!

リモートワークに必要な私が購入したものを紹介する

はじめに

リモートワークはきつい。

椅子が悪いと腰痛になる。 立ち上がる機会がなく、足腰が劣化する。

だからこそ、良い椅子と机をそろえなければならない。

他のリモートワークに困っている人に向けて、 私の買ったリモートワークに必要だと思うものを紹介していく。

買ったもの

椅子

重要。 椅子はぜひ試乗してから購入してほしい。 購入の際は私も利用した、WORKAHOLICさんがおすすめです。 (私が店舗で買ったときには1万円程度の割引がありました)

www.iamworkaholic.jp

試乗に試乗を繰り返し、店員さんにも相談し、、、 私はErgohuman proを選びました。(Herman Millerのアーロンチェアが欲しかったがさすがに手が出なかった、、、

www.ergohuman.jp

机は椅子との相性 > 見た目 >>>>>> 値段 で選ぶことをお勧めします。

私は立つこともできる昇降デスクを購入しました。 昇降デスクだとフレームと天板は基本別売りです。

参考に動画を載せておきます。

フレーム

フレームはエメゾさんの電動式スタンディングデスクを購入しました。

私が購入した時には34400円で購入でき、この安さでメモリ機能付きということでとてもコスパがよかったです。

音も静かなのですごくおすすめできます。

天板

今まで100x60(cm)という小型を使っていましたが、 デスクトップPCに加え会社支給のノートPCもおかなければならないこともあり、150x75(cm)の天板を購入しました。

天板はIKEAさんのLINNMONを購入しました。

www.ikea.com

ステッパー

リモートワークでは基本的に立ち上がることがないです。 出社していれば上司などに質問をしに行くこともたまにありますが、それがSlackなどのチャットになってしまうからです。

そのため、座っていても足を動かせると非常にはかどります。 またステッパーを使うと、スタンディング時にバランス感覚も鍛えられるので必須です。

Switch

最重要。

これがないと仕事がいやになります。 ぜひ買いましょう。 店頭では売っていないのでNintendo My Storeからの予約で買うのが確実です。

store.nintendo.co.jp

トップページのトップバナーに次回予約の時期が出るので、必ずチェックしましょう。

おわりに

上記で紹介したものを購入してもたったの20万である。 これで腰痛もなく、ストレスも少なくなり幸せになります。

これ以外にもおすすめがあればぜひ教えてください。