I'm building a project using the NANO 33 BLE Sense, but my mind is swimming in BLE and I'm wondering what best practice is for architecture.
The board will eventually control several blocks of neopixels: Block A, Block B, Block C and Block D.
I'm building an app in MIT's App Inventor with 4 pairs of buttons to turn on/off each block of pixels.
But what is best practice for spinning up BLE Services vs. Characteristics?
My current architecture has a main BLEService (ledblocksService), and then I've defined 4 individual BLEByteCharacteristic's, one for each block of LEDs. Each button in the App Inventor simply drops a 1 or 0 to the proper characteristic UUID.
Is this the way Services/Characteristics are supposed to be used? As I figure I could just as easily simply only have one characteristic, to which I write a unique value to control each LED block (0/1 for Block A, 2/3 for Block B, etc).
What criteria do you use to determine if you should use separate Characteristics (or even separate Services)?