mozikeru.com

和歌山在住。2児の父。IoTエンジニア。各種ご相談承ります。

RaspberryPIとコインセレクタでデジタルコンテンツ販売端末を作成する

以前の記事で扱ったコインセレクタを使って、家庭用のデジタルコンテンツ販売端末を
作成してみました。

f:id:mozikeru:20170907214809j:plain


コインセレクタとRaspberryPIの仕組みに、さらにタッチパネルを接続しています。


基本的な動作イメージはこんな感じです。

①chromiumブラウザをキオスクモードで起動
②ブラウザ画面に販売する画像をインターネットサーバーからの
 直URL指定で表示。
②ローカルサーバー(RasPi)側node.jsでコインセレクタGPIOを監視
③コインセレクタへの現金投入を検知したら、
 ブラウザ側(クライアント側)にWebsocketで通知。
④現金投入通知を受け取ったクライアント側で「購入ボタン」を表示
⑤購入ボタンの押下を検知したらjQueryで、インターネットサーバー上の
 該当画像URLのQRコードを生成して画面に表示
⑥購入者は画面のQRコードをスマホで読み取って画像をゲット!

ちなみに今回のコンセプトは、孫画像販売機と称して、
「私の両親に対して、孫(私の娘)の画像を一枚百円で売る」という、かなりヒドイものです。

f:id:mozikeru:20170907220045j:plain
↑実際の購入ボタン表示イメージ

f:id:mozikeru:20170907220440j:plain
↑QRコード表示イメージ

投入された100円玉は本体下部のアクリル棚に収納されます。

f:id:mozikeru:20170907220834j:plain
↑鍵付きでセキュリティも万全。


今回筐体収納ボックスの制作は主に友人夫妻が頑張ってくれました。

f:id:mozikeru:20170907221215j:plain


【覚え書き、感想等】
・今回始めて使用してみたのですが、chromiumブラウザにはキオスクモードというものが存在しており、このモードで起動を行うと、キーボードからAlt+f4を送信しない限り、ブラウザを終了させることも出来ず、URLを直接入力して別サイトに遷移することも出来なくなるため、タッチパネル端末のアプリケーションを作成するにはうってつけです。(DeveloperTool等の心配も無くなるので、クライアントJSをイジられる心配が減るのもありがたい)

littlewing.hatenablog.com

 

・QRコードの生成はこちらの記事を参考に、jquery.qrcode.jsライブラリを
使って生成しました。

on-ze.com


・ローカルサーバーのnode.jsで読み取ったGPIOの内容をクライアント側(ブラウザ)に渡すのにwebsocketはとてもいい感じでした。コインの投入を検知して瞬時に画面に購入ボタンが表示されるのは気持ちがいいです。


・今回はあくまで冗談みたいなコンセプトモデルとして作成してみました。実際に商売としてデジタルコンテンツを販売する端末にするのであれば、同一QRコードからのダウンロード数を制限するための仕組みであるとか、そういった、コンテンツ保護の仕組み等は必須だと思います。そもそも端末が持ち運び可能なので端末ごと売上が強奪されるリスクが…。

しかしながら、同好の士が集まる即売会等で性善説に頼った販売端末と割り切れば実戦投入出来ないでしょうか…。