Skip to main content

COines BRidge Access — Bosch AppBoard protocol for Python

Project description

cobra-bridge

COines BRidge Access — Bosch AppBoard protocol for Python

Transport-agnostic library for the Bosch Sensortec Application Board 3.1+. Supports USB-Serial (pyserial) and BLE (Bleak) backends with identical protocol logic.

Install

pip install cobra-bridge

For BLE support:

pip install cobra-bridge[ble]

Quick Start

from cobra_bridge.transport import SerialTransport
from cobra_bridge.sync import CobraBridge
from cobra_bridge.drivers.bmm350 import BMM350

# USB-Serial
transport = SerialTransport(port='/dev/ttyACM0')
bridge = CobraBridge(transport=transport)
bridge.connect()

sensor = BMM350(bridge)
sensor.init()
data = sensor.read_mag_data(compensated=True)
print(f"X={data['x']:.2f} Y={data['y']:.2f} Z={data['z']:.2f} uT")

bridge.disconnect()

Platform-Specific Setup

Linux

# Install
pip install cobra-bridge

# Serial port — typically /dev/ttyACM0 or /dev/ttyUSB0
# Add yourself to the dialout group to avoid sudo:
sudo usermod -aG dialout $USER
# Log out and back in for group changes to take effect

# Find your board:
ls /dev/ttyACM* /dev/ttyUSB*

# Usage
from cobra_bridge.transport import SerialTransport
transport = SerialTransport(port='/dev/ttyACM0')

macOS

# Install
pip install cobra-bridge

# Serial port — typically /dev/cu.usbmodemXXXX
# List available ports:
ls /dev/cu.usbmodem*

# Usage
from cobra_bridge.transport import SerialTransport
transport = SerialTransport(port='/dev/cu.usbmodem1401')

Windows

# Install
pip install cobra-bridge

# Serial port — typically COM3, COM4, etc.
# Check Device Manager → Ports (COM & LPT) to find your board

# Usage
from cobra_bridge.transport import SerialTransport
transport = SerialTransport(port='COM3')

BLE (All Platforms)

from cobra_bridge.transport import BleTransport

# Scan for devices
devices = await BleTransport.scan(timeout=5.0)

# Connect by address
transport = BleTransport(address='AA:BB:CC:DD:EE:FF')
bridge = CobraBridge(transport=transport)
bridge.connect()

Note: BLE requires the [ble] extra: pip install cobra-bridge[ble]

Architecture

         ┌──────────────┐     ┌─────────────┐
         │  CobraBridge │────▶│  Transport  │  ← abstract base
         │  (Packetizer)│     │  (I/O)      │
         └──────────────┘     └─────────────┘
                                   │
                       ┌───────────┴───────────┐
                       │                       │
                 Serial Transport        BLE Transport
                 (pyserial/WebSerial)   (Bleak/WebBluetooth)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cobra_bridge-0.1.0.tar.gz (22.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cobra_bridge-0.1.0-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file cobra_bridge-0.1.0.tar.gz.

File metadata

  • Download URL: cobra_bridge-0.1.0.tar.gz
  • Upload date:
  • Size: 22.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.13.7 HTTPX/0.28.1

File hashes

Hashes for cobra_bridge-0.1.0.tar.gz
Algorithm Hash digest
SHA256 34b7a2912ec603dd6a1b50a7449ede66df6c41032c23a70282f228256812d0d1
MD5 ab93d81bc6fbf598f95c1b6d6f0a9c57
BLAKE2b-256 699860445d9c1f9d3f60632f569116cb63b22a09172693fa83cb2d412990482f

See more details on using hashes here.

File details

Details for the file cobra_bridge-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cobra_bridge-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.13.7 HTTPX/0.28.1

File hashes

Hashes for cobra_bridge-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 00315cdf7a0f46e8c877424aa9d4dcb611cfbd404721f501ce31822da9bdbcaa
MD5 ea7ed5d098102a2219403db98f785759
BLAKE2b-256 d2352f9ad90c38ea6146d166b2e64b5f5adfceaa83adbc4c7a729b38e2187a91

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page