# 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.
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.
'Research > Embedded System' 카테고리의 다른 글
Thingy:52 Multiconnection with Raspberry Pi using C (0) | 2021.09.21 |
---|---|
Setting up Thingy:52 and Raspberry Pi using Node.js (0) | 2021.09.21 |
Nordic Thingy:52 Hardware and Features (0) | 2021.09.20 |