困ってたこと
- 手元にジャンク品のレーザー彫刻機がある
- 本体と電源アダプタのみ
- 本体に型番など細かい情報が殆ど書いてない (DAJAというブランドらしい)
-
ファブテラスいわて様の記事 のものと見た目が似ているのでおそらく
DAJA K4かもしれない?
-
ファブテラスいわて様の記事 のものと見た目が似ているのでおそらく
- DAJAのサイトを見ても同じ見た目の彫刻機がないし当然ドライバや制御ソフトも入手不可 😭
- 入手できたとしても多分 Windows 向けなので普段 Mac を使っている筆者的にはしんどい
AI時代における解決手段
準備するもの: Claude Max DAJA K4? 業務用消火器(念のため) (2つとも副業先のオフィスにあった)
モデル: Opus 4.6 (1M context)
プロンプト:
現在このPCにはdajaかつ型番不明のレーザー彫刻機が接続されています
おそらく `DAJA K4` というものです
node.js 製(もし難しければ python など他言語可)で localhost からブラウザでこのレーザー彫刻機を制御できるソフトを usb 経由でシリアル通信を試みて情報を取得しつつ開発してみてください
- ポイント
- 筆者(Webエンジニア)的に慣れている言語で作らせて何しているか読める状態にする
後はいろいろ聞かれるので適宜承認。
実装の流れ(ざっくりまとめ by claude)
どなたかの参考になれば幸いです🙏
> 実装するようプロンプトを与えられてから実際に開発するまでのざっくりとして流れを箇条書きで書いてください
⏺ 開発の流れ
- USB デバイスの正体特定
- system_profiler SPUSBDataType で接続されている USB デバイスのベンダー/プロダクト ID を確認
- シリアルポートデバイス (/dev/tty., /dev/cu.) の存在を確認
- → CH340 USB シリアル変換チップ(1a86:7523)だと判明
- 既存のリバースエンジニアリング成果の調査
- Web 検索で「Daja laser protocol」「K3/K4/DJ6 serial protocol」等を調査
- K3 のプロトコル解析リポジトリ(GitHub)と DJ6 を Linux で動かしたブログ記事を発見
- リポジトリをクローンし、README・C++ 実装・コマンド仕様を精読してプロトコルを理解
- プロトコルの実機検証(安全に)
- pyserial で最小限のプローブスクリプトを作成
- モーター移動もレーザー発光もしない接続ハンドシェイク(opcode 10)だけを送信
- 115200 baud で ACK バイト(0x09)が返ることを確認 → K3 プロトコルが適用可能だと実証
- 開発環境の整備 (元からnodenvで入れてたけど何か今回は認識されず😭)
- Homebrew で Node.js をインストール(バックグラウンド実行)
- npm install serialport(ネイティブバインディング付き)
- アプリケーション実装
- laser.js — シリアルプロトコルドライバ(フレーム構築、ACK 待ち、全コマンド実装)
- server.js — Node 標準 http で REST API + SSE(ライブログ/進捗)を提供
- public/index.html + public/app.js — ブラウザ UI(画像処理は Canvas で完結させ、サーバ側のネイティブ依存を最小化)
- サーバ経由での実機疎通テスト
- サーバを起動し、curl で API を叩いて接続ハンドシェイク → ファン ON/OFF まで実機で確認
- Web UI の配信(HTTP 200)も確認
- 仕上げ
- macOS 固有の修正(/dev/tty.* → /dev/cu.* の変換)
- 起動スクリプト・README・.gitignore の作成
完成したもの
最後に
今回は Claude のおかげで機材の買い替えを避けられ個人的により使いやすくなり棚から牡丹餅な経験ができました!
ソフトウェア都合で捨てようと思っているガジェットや工具をお持ちでしたら、一度 Claude と相談したり繋げてみると良いかもしれませんね!

