Python BLE client for the Vakaros Atlas sailing instrument
Project description
atlas-ble-client
Python BLE client for the Vakaros Atlas sailing instrument.
Handles device discovery, session listing, and chunk-by-chunk streaming download with CRC verification. Downloaded chunks can be assembled into VKX files for analysis.
Requirements
- Python 3.9+
- bleak 0.21+
Installation
pip install atlas-ble-client
Usage
import asyncio
from atlas_ble_client import AtlasClient
async def main():
# Scan for all Atlas devices in range (or pass target_sn="XXXXXXXXXXXX")
devices = await AtlasClient.find_devices()
for device in devices:
print(f"Found: {device.serial_number} ({device.address})")
async with AtlasClient(device) as client:
sessions = await client.list_sessions()
for sess in sessions:
if sess.duration_sec == 0:
continue
print(f" Session {sess.index}: {sess.total_chunks} chunks, {sess.duration_sec}s")
async for chunk_id, data in client.stream_chunks(sess):
# save data to disk, assemble into VKX, etc.
pass
asyncio.run(main())
Assemble chunks into a VKX file
from atlas_ble_client import AtlasClient
records = []
async for chunk_id, data in client.stream_chunks(sess):
records.append(AtlasClient._assemble_chunk(chunk_id, data))
with open("session.vkx", "wb") as f:
f.write(b"".join(records))
Protocol
The Atlas instrument communicates over BLE using a proprietary binary
protocol. See the module docstring in
src/atlas_ble_client/client.py for the full
packet format and VKX file structure.
Disclaimer
This software is provided as-is, without any warranty. Use at your own risk. The authors are not responsible for any damage to devices or data loss.
License
MIT — see LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file atlas_ble_client-0.1.0b1.tar.gz.
File metadata
- Download URL: atlas_ble_client-0.1.0b1.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4eb3d29cf907b0aad03276f900ea51a4d6d4b3c2d97d9146ac295a882b519cba
|
|
| MD5 |
a8e9ae788f6a9fa631622d6c8e81db6a
|
|
| BLAKE2b-256 |
47e028f9187a05bf445aa814aba2d46670a2dbf1be02763394536593d30e592b
|
Provenance
The following attestation bundles were made for atlas_ble_client-0.1.0b1.tar.gz:
Publisher:
publish.yml on koheik/atlas-ble-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
atlas_ble_client-0.1.0b1.tar.gz -
Subject digest:
4eb3d29cf907b0aad03276f900ea51a4d6d4b3c2d97d9146ac295a882b519cba - Sigstore transparency entry: 1238618915
- Sigstore integration time:
-
Permalink:
koheik/atlas-ble-client@2d013c4df1cc8ef550dcb14273f79fd5352d9494 -
Branch / Tag:
refs/tags/v0.1.0b1 - Owner: https://github.com/koheik
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2d013c4df1cc8ef550dcb14273f79fd5352d9494 -
Trigger Event:
push
-
Statement type:
File details
Details for the file atlas_ble_client-0.1.0b1-py3-none-any.whl.
File metadata
- Download URL: atlas_ble_client-0.1.0b1-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ab1ed14bd8e2b6045ca43a30cff4c48806c109f33186fe4f9ad33b9370d4c17
|
|
| MD5 |
2db50310e5ec182a8a2131c7b5d00a40
|
|
| BLAKE2b-256 |
322154f6635950a6cba1e643fd7a5f1ebdfdfdd654a7969c2428a0ccc1c9c30e
|
Provenance
The following attestation bundles were made for atlas_ble_client-0.1.0b1-py3-none-any.whl:
Publisher:
publish.yml on koheik/atlas-ble-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
atlas_ble_client-0.1.0b1-py3-none-any.whl -
Subject digest:
4ab1ed14bd8e2b6045ca43a30cff4c48806c109f33186fe4f9ad33b9370d4c17 - Sigstore transparency entry: 1238618917
- Sigstore integration time:
-
Permalink:
koheik/atlas-ble-client@2d013c4df1cc8ef550dcb14273f79fd5352d9494 -
Branch / Tag:
refs/tags/v0.1.0b1 - Owner: https://github.com/koheik
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2d013c4df1cc8ef550dcb14273f79fd5352d9494 -
Trigger Event:
push
-
Statement type: