def main(): calibration = SensorCalibration(offline_offset=0.1, gradient=238.0564729962321, offset=-76.87816904684377) sensor = SoilMoistureSensor(channel=0, device=1, calibration=calibration) pump = Pump(gpio=23) prometheus = PrometheusClient() prometheus.start_server() while True: humidity = min(max(sensor.read(), 0), 100) prometheus.update_humidity(humidity) if humidity <= HUMIDITY_TO_START_PUMP: pump.start() prometheus.update_pump_state(True) elif humidity >= HUMIDITY_TO_STOP_PUMP: pump.stop() prometheus.update_pump_state(False)
def run(self): #lcd = LCD() print('Starting client thread') print(self.buf) pumpslist = self.buf.split('XX') #lcd.lcd_string("Service en cours", 0x80) #lcd.lcd_string(" -- Sheitan -- ", 0xC0) del pumpslist[0] for x in pumpslist: pumpname = x.split('-')[0] value = int(x.split('-')[1]) if (pumpname == "pump1"): pump = Pump("Pump1", self.pins[0], self.basesleeptime[0], value) pump.start() elif (pumpname == "pump2"): print(self.buf, "yoyo") pump = Pump("Pump2", self.pins[1], self.basesleeptime[1], value) pump.start() elif (pumpname == "pump3"): pump = Pump("Pump3", self.pins[2], self.basesleeptime[2], value) pump.start() elif (pumpname == "pump4"): pump = Pump("Pump4", self.pins[3], self.basesleeptime[3], value) pump.start() elif (pumpname == "pump5"): pump = Pump("Pump5", self.pins[4], self.basesleeptime[4], value) pump.start() elif (pumpname == "pump6"): pump = Pump("Pump6", self.pins[5], self.basesleeptime[5], value) pump.start() elif (pumpname == "pump7"): pump = Pump("Pump7", self.pins[6], self.basesleeptime[6], value) pump.start() else: print('unable to fin the pump') pump.join() print('exiting Thread client') return
int(udmabuf5.buf_size/(np.dtype(test_dtype).itemsize))) udmabuf4_array = udmabuf4.memmap(dtype=test_dtype, shape=(test_size)) udmabuf5_array = udmabuf5.memmap(dtype=test_dtype, shape=(test_size)) udmabuf4_array[:] = np.random.randint(0,255,(test_size)) udmabuf5_array[:] = np.random.randint(0,255,(test_size)) total_time = 0 total_size = 0 count = 0 for i in range (0,9): start = time.time() pump.setup(udmabuf4.phys_addr, udmabuf5.phys_addr, test_size) uio0.irq_on() pump.start() uio0.wait_irq() pump.clear_status elapsed_time = time.time() - start total_time = total_time + elapsed_time total_size = total_size + test_size count = count + 1 print ("elapsed_time:{0}".format(round(elapsed_time*1000.0,3)) + "[msec]") print ("average_time:{0}".format(round((total_time/count)*1000.0,3)) + "[msec]") print ("thougput :{0}".format(round(((total_size/total_time)/(1000*1000)),3)) + "[MByte/sec]") if np.array_equal(udmabuf4_array, udmabuf5_array): print("udmabuf4 == udmabuf5 : OK") else: print("udmabuf4 == udmabuf5 : NG")
from pump import Pump from game import Game PUMP_PORT = "COM3" if __name__ == "__main__": pump = Pump(PUMP_PORT) with pump: try: pump.start() game = Game(pump) game.start() except Exception as e: print e