
古いボートには、油圧や水温、燃料タンクの残量を、針で示すアナログ計器がずらりと並んでいる。これをスマホやチャートプロッター(航路を表示する電子海図)で見られるようにしたい。だが市販の変換装置は数百ユーロと高く、中身も非公開で手を入れにくい。センサーも計器も交換せずに、既存の配線からデータだけ取り出せないか。
Maik氏が公開した「BoatOpenIO」は、1989年製のモーターボートに載っていた古いアナログセンサーを、そのまま現代のシステムにつなぐオープンソースのゲートウェイだ。ドイツのVDO製センサーを想定し、油圧や温度、タンク残量、エンジン回転数、バッテリー電圧といった値を、マイコン「ESP32」経由でデジタルデータに変える。既存の計器と並列に割り込ませる作りで、元のアナログメーターはこれまで通り動いたまま、同じ値をデジタルでも読めるようにする。
ハードウェアは4枚の基板をリボンケーブルでつないだ構成だ。入力基板の16個の端子でセンサー信号を受け、CD74HC4067というマルチプレクサー(16本の信号を1本ずつ順番に切り替えるスイッチ)で1系統にまとめ、16bitのADコンバーターADS1115でデジタル値に変換する。12Vのセンサー信号を3.3Vに落とす分圧や、回転数パルスを整えるシュミットトリガー、絶縁用のフォトカプラーなど、入力ごとに差し替えられる小さな変換基板を用意し、信号の種類に合わせて組み替えられるようにした。
取り込んだ値は、ESP32のファームウェアからMQTT(機器間で少量のデータをやり取りする軽量な通信方式)で配信する。船舶データの共通形式Signal Kに沿った経路にも1クリックで合わせられ、オープンソースの海図ソフトOpenCPNやOpenPlotterなどでそのまま扱える。設定はドイツ語と英語のWeb画面で切り替えられ、OTAでの更新にも対応する。NMEA2000という舶用の標準規格への対応は開発中だ。
Maik氏は開発の失敗も包み隠さず記録している。最初のv1基板はESP32のフットプリントを誤り、GNDと3.3Vが入れ替わって5枚すべて使い物にならなかった。v2ではADコンバーターを4個から1個に減らすなど設計を見直し、実機で最初のチャンネルの動作確認まで到達した。基板のガーバーファイルやKiCadのソース、部品リストはGitHubで公開されている。古いボートの計器をデジタル化してみたい人には、センサーを買い替えずに始められる設計として参考になるだろう。

