Пример #1
0
    def process_message(self, message):
        if not check(message):
            logging.info("invalid message received: " + message + " " + description(message))
            return False

        GPIO.output(LED_PIN, True)
        logging.info(message + " " + description(message))
	time.sleep(0.1)
        GPIO.output(LED_PIN, False)
        return True
Пример #2
0
    def loop(self):
        self.receiver.calibration()
        self.receiver.receive_begin()

        # main loop
        while True:
            ts = int(time.time())
            self.sleep(ts + LOOP_TIME - ts % LOOP_TIME)

            temperature = self.bmp_sensor.read_temperature()
            pressure = 0.0;
            for _ in range(PRESSURE_COUNT):
                pressure += self.bmp_sensor.read_pressure()
            pressure /= PRESSURE_COUNT

            height = HEIGHT
            sea_level_pressure = math.pow(math.pow(pressure/100.0, 0.1902614) + 8.417168e-05 * height, 5.255927)

            lost_messages = self.receiver.lost_messages
            valid_messages = self.receiver.valid_messages
            self.receiver.valid_messages = 0
            self.receiver.lost_messages = 0

            message = "A " + str(int(round(temperature * 10, 0)))
            message += " " + str(int(round(pressure, 0)))
            message += " " + str(int(round(height * 100, 0)))
            message += " " + str(int(round(sea_level_pressure * 100, 0)))
            message += " " + str(valid_messages)
            message += " " + str(lost_messages)
            logging.info(message + " " + description(message))
Пример #3
0
 def store_message(self, message, commit):
     with self.lock:
         ts = int(time.time()*1000)
         self.cur.execute("INSERT INTO sensor(dateTime,sensor,data,description) VALUES(%s,%s,%s,%s)", (ts,sensor(message),message,description(message)))
         if commit:
             self.con.commit()
Пример #4
0
import MySQLdb as mdb

from util import formatData, description, sensor

# the main procedure

con = None

try:

    con = mdb.connect("localhost", "davis", "davis", "davis")
    cur = con.cursor()

    cur.execute("SELECT id, data FROM logger WHERE id>=18020 AND id<=64164")
    for row in cur:
        identifier = row[0]
        data = row[1]
        print "UPDATE logger set sensor='" + sensor(data) + "', data='" + formatData(
            data
        ) + "', description='" + description(data) + "' WHERE id=" + str(identifier) + ";"
    # cur.execute("INSERT INTO logger(sensor,data,description) VALUES(%s,%s,%s)", (sensor(line),formatData(line),description(line)))
    # con.commit()

except Exception:
    print "Error!"

finally:
    if con:
        con.close()