Example #1
0
    def __init__(self):
        """
        Initialisation du 'RunningLcdOutput' : bibliothèque LCD/I2C, timer et données
        """
        # On initialise le LCD, selon le montage télépi
        # LCD 16X02,20X04 & PCF8574T I2C @=0x27 (5V)
        self.lcd = lcd_lib.lcd()

        # On efface l'écran
        self.lcd.lcd_clear()

        # Préparation du timer et de la condition d'arrêt
        self.t = threading.Timer(self.TIMER_PERIOD_SECS, self.run)
        self.end = False
        self.t.start()

        # Les éléments à afficher, par page, dans chaque page, par ligne
        # xxxxxxxxxx = '12345678901234567890'
        self.pages = [[
            '** Initialisation **', '...', '12345678901234567890', '...'
        ], ['** Patientez, svp **', '...', '12345678901234567890', '...']]

        # Affiche la page 0 au démarrage
        self.page_index = 0

        # On veut déboguer les entrées/sorties de contexte d'exécution
        self.ct = Debug.EnterExitLogger('RunningLcdOutput')
    def __init__(self, pool=None):
        """
        Initialisation du 'SafeRequestExecutor' : connection et verrou
        """
        print(this_file + ':', 'DATABASE_NAME=' + self.DATABASE_NAME)

        # Connexion à la BDD
        self.connection = db.connect(host='localhost',
                                     user=self.USER_NAME,
                                     password=self.USER_PASSWORD,
                                     database=self.DATABASE_NAME)
        self.engine = self.connection.cursor()

        # Verrou
        self.mutex = threading.RLock()

        # Pool de requêtes prédéfinies fourni ou par défaut?
        if pool is not None:
            self.pool = pool
        else:
            self.pool = DatabaseEngine.SqlPool(self)

        self.pool.notifyDatabaseConnected(this_file)

        # On veut déboguer les entrées/sorties de contexte d'exécution
        self.ct = Debug.EnterExitLogger()
    def __init__(self):
        """
        Initialisation du 'GpioLedController' : ressources GPIO
        """
        # Choix du câblage selon la numérotation des GPIOs du SOC 'BCM'
        GPIO.setmode(GPIO.BCM)

        # Paramétrage des sorties et effacement
        for led in self.status_leds:
            GPIO.setup(led, GPIO.OUT)
            GPIO.output(led, GPIO.LOW)
        for led in self.bargraph_leds:
            GPIO.setup(led, GPIO.OUT)
            GPIO.output(led, GPIO.LOW)

        # On veut déboguer les entrées/sorties de contexte d'exécution
        self.ct = Debug.EnterExitLogger('GpioLedController')
    def __init__(self, ex):
        """
        Initialisation du 'TemperatureHumidityProvider' : données, communication avec le capteur, timer
        """
        # Handle pour exécuter les requêtes à la BDD
        self.ex = ex

        # Dernières mesures
        self.__humidity = 0.0
        self.__temperature = 0.0
        self.__pressure = 0.0

        # Préparation de l'accès au capteur Bosch SST BME280 par I2C
        # Selon montage télépi : BME280 I2C @=77 (3.3V)
        self.i2c = busio.I2C(board.SCL, board.SDA)
        self.BME280_I2C = adafruit_bme280.Adafruit_BME280_I2C(self.i2c)

        # Timer de déclenchement des mesures et condition d'arrêt
        self.t = threading.Timer(self.TIMER_PERIOD_SECS, self.run)
        self.end = False
        self.t.start()

        # On veut déboguer les entrées/sorties de contexte d'exécution
        self.ct = Debug.EnterExitLogger()