我正在尝试将Pebble加速度计数据记录到我的计算机上。我希望使用PebbleKit JS与手表本身进行通信,然后使用websockets将数据发送到我的计算机,但目前websocket只发送一条消息,然后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发送的第一条消息。即使订单被更改,也只会发送一条消息(例如,它会打印this gets sent
或来自加速度计的单个实际读数。奇怪的是,即使websocket发送了一些有效数据,javascript中的内置日志记录(console.log
)也只是为接收到的数据打印3131
。你能看到代码中的任何错误,或者你有其他建议吗?