Skip to content

Instantly share code, notes, and snippets.

@betodealmeida
Created April 14, 2013 22:35
Show Gist options
  • Save betodealmeida/5384520 to your computer and use it in GitHub Desktop.
Save betodealmeida/5384520 to your computer and use it in GitHub Desktop.
Streaming data via OPeNDAP
from pydap.model import *
from pydap.handlers.lib import IterData, BaseHandler
class SensorData(IterData):
"""
Sensor data as a structured array like object.
"""
def gen(self):
while 1:
timestamp = time.time()
temperature, voltage = get_temperature()
yield timestamp, voltage, temperature
time.sleep(0.1)
dataset = DatasetType('roberrypi')
seq = dataset['sensor'] = SequenceType('sensor')
seq['time'] = BaseType('time', units='seconds since 1970-01-01')
seq['voltage'] = BaseType('voltage', units='mV')
seq['temperature'] = BaseType('temperature', units='deg C')
seq.data = SensorData('sensor', seq.keys())
if __name__ == '__main__':
app = BaseHandler(dataset)
from werkzeug.serving import run_simple
run_simple('0.0.0.0', 8080, app, use_reloader=True, threaded=True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment