16

我希望将Android智能手机收集的实时传感器数据传输到我的电脑上,并在我的电脑上进行信号处理。我怎样才能做到这一点?非常欢迎任何有用的教程链接。

通过无线方式或 USB 电缆都是可以接受的。

当数据传输时,计算机如何处理它们?

我熟悉 Python,因此最好使用 Python 来处理即将到来的数据。

Python 是否有可能不断地接受新来的数据并对其进行处理?

4

4 回答 4

9

一些 Android 应用程序允许您通过网络共享传感器:

您还可以通过 ADB 读取传感器

于 2017-03-01T10:20:14.943 回答
4

您可以使用 python 套接字来接收数据并进行处理。查看:https ://docs.python.org/2/howto/sockets.html 了解如何设置服务器机器。

Android 有一个兼容的套接字,您可以使用它来发送数据:请查看:http ://examples.javacodegeeks.com/android/core/socket-core/android-socket-example/ 了解如何使用它的一些想法。

编辑:这适用于 wifi 和 3g/4g。

于 2015-03-05T09:04:45.253 回答
4

有多个 Android 应用程序可以无线传输传感器数据。结帐,例如“智能手机 IMU GPS”[1],它是开源的 [2]。它通过UDP传输数据。用于接收数据流的 Python 代码片段在应用程序描述 [1] 中给出。确保智能手机和接收设备连接到同一个 WiFi 网络,并且没有防火墙阻止流量。

[1] https://play.google.com/store/apps/details?id=de.lorenz_fenster.sensorstreamgps
[2] https://sourceforge.net/projects/smartphone-imu/

于 2016-09-08T12:17:26.573 回答
0

您可以使用来自 Github 的Sensor Server 应用程序,它将实时传感器数据流式传输到 WebSocket 客户端。

要从 Android 接收实时传感器数据,您只需使用以下 URL 连接到应用程序

ws://ip:port/sensor/connect?type=<sensor-type>

<sensor-type>您要连接的传感器类型在哪里。例如

对于加速度计:/sensor/connect?type=android.sensor.accelerometer

对于方向:/sensor/connect?type=android.sensor.orientation

对于陀螺仪:/sensor/connect?type=android.sensor.gyroscope

等等...

几乎每种语言都提供了 Websocket 协议的实现。要在 Python 脚本中接收实时数据,您可以使用Python 的 WebSocket 客户端

import websocket



def on_message(ws, message):
    print(message) # sensor data here in JSON format

def on_error(ws, error):
    print("### error ###")
    print(error)

def on_close(ws, close_code, reason):
    print("### closed ###")
    print("close code : ", close_code)
    print("reason : ", reason  )

def on_open(ws):
    print("connection opened")
    

if __name__ == "__main__":
    ws = websocket.WebSocketApp("ws://192.168.0.102:8082/sensor/connect?type=android.sensor.accelerometer",
                              on_open=on_open,
                              on_message=on_message,
                              on_error=on_error,
                              on_close=on_close)

    ws.run_forever()

Sensor Server 应用程序和 Websocket 客户端必须连接到同一网络

于 2021-11-04T12:12:27.873 回答