3

Pebble 加速度計のデータを自分のコンピューターに記録しようとしています。PebbleKit JS を使用して時計自体と通信し、Websocket を使用してそのデータをコンピューターに送信することを望んでいましたが、現在、Websocket は 1 つのメッセージしか送信せず、iOS アプリがクラッシュします。

pebble-js-app.js の内容は次のとおりです。

var ws = new WebSocket('ws://192.168.1.134:8888');


// Called when JS is ready
Pebble.addEventListener("ready",
    function(e) {
        console.log("js initialized");
    }
);

// Called when incoming message from the Pebble is received
Pebble.addEventListener("appmessage",
    function(e) {

        console.log(ws.readyState);
        if (ws.readyState === 1) {
            ws.send('this gets sent');
            ws.send(e.payload.message);
        }
        console.log("acc data: " + e.payload.message);
    }
);

アプリを実行したときに取得するログは次のとおりです。

[INFO    ] Enabling application logging...
[INFO    ] Displaying logs ... Ctrl-C to interrupt.
[INFO    ] JS: starting app: 4C74DC80-A54E-4D0B-9BAB-FD355D364334 accelero
[INFO    ] app is ready: 1
[INFO    ] JS: accelerometer: js initialized
[INFO    ] JS: accelerometer: 0                    
[INFO    ] JS: accelerometer: acc data: 3131
[INFO    ] JS: accelerometer: 1 

[ERROR   ] Lost connection to Pebble

私のコンピューターで実行されている websocket サーバーは、javascript から送信された最初のメッセージをログに記録します。順序が変更された場合でも、メッセージは 1 つだけ送信されます (たとえばthis gets sent、加速度計からの実際の読み取り値または 1 つを出力します)。興味深いことに、WebSocket が何らかの有効なデータを送信した場合でも、javascript からの組み込みのログ ( )は、受信したデータのconsole.log印刷のみを開始しました。3131コードにエラーが見られますか、それとも他に何か提案はありますか?

4

0 に答える 0