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
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))
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()
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()