2026年5月28日木曜日

自動販売機の業界向けプロトコル

 自動販売機の業界向けプロトコルは、一般のWeb APIというより「機械の中の部品同士が会話するための規格」です。開発者向けに言えば、自販機本体がサーバー、硬貨識別機・紙幣識別機・キャッシュレス端末・在庫管理装置が周辺デバイス、という構図に近いです。

代表的なのが MDB です。これは自販機本体と決済機器をつなぐ内部バスで、硬貨が入った、紙幣を受け取った、電子決済が承認された、いくら販売可能か、といった情報をやり取りします。USBやI2Cのような汎用通信ではなく、自販機業界用に設計された機器間通信と考えると分かりやすいです。

一方、DEXEVA-DTS は、売上・在庫・販売数・エラー履歴などを外部に取り出すためのデータ交換規格です。これは「商品Aが何本売れた」「釣銭切れが起きた」「補充が必要」といった運用データを、ハンディ端末や通信モジュール、クラウド管理システムへ渡すために使われます。

日本では JVMA系規格 も重要です。国内の自販機や周辺機器で使われる接続・通信の仕様で、IoT端末が既存機に後付けされる場合にも関係します。

つまり、自販機のプロトコルは大きく二種類あります。ひとつは「販売・決済を成立させるリアルタイム制御」、もうひとつは「売上や在庫を集める管理データ連携」です。一般開発者が触るなら、実機を直接いじるより、MDB対応の検証ボードやIoT端末、クラウド連携APIを使って、ログ収集・在庫可視化・MQTT連携などから始めるのが現実的です。


海外では、自販機プロトコルは「公開APIで自由に操作する」より、決済端末会社・テレメトリー会社が既存自販機に後付け端末を接続し、クラウド管理する形で発展しています。

米国では MDBDEX/UCS がよく出てきます。MDBは自販機本体、硬貨機、紙幣機、カードリーダーをつなぐ決済系の内部バスです。DEXは売上・在庫・エラー情報を読み出す監査データ用で、補充計画や売上集計に使われます。実務では Cantaloupe、旧USA Technologies の ePort、Nayax などの端末をMDBやDEXポートに接続し、キャッシュレス決済・売上収集・在庫監視をまとめて行う例が多いです。CantaloupeはカードリーダーやSeed系の管理基盤を提供し、Nayaxもカードリーダー、テレメトリー、在庫管理、遠隔監視をまとめた自販機向けソリューションを出しています。

欧州では EVA-DTS が重要です。これは European Vending Association 系のデータ転送標準で、自販機や決済システムから、PCベースの会計・管理システムへ情報を渡すための規格です。欧州の業界団体も、EVA-DTSを「各機械の状態や補充状況を把握するための標準」と説明しています。技術的には、北米では DEX/UCS、欧州では DDCMP 系のEVA-DTSが使われる傾向がある、という説明も見られます。

開発者目線では、海外事例の中心は三層構造です。第一層が 自販機内部のMDB、第二層が 売上・在庫を読むDEX/EVA-DTS、第三層が NayaxやCantaloupeのクラウド管理画面/API です。つまり、低レイヤーではシリアル系・バス系の機器通信、上位ではSaaS APIやダッシュボードになっています。

OSS寄りでは、ESP32でMDBキャッシュレス端末を作り、EVA-DTS、DEX/DDCMP、Bluetooth、MQTTを扱うプロジェクトもあります。所有機や検証機であれば、こうした構成を参考に「自販機テレメトリー」「売上ログのMQTT送信」「在庫可視化」などを作るのが現実的です。