I have a device that needs to do the following:
- Communicate with a program running on a computer.
- Send sensor data over UART when polled by the host computer.
- Accept commands from a host computer (update setting, turn on led ...etc.)
- Perform a DFU when the host computer has a firmware available.
I have read a lot of different forum posts that have "work arounds" for custom protocols for delivering data while also supporting MCUMGR . I suppose a custom protocol isn't strictly necessary in my use case (but I did start this way). I am mostly interested in the Nordic/Zephyr best practice for accomplishing the three objectives above. It seems like MCUMGR can coexist with the shell, but I'm not sure if a shell is appropriate for talking with other programs (its more for a user terminal). Any suggestions on the high level design here?
I am using NCS 2.3.0 and currently working on an NRF52840 (although I will most likely reuse the agreed upon paradigm on other SOC's like the NRF9160 and NRF53).