Bridge Apps(ブリッジアプリ)

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

[object Object]

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

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

[object Object]

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