Discovering an embedded device's IP address
If you can make up any custom protocol, a simple UDP beacon periodically sent to the broadcast address (255.255.255.255 or your preferred interface's broadcast address) is simple and reliable.
Synopsis of comments:
For listing in mainstream platforms' (Windows, Linux, OS X) network views, the best option would likely be to implement the full stack required for Windows' Network Discovery.
If hostname lookup is enough, Netbios or mDNS could be enough.
The search term you are likely looking for is zero-configuration networking and should give you all the available options
Get IP address of an UPnP device
Depending on how you identify the correct device you could take a look at gssdp-discover in gupnp-tools package (which is part of the GUPnP project). If that is not what you want but you are prepared to code a bit, take a look at the source: gssdp-discover is only ~100 lines of C so you should be a able to do what you want in a few dozen lines of python...
Example:
$ gssdp-discover -t uuid:c013f58f-3072-4c3b-9df8-4f869c03edf2 -n 3
Using network interface wlan0
Scanning for resources matching uuid:c013f58f-3072-4c3b-9df8-4f869c03edf2
resource available
USN: uuid:c013f58f-3072-4c3b-9df8-4f869c03edf2
Location: http://10.10.15.61:49152/description.xml
$
Related Topics
Mpc/Mpd on Linux: How to Play Local Wav File
Replace Strings with Evaluated String Based on Matched Group (Elegant Way, Not Using for .. In)
Extract Parent Domain Name from a List of Url Through Bash Shellscripting
Finding and Listing Duplicate Words in a Plain Text File
Calculator in Assembly Language - Linux X86 & Nasm - Division
How to Mmap() a Large File Without Risking The Oom Killer
Generate Disk Usage Graphs/Charts with Cli Only Tools in Linux
Dlopen with Two Shared Libraries, Exporting Symbols
Sudo/Apt-Get Command Not Found in Git Bash
Terraform - Unable to Run Multiple Commands in Local Exec
How to Remove File with Special Characters
Curl Http Post File Upload Using Curl -Data in Linux Command Line
Run 'Perf Stat' on The Output of 'Perf Record'
Using Winscp to Grab a File Through a Tunnel
Polling a Loop Device Through a Kernel Module
Capture Output of a Bash Command, Parse It and Store into Different Bash Variables