There is no protocol as such but you could do a GeoIP lookup to get your approximate location and map the location to a timezone.
MaxMind offers a GeoIP database that is accessible via various methods, see http://dev.maxmind.com. You can even get the data in a CSV file and store locally but given that you are on an embedded device I suspect you are low on storage and might prefer to just do an online lookup. They have a convenient API that can do a lookup on the requestors IP address, so you don't need to use any other method to find your external address. In addition the returned data includes timezone information so it appears you can get all you need with a single HTTP call. See https://www.maxmind.com/en/locate-my-ip-address
I put together a few lines of Python to show how this could work:
#!/usr/bin/env python
import urllib, json
url = "https://js.maxmind.com/geoip/v2.1/city/me?referrer=https%3A%2F%2Fwww.maxmind.com"
response = urllib.urlopen(url)
data = json.loads(response.read())
print data['location']['time_zone']
# to pretty print all returned data
#print json.dumps(data, sort_keys=True, indent=4, separators=(',', ': '))
And when run:
kll $ python ip2tz.py
Europe/Stockholm
It would probably be wise to cache the result so that you can get your timezone even if your Internet connection is down.