I have a custom embedded hardware device running Linux controlled by a Python code. I'd like to create an Android client that will automatically find any of my devices on the local network, configure the devices, and display data from them.
I'd like to keep my implementation as simple as possible and leverage as much open source software possible for a quick implementation (with a strong preference towards actively maintained/support code).
My research so far has led me to favor a UPnP implementation, using SSDP to find my devices and letting the UPnP communicate via SOAP between my Android client and Python-controlled Linux device.
- Is UPnP a good choice for this use case (I'm not a traditional UPNP device)? Or are there other standards-based approaches I should consider?
- Assuming UPnP is reasonable:
- (a) What are reasonable libraries to use on Android and in my Python/Linux device?
- (b) Should I implement a custom UPNP "device" or should I try to shoehorn my solution into looking like a MediaServer?
Currently I'm attempting the implementation using Cling on the Android side and Coherence on the Python side, neither of which have been as straightforward as I would have hoped, which makes me wonder if I'm taking a smart approach.