From 8a45ca9033d36f3b4e615d9e8d915d18df18cfe3 Mon Sep 17 00:00:00 2001 From: cocothenut Date: Fri, 21 Jul 2017 20:22:37 +0200 Subject: [PATCH] Add files via upload --- modules/buzzer/__init__.py | 225 ++++++++++++++++++++++++++++--------- 1 file changed, 175 insertions(+), 50 deletions(-) diff --git a/modules/buzzer/__init__.py b/modules/buzzer/__init__.py index 5120587..0db76d5 100644 --- a/modules/buzzer/__init__.py +++ b/modules/buzzer/__init__.py @@ -1,50 +1,175 @@ -import time -from thread import start_new_thread -from modules import cbpi - -try: - import RPi.GPIO as GPIO -except Exception as e: - pass - -class Buzzer(object): - - sound = ["H", 0.1, "L", 0.1, "H", 0.1, "L", 0.1, "H", 0.1, "L"] - def __init__(self, gpio): - try: - cbpi.app.logger.info("INIT BUZZER NOW GPIO%s" % gpio) - self.gpio = int(gpio) - GPIO.setmode(GPIO.BCM) - GPIO.setup(self.gpio, GPIO.OUT) - self.state = True - cbpi.app.logger.info("BUZZER SETUP OK") - except Exception as e: - cbpi.app.logger.info("BUZZER EXCEPTION %s" % str(e)) - self.state = False - - def beep(self): - if self.state is False: - cbpi.app.logger.error("BUZZER not working") - return - - def play(sound): - try: - for i in sound: - if (isinstance(i, str)): - if i == "H": - GPIO.output(int(self.gpio), GPIO.HIGH) - else: - GPIO.output(int(self.gpio), GPIO.LOW) - else: - time.sleep(i) - except Exception as e: - pass - - start_new_thread(play, (self.sound,)) - -@cbpi.initalizer(order=1) -def init(cbpi): - gpio = cbpi.get_config_parameter("buzzer", 16) - cbpi.buzzer = Buzzer(gpio) - cbpi.beep() - cbpi.app.logger.info("INIT OK") +import time +from thread import start_new_thread +from modules import cbpi + +try: + import RPi.GPIO as GPIO +except Exception as e: + pass + +class Buzzer(object): + +# custom beep sounds + + sound = ["H", 0.1, "L"] + melodie1 = ["H", 0.1, "L", 0.1, "H", 0.1, "L", 0.1, "H", 0.1, "L", 0.1, "H", 0.1, "L", 0.1, "H", 0.1, "L"] + melodie2 = ["H", 0.1, "L", 0.1, "H", 0.1, "L", 0.1, "H", 0.1, "L"] + melodie3 = ["H", 0.4, "L", 0.1, "H", 0.4, "L", 0.1, "H", 0.4, "L"] + melodie4 = ["H", 0.4, "L", 0.1, "H", 0.1, "L", 0.1, "H", 0.4, "L", 0.1, "H", 0.1, "L", 0.1, "H", 0.4, "L"] + melodie5 = ["H", 0.6, "L", 0.3, "H", 0.6, "L", 0.3, "H", 0.6, "L"] + melodie6 = ["H", 0.2, "L", 0.4, "H", 0.2, "L", 0.3, "H", 0.2, "L", 0.2, "H", 0.2, "L", 0.1, "H", 0.2, "L", 0.1, "H", 0.2, "L"] + def __init__(self, gpio): + try: + cbpi.app.logger.info("INIT BUZZER NOW GPIO%s" % gpio) + self.gpio = int(gpio) + GPIO.setmode(GPIO.BCM) + GPIO.setup(self.gpio, GPIO.OUT) + self.state = True + cbpi.app.logger.info("BUZZER SETUP OK") + except Exception as e: + cbpi.app.logger.info("BUZZER EXCEPTION %s" % str(e)) + self.state = False + + + + + + + def beep(self): # beeps once when you boot up your Pi with CBPi -- beeps at Brewing finished + if self.state is False: + cbpi.app.logger.error("BUZZER not working") + return + + def play(sound): + try: + for i in sound: + if (isinstance(i, str)): + if i == "H": + GPIO.output(int(self.gpio), GPIO.HIGH) + else: + GPIO.output(int(self.gpio), GPIO.LOW) + else: + time.sleep(i) + except Exception as e: + pass + + start_new_thread(play, (self.melodie2,)) + + + def MashStepEndBeep(self): # beeps at end of step + if self.state is False: + cbpi.app.logger.error("BUZZER not working") + return + + def play(sound): + try: + for i in sound: + if (isinstance(i, str)): + if i == "H": + GPIO.output(int(self.gpio), GPIO.HIGH) + else: + GPIO.output(int(self.gpio), GPIO.LOW) + else: + time.sleep(i) + except Exception as e: + pass + + start_new_thread(play, (self.melodie1,)) + + + + def MashInStepEndBeep(self): # beeps at end of step + if self.state is False: + cbpi.app.logger.error("BUZZER not working") + return + + def play(sound): + try: + for i in sound: + if (isinstance(i, str)): + if i == "H": + GPIO.output(int(self.gpio), GPIO.HIGH) + else: + GPIO.output(int(self.gpio), GPIO.LOW) + else: + time.sleep(i) + except Exception as e: + pass + + start_new_thread(play, (self.melodie3,)) + + + def ChilStepEndBeep(self): # beeps at end of step + if self.state is False: + cbpi.app.logger.error("BUZZER not working") + return + + def play(sound): + try: + for i in sound: + if (isinstance(i, str)): + if i == "H": + GPIO.output(int(self.gpio), GPIO.HIGH) + else: + GPIO.output(int(self.gpio), GPIO.LOW) + else: + time.sleep(i) + except Exception as e: + pass + + start_new_thread(play, (self.melodie4,)) + + + def PumpStepEndBeep(self): # beeps at end of step + if self.state is False: + cbpi.app.logger.error("BUZZER not working") + return + + def play(sound): + try: + for i in sound: + if (isinstance(i, str)): + if i == "H": + GPIO.output(int(self.gpio), GPIO.HIGH) + else: + GPIO.output(int(self.gpio), GPIO.LOW) + else: + time.sleep(i) + except Exception as e: + pass + + start_new_thread(play, (self.melodie5,)) + + + def BoilStepEndBeep(self): # beeps at end of step + if self.state is False: + cbpi.app.logger.error("BUZZER not working") + return + + def play(sound): + try: + for i in sound: + if (isinstance(i, str)): + if i == "H": + GPIO.output(int(self.gpio), GPIO.HIGH) + else: + GPIO.output(int(self.gpio), GPIO.LOW) + else: + time.sleep(i) + except Exception as e: + pass + + start_new_thread(play, (self.melodie6,)) + + +@cbpi.initalizer(order=1) +def init(cbpi): + gpio = cbpi.get_config_parameter("buzzer", 16) + cbpi.buzzer = Buzzer(gpio) + cbpi.beep() + cbpi.MashStepEndBeep() + cbpi.MashInStepEndBeep() + cbpi.ChilStepEndBeep() + cbpi.PumpStepEndBeep() + cbpi.BoilStepEndBeep() + cbpi.app.logger.info("INIT OK")