我正在尝试将 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
加速度计的任何一个或单个实际读数)。奇怪的是,来自 javascript 的内置日志 ( console.log
) 仅开始打印3131
接收到的数据,即使 websocket 发送了一些有效数据也是如此。您能看到代码中的任何错误还是您有任何其他建议?