3

我正在尝试将 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 发送了一些有效数据也是如此。您能看到代码中的任何错误还是您有任何其他建议?

4

0 回答 0