def handleSense(): """ Starts up the SensorPi runtime, begins listening for SenseHat input, establishing a connection to a local CommPi via LAN, and sending data for transmission to the CommPi """ sensor_keys = get_sensor_keys() sensor_ids = {} sensor_ids[sensor_keys["TEMPERATURE"]] = 2 sensor_ids[sensor_keys["PRESSURE"]] = 3 sensor_ids[sensor_keys["HUMIDITY"]] = 4 sensor_ids[sensor_keys["ACCELERATION"]] = 5 sensor_ids[sensor_keys["ORIENTATION"]] = 6 sensePi = SensePi(sensor_ids=sensor_ids) client = WebClient() while True: print("while true") temp = sensePi.get_temperature() pres = sensePi.get_pressure() hum = sensePi.get_humidity() acc = sensePi.get_acceleration() orie = sensePi.get_orientation() all = sensePi.get_all() dataArr = [temp, pres, hum, acc, orie, all] for payload in dataArr: payload = json.dumps(payload) payload = json.loads(payload) print(payload) try: client.send(payload) except Exception as err: print("error occurred: {}".format(str(err))) raise time.sleep(1)
from hardware.Utils.utils import ( get_logger, get_sensor_keys, date_str_with_current_timezone, ) # Conditional import for sense hat and emulator try: if not os.environ.get("EMULATE_SENSE_HAT"): from sense_hat import SenseHat else: raise ImportError("Import emulator") except ImportError: from sense_emu import SenseHat sensor_keys = get_sensor_keys() class SensePi: def __init__(self, log_file_name=None, sensor_ids=None): nyu_purple = (87, 46, 140) self.sense = SenseHat() self.sense.show_message("MERCURY", text_colour=nyu_purple, scroll_speed=0.04) self.sense.clear() if log_file_name is None: self.logging = get_logger("SENSE_HAT_LOG_FILE") else: self.logging = get_logger(log_file_name, log_file_name)
def test_get_sensor_keys(self): self.assertDictEqual(get_sensor_keys(), UtilsTests.SENSOR_KEYS)