如何从多个Android设备传感器同时获取数据并写入数据流?

时间:2015-04-10 09:19:42

标签: arduino sensor

我使用Android设备从加速度计和光传感器中检索数据。我将数据写入OutputStream,通过蓝牙将数据发送到Arduino。我想创建一个类似下面的字符串 - " X值(加速度计),Y值(加速度计),光线传感器值" 但问题是我无法从同一个SensorEvent获得两个值数组。它似乎只包含加速度计值。这就是我现在所拥有的......

@Override
public void onSensorChanged(SensorEvent event) {
    actualTime = System.currentTimeMillis();
    if(event.sensor.getType() == Sensor.TYPE_GRAVITY) {
        int x = (int) event.values[0];
        int y = (int) event.values[1];

        String grav = x + "," + y;
        if (mConnectedThread != null) {
            if(actualTime - lastUpdate > 500) {
                mConnectedThread.write(grav.getBytes());
                lastUpdate = actualTime;
            }

        }
    }
    else if(event.sensor.getType() == Sensor.TYPE_LIGHT) {
        actualTime = System.currentTimeMillis();
        float value = event.values[0];
        if(mConnectedThread != null) {
            if(actualTime - lastUpdate > 500) {
                    String val = "" + value;
                    mConnectedThread.write("click".getBytes());
                    lastUpdate = actualTime;




            }

        }

    }

1 个答案:

答案 0 :(得分:0)

如果您只是从Sensor.TYPE_GRAVITY事件中发送x和y值。

另外,当发生Sensor.TYPE_LIGHT事件时,您将发送“click”一词编码为字节。这似乎不太可能是你想要的

当您触发2个不同的事件时,很难看到如何一次发送所有数据,除非您存储事件,稍后将它们合并然后发送。