Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions Adafruit_IO/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,17 @@ def append(self, feed, value):
"""
return self.create_data(feed, Data(value=value))

def send_location_data(self, feed, value, lat, lon, ele):
"""Sends locational data to a feed

args:
- lat: latitude
- lon: logitude
- ele: elevation
- (optional) value: value to send to the feed
"""
return self.create_data(feed, Data(value = value,lat=lat, lon=lon, ele=ele))

def receive(self, feed):
"""Retrieve the most recent value for the specified feed. Feed can be a
feed ID, feed key, or feed name. Returns a Data instance whose value
Expand Down
5 changes: 4 additions & 1 deletion Adafruit_IO/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,10 @@
'feed_id',
'expiration',
'position',
'id' ]
'id',
'lat',
'lon',
'ele']

FEED_FIELDS = [ 'name',
'key',
Expand Down
36 changes: 36 additions & 0 deletions examples/api/location.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
"""
'location.py'
==================================
Example of sending location over an
Adafruit IO feed to a Map Dashboard
block

Author(s): Brent Rubell
"""

# Import Adafruit IO REST client.
from Adafruit_IO import Client, Feed, RequestError

# Set to your Adafruit IO key.
ADAFRUIT_IO_USERNAME = 'YOUR_AIO_USERNAME'
ADAFRUIT_IO_KEY = 'YOUR_AIO_KEY'

# Create an instance of the REST client.
aio = Client(ADAFRUIT_IO_USERNAME, ADAFRUIT_IO_KEY)

# Create a location feed
try:
location = aio.feeds('location')
except RequestError:
feed = Feed(name="location")
location = aio.create_feed(feed)


# Top Secret Adafruit HQ Location
value = 1
lat = 40.726190
lon = -74.005334
ele = 6 # elevation above sea level (meters)

# Send location data to Adafruit IO
aio.send_location_data(location.key, value, lat, lon, ele)