Bridge Apps (ブリッジアプリ)

Socket.IO をサポートするすべてのプラットフォームまたはアプリケーションは、メッセージを通じてProtoPie Connectと通信できます。そこでBridge Appが必要となります。

Bridge Appはハードウェアで発生したイベント情報を収集、サーバからデータを受信、または独立したアプリケーションとして機能します。受信したデータなどはSocket.IOを通じてProtoPieConnectに伝達できるデータに変換して送られます。

下図は、Bridge AppがLogitech G29のデータをデバイスドライバを通じて受信した場合を表しています。 受信後、Socket.IOを通じてProtoPieConnectにデバイスのイベントをJSONに変換して送信します。

JSONAPIを介してメッセージがProtoPie Connectに送信されると、ProtoPie Connectはプロトタイプ、ブリッジアプリ、および外部デバイスに配信します。 メッセージはJSONタイプとなり、コードは次のとおりです。

{ messageId: "messageId", value: "value", };

下記はNode.jsのSocket.IOを利用してProtoPie Connectに送信されたメッセージの例です。詳細につきましては例のコード説明をご参照ください。 GitHubにて全体的なソースコードの確認ができます。

// socket.io-client must be installed by `npm install socket.io-client` const io = require('socket.io-client'); function main(address) { // open connection to ProtoPie Connect with address const socket = io(address); // event for socket connected socket.on('connect', () => { console.log('Socket connected', address); }); // event for socket disconnected socket.on('disconnect', () => { console.log('Socket disconnected'); }); // receive message to ProtoPie Connect socket.on('ppMessage', (message) => { console.log( 'Message form ProtoPie Connect', message.messageId, message.value ); }); setInterval(() => { // message JSON format const message = { messageId: 'time', // messageId for ProtoPie Connect value: new Date(), // value for ProtoPie Connect }; console.log( 'Message to ProtoPie Connect', message.messageId, message.value ); // send message to ProtoPie Connect with event name 'ppMessage' and message socket.emit('ppMessage', message); }, 1000); } main('http://localhost:9981');

Back To Top