Technical

Bluetooth API

This page describes Bluetooth API that you can use to work with Atmotube directly via BLE connection (without Atmotube Application). e.g. you can write custom program for Windows, Raspberry Pi, etc.

There are 2 ways to get data from Atmotube device:

  1. Bluetooth broadcast
  2. GATT characteristics

You can check the following code samples:

  1. Atmotube Android library

To analyze Blutooth packets and check GATT characteristics you can use Nordic “nRF Connect” app for Android and iOS.

Note: This page describes data format for the latest available firmware. Previous firmware versions may work in a different way.

Bluetooth broadcast

To view raw packet - press RAW button.

Raw Atmotube PRO packet example:

0x0201060FFFFFFF00D9F4982B1900018BC74135090941544D4F545542451107B48A324AD96ED7AD18489A8E010045DB0CFFFFFF00040005000674051B

BLE advertising packet format

SGPC3 data format

BME280 data format

SPS30 data format

Info byte data format

GATT characteristics

Atmotube PLUS

Atmotube PRO

Data history protocol

History data sending is implemented via UART service. You have to send commands via RX and handle device answers via TX UART characteristics.

1. After UART connection mobile device sends HST (history) request with current timestamp. UART service responds with HOK (history OK) acknowledge.

2. If device has not synced history available it starts data sending with HT packed following one or several HD packets. HT packet contains timestamp of the starting HD packet and number of HD packets and size.Mobile device acknowledge HD packets receiving by sending HOK command with current timestamp.

Measurement

If mobile device received HT + all HD packets - it acknowledges data by sending HOK command.