Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
 def test_get_sensor_keys(self):
     self.assertDictEqual(get_sensor_keys(), UtilsTests.SENSOR_KEYS)