-
I thought after the connection between Central and Peripheral is established they agree on a receiving/transmission schedule and turn radio on just in time synchronously, during that periods GATT server may send characteristics updates. So no scan is required.
yes, however I was talking about case with no connection at all, just advertising
It looks like in BLE Central/Peripheral is independent from Server/Client.
Yes because first two are GAP terms, second two are GATT terms, as mentioned they are separate parts of BLE.
also nice explanation here
https://docs.silabs.com/bluetooth/3.2/general/connections/central-and-peripheral-roles#quick-overview
https://docs.silabs.com/bluetooth/3.2/general/gatt-protocol/gatt-server-and-client-roles#quick-overview
or also here https://www.cardinalpeak.com/blog/what-is-ble-and-how-do-its-related-gap-and-gatt-profiles-workThere can be BLE devices not using GATT at all, in some BLE stack implementations you can even use just the connectionless part of GAP (Broadcaster, Observer roles) for small size with connection oriented Peripheral/Central roles and all the GATT code not linked in at all. Maybe it helps to stop thinking about 'BLE' and start thinking about 'GAP' and 'GATT' separately. In fact they are typically used at different times - GAP before making connection and GATT after. Also there is no direct relation between them e.g. what service IDs, name or other data you advertise and what attributes/services are visible over GATT once you connect are two separate things.
I thought after the connection between Central and Peripheral is established they agree on a receiving/transmission schedule and turn radio on just in time synchronously, during that periods GATT server may send characteristics updates. So no scan is required.
With my POC GATT Current Time service I can even stop advertising at Android, and updates are still coming to my Bangle.
It looks like in BLE Central/Peripheral is independent from Server/Client. It is possible to make Client to play Peripheral role and advertise. Then Server should scan. But it looks quite weird to me, I am used to a world where Servers listen and Clients initiate connection. :)