ESP32-S3のボード1枚でUSBプリンターをiPhone対応にするソフト

USB接続しかないプリンターに、ESP32-S3の開発ボードを1枚挿すと、iPhoneやMacから無線で印刷と読み取りができるようになる。そのためのファームウェアが「esp32-usb-to-airprint」としてGitHubで公開された。作ったのはXuan-Son Nguyen氏で、GitHubのプロフィールに所属先としてHugging Faceを記している。

用意するのは、USB-Cの端子を2つ備えたESP32-S3の開発ボードだけだ。利用者はボードの片方の端子をプリンターのUSBにつなぎ、ボードを家のWi-Fiに参加させる。iPhoneではAppleの印刷機能「AirPrint」に対応したプリンターとして見え、共有メニューの「プリント」から印刷できる。読み取りはMacの「イメージキャプチャ」やブラウザーから操作でき、ボードのボタンを押しても始まる。

esp32-usb-to-airprintが対応するのは、キヤノンのインクジェット複合機「PIXMA」の一部の機種だ。同氏の技術メモによると、これらの機種はページ記述言語を持たず、キヤノン独自の印刷命令で動く。そこでESP32-S3が、iPhoneから届く印刷データを1行ずつ受け取りながら、色をインクの4色に変換し、点の並びに置き換えて、キヤノン用の命令としてプリンターへ流す。A4の1ページの変換にかかる時間は、300dpiで約2.2秒、600dpiで約8秒と同氏は記録している。

読み取った画像をiPhoneに渡す方法として、同氏はAirDropも検討した。しかし、送るたびにボードがWi-Fiから30〜60秒外れることなどから見送り、ボードが配信するWebページで画像を受け取る方法を選んだ。そのWebアプリでは読み取った画像の回転や切り抜きをして、PDFにまとめられる。

公開ページの対応表にはMG2400系からMX420系まで17系統が並ぶが、同氏が実機で動作を確かめたのはMG2550Sの1機種だけで、残りは「動くはず」としている。同氏は対応機種を増やす協力者を募っており、追加する機種の実機を持ち、実機で試すことを条件にしている。

ファームウェアはPlatformIOでビルドしてボードに書き込む。ボードには任意で小型の有機ELディスプレイとボタン、3Dプリント製のケースを追加できる。ライセンスはMITだ。

関連情報

fabsceneの更新情報はXで配信中です

この記事の感想・意見をSNSで共有しよう
  • URLをコピーしました!

最新記事

YouTube / PodCast

【PR】読んで役立つ注目記事

目次