1. Erkennen
Verfügbaren Sensor finden
Scannen Sie beide Übertragungswege automatisch oder wählen Sie BLE beziehungsweise USB-Seriell gezielt aus, wenn ein Workflow eine eindeutige Geräteauswahl erfordert.
flex scan --transport auto FlexTail-Entwicklungsworkflow
Flex CLI verbindet sich über Bluetooth Low Energy oder USB-Seriell mit FlexTail und streamt Messungen, konvertiert Aufzeichnungen und berechnet Kennzahlen ohne eigene Anwendung.
1. Erkennen
Scannen Sie beide Übertragungswege automatisch oder wählen Sie BLE beziehungsweise USB-Seriell gezielt aus, wenn ein Workflow eine eindeutige Geräteauswahl erfordert.
flex scan --transport auto 2. Streamen
Führen Sie flex connect aus, um rohe CSV-Messungen direkt in ein Python-Skript zu streamen. Dieses Beispiel verarbeitet jede Zeile mit flexlib und berechnet die Lendenbeugung.
Stream-Befehl
flex connect | python analyze_live.py analyze_live.py
import flexlib
import sys
for line in sys.stdin:
measurement = flexlib.CSVReader.parse_string(line).measurements[0]
lumbar_bend = measurement.angles.bend
print(f"lumbar bend: {lumbar_bend:.1f}") 3. Veröffentlichen
Leiten Sie denselben Stream an einen kleinen Python-Publisher weiter, um jede Messung an ein MQTT-Topic zu senden. Dieses Beispiel erwartet einen Broker unter localhost:1883 sowie das Paket paho-mqtt.
Stream-Befehl
flex connect | python publish_mqtt.py publish_mqtt.py
import csv
import json
import sys
import paho.mqtt.client as mqtt
from paho.mqtt.enums import CallbackAPIVersion
client = mqtt.Client(CallbackAPIVersion.VERSION2)
client.connect("localhost", 1883)
client.loop_start()
for sample in csv.DictReader(sys.stdin):
client.publish("flextail/live", json.dumps(sample))
client.disconnect()
client.loop_stop() 4. Umwandeln
Batch-Workflows können CSV, JSON, Arrow, Parquet oder RSF exportieren. Ergänzen Sie Winkel und dreidimensionale Koordinaten für nachgelagerte Analysen und geben Sie Haltungs- und Bewegungsaggregate als JSON aus.
flex convert session.rsf session.parquet --angles --coordinates flex stats session.csv --json Python-SDK-Pfad
Das enthaltene Python-BLE-Beispiel akzeptiert auch Paket-Hexdaten über stdin. Dieser niedrigere Abstraktionsweg eignet sich, um erfasste Pakete über das native FlexTail SDK wiederzugeben, ohne eine Bluetooth-Verbindung zu öffnen.
cat captured_packets.hex | python examples/python/ble-stream/flex_ble_stream.py --stdin-hex --no-ble