Research/Embedded System

Thingy:52 Firmware and BLE Services

유아현 2021. 9. 21. 00:13

 # Thingy Firmware Architecture

 

Thingy Application is a high level interface for users to control Thingy features.

 

Thingy Modules provide APIs of modules such as BLE, battery measurement, environment, motion, sound and UI.

 

BLE Services contians APIs of the BLE services such as configuration, environment, motion, sound and UI service.

Sensor Drivers contains APIs of the drivers for accelerometer, color sensor, GPIO extender, gas sensor, humidity sensor, microphone driver, motion sensor, NFC driver, pressure sensor and speaker driver.

 

 

 

 

# Thingy:52 Bluetooth GATT

 

Generic Attribute Profile (GATT) defines the way that two BLE devices transfer data back and forth using Services and Characteristics. GATT is found in BLE Service chart shows characteristics of configuration service, environment service, UI service, motion service, sound service, battery service and DFU service. 

 

 

Example of Environment Service Table

 

 

Let's say Thingy is a server and Raspberry Pi is a client. 

Read is when the client reads data from the server.

Write is when the client writes data to the server.

Notify is when the server sends the data to the client without acknowledgement. Client subscribes to the server to get the data.