BACKGROUND:
So I've got minimal experience with low-level development/low-level coding/digital hardware, being more of an antennas person before, but have been given a task that I have boiled down to the following architecture:
Host PC --> Cloud --> Raspberry Pi --> Network of Control Actuators and Sensors.
Commands from the Host PC will either switch the actuators on/off (only this on/off binary is needed for now), or request sensor information. We currently do this with HM-10s running BLE, but this only allows up to 5 slave devices.
For demonstration purposes, ignoring integration with the RPi/electronics, and just using the dev-boards, I just want to use 1 nRF52832 device as a master/Client, and the other 2 I have as identical Slaves/Servers, each running multiple services, with each service having multiple characteristics. I don't have any sensors yet, so just want to change the status of the LEDs on the Servers through the Client.
WHAT I WANT TO DO:
An obvious way to do this test is having each LED on each Server board representing a service. The characteristics of each LED could be On/Off, and two different duty cycles of pulsing when turned On. However, even using only 2 LEDs on each server, this is too much to do with only 4 buttons on the Client (2 servers * 2 services/LEDs * 2 characteristics ).
1.) So I would first like to just do (2 servers * 1 service/LED * 2 characteristics) in that a single LED on the server A can be turned on/off with button 1 on the client, the duty cycle can be changed with button 2, and the same with server B with buttons 3/4.
2.) I then want to upgrade to plugging the client into a PC using USB to allow more complex commands, and more of them, using Python.
WHAT I'VE DONE SO FAR
Mostly background reading, getting the build toolchain up and running, and have run the light switch mesh example. This was cool to see, but was just following basic instructions, and now I'm at a loss where to go next.
MY QUESTIONS:
- Is the above a good way of demonstrating that Bluetooth Mesh is what our system needs?
- Is it a feasible approach within a month or two - remembering my minimal starting position
- What do I do to achieve these goals? I'm overwhelmed with the number of C files in each project. Should I start with the light switch example and modify it? I want to properly understand what's going on when I switch from this demonstration to the proper development cycle.
Thanks so much in advance, any advice appreciated.