def save_sensors(verbose=False): filePath = './SensorData' #Create folder if it does not exist if not os.path.exists(filePath): os.mkdir(filePath) filePath += '/' if (verbose): print('Saving sensor data...') #Save each sensor contents into respective files for sensor in sensors.get_sensors(): #Only save if the sensor has been updated if sensor.is_updated() or sensor.get_name() == 'Battery_Level': if (verbose): print('Saving', sensor.get_name()) filename = filePath + sensor.get_name() + '.txt' contents = sensor.get_contents() f = open(filename, 'w+') for data in contents: f.write("%f\n" % data) sensor.set_updated(False) f.close() if (verbose): print(sensor.get_name(), 'Saved.') print()
def push_endpoint(timer): try: resp = requests.post(ENDPOINT, headers={'content-type': 'application/json'}, data=ujson.dumps(sensors.get_sensors())) if resp.status_code != 200: print('Error : Status Code : {}. Message : {}'.format( resp.status_code, resp.text)) gc.collect() except Exception as e: print('Error: {}'.format(e))
def _httpHandlerTimeGet(httpClient, httpResponse): """_httpHandlerTimeGet""" try: data = ujson.dumps(sensors.get_sensors()) except: data = 'Attempting to get sensors...' httpResponse.WriteResponseOk(headers=({ 'Cache-Control': 'no-cache' }), contentType='text/event-stream', contentCharset='UTF-8', content='data: {0}\n\n'.format(data))
def __init__(self, statuses_queue: queue.Queue): BaseThread.__init__(self) self._statuses_queue = statuses_queue self._generator = StatusGenerator(sensors.get_sensors()) self._sampling_frequence = configmanager.config.getfloat('general', 'data_sampling_interval')