def __init__(self, config):
     self.config = config
     self.power = False
     self._lamps = [Lamp(pins.PIN_LAMP_LEFT), Lamp(pins.PIN_LAMP_RIGHT)]
     self.keyboard_status = 'unknown'
     self.moving_steps = 0
     self.pir_seen_at = 0
     self.porch_pir_seen_at = 0
     self.music_process = None
     self.speech_process = None
     self.user_status = 'unknown'
     self.temperature = None
     self.camera = picamera.PiCamera()
     GPIO.setwarnings(False)
     GPIO.setmode(GPIO.BCM)
     GPIO.setup(pins.PIN_PIR, GPIO.IN)
     GPIO.setup(pins.PIN_PORCH_PIR, GPIO.IN)
     GPIO.setup(pins.PIN_RETRACTED, GPIO.IN)
     GPIO.setup(pins.PIN_TEMPERATURE, GPIO.IN)
     GPIO.setup(pins.PIN_EXTENDED, GPIO.IN)
     GPIO.setup(pins.PIN_PSU, GPIO.OUT, initial=GPIO.LOW)
     GPIO.setup(pins.PIN_SPEAKER, GPIO.OUT, initial=GPIO.LOW)
     GPIO.setup(pins.PIN_RETRACT, GPIO.OUT, initial=GPIO.LOW)
     GPIO.setup(pins.PIN_EXTEND, GPIO.OUT, initial=GPIO.LOW)
     GPIO.setup(pins.PIN_PORCH_LAMP, GPIO.OUT, initial=GPIO.LOW)
     GPIO.setup(pins.PIN_LAMP_LEFT, GPIO.OUT, initial=GPIO.LOW)
     GPIO.setup(pins.PIN_LAMP_RIGHT, GPIO.OUT, initial=GPIO.LOW)
Beispiel #2
0
 def __init__(self):
     self.active_event = None
     self.lamp_timeout = 10
     self.double_timeout = 0.3
     self.inactive_events = {
         Spotify.NAME: Spotify(),
         Kodi.NAME: Kodi(),
         WatchTv.NAME: WatchTv(),
         WatchPlay.NAME: WatchPlay()
     }
     self.input_keys = {
         "up": Kodi,
         "down": WatchTv,
         "left": Spotify,
         "right": WatchPlay
     }
     self.lamp_keys = {
         "up": "ceiling",
         "left": "bed",
         "right": "sofa",
         "down": "all"
     }
     self.lamp_group = LampGroup({
         "sofa": Lamp(100, 1),
         "ceiling": Lamp(100, 2),
         "bed": Lamp(100, 3),
     })
     self.remotes = [Remote()]
     self.active_modkey = None
Beispiel #3
0
def run():
    #OBJETO LAMPARA
    lamp = Lamp(is_turned_on=False)
    ventilador_con_lampara = VentiladorConLampara(vent_status=True,
                                                  lamp_status=True)

    while True:
        command = str(
            input('''
            ¿Qué deseas hacer?

            [p]render
            [a]pagar
            [s]alir
        '''))

        if command == 'p':
            lamp.turn_on()
            ventilador_con_lampara.encender_ventilador(True)
            ventilador_con_lampara.turn_on()
        elif command == 'a':
            lamp.turn_off()
            ventilador_con_lampara.encender_ventilador(False)
            ventilador_con_lampara.turn_off()
        else:
            break
Beispiel #4
0
def load_rooms_data_from_json(file, vis):
    with open('data/default.json', 'r') as f:
        data_dict = json.load(f)

    rooms = {}

    for r in data_dict['plan']:
        rm = data_dict['plan'][r]
        room = Room(r, rm['width'], rm['height'], vis)
        for elm in rm['elements']:

            if elm['type'] == 'lamp':
                lamp = Lamp(elm['id'], elm['position']['x'],
                            elm['position']['y'], 'on', vis, r)
                room.addElement(lamp)

            elif elm['type'] == 'window':
                window = Window(elm['id'], elm['position']['x'],
                                elm['position']['y'], 'close', vis, r)
                room.addElement(window)

            elif elm['type'] == 'motion_sensor':
                motion_sensor = MotionSensor(elm['id'], elm['position']['x'],
                                             elm['position']['y'], 'off', vis,
                                             r)
                room.addElement(motion_sensor)

        rooms[room.getName()] = room

    return rooms
Beispiel #5
0
    def __render_object_layer(self, surface, layer):

        # dereference heavily used references for speed
        # draw_rect = pygame.draw.rect
        draw_lines = pygame.draw.lines
        surface_blit = surface.blit

        # rect_color = (255, 0, 0)
        poly_color = (0, 255, 0)

        for obj in layer:
            if hasattr(obj, 'points'):
                draw_lines(surface, poly_color, obj.closed, obj.points, 3)

            elif obj.image:
                surface_blit(obj.image, (obj.x, obj.y))

            elif obj.name == 'platform':
                # draw_rect(surface, rect_color, (obj.x, obj.y, obj.width, obj.height), 3)
                self.__platform_rects.append(
                    pygame.Rect(obj.x, obj.y, obj.width, obj.height))

            elif obj.name == 'lamp':
                lamp = Lamp(pygame.Rect(obj.x, obj.y, obj.width, obj.height),
                            obj.order)
                self.__lamps.append(lamp)
Beispiel #6
0
    def setSnows(self):
        maxminsnows = 50
        sc = [
            random.randint(0, 14) + maxminsnows,
            random.randint(0, 14) + maxminsnows,
            random.randint(0, 14) + maxminsnows
        ]

        for i in range(len(sc)):
            snows = []
            items = []
            for j in range(sc[i]):
                imgfn = ":/images/snow" + str(i + 1) + ".png"
                x = random.randint(8, self.width() - 8)
                y = random.randint(10, self.height())
                a = 1
                hl = self.height() - self.snowalphach_len
                if y > hl:
                    a = 1 - (y - hl) / self.snowalphach_len
                lamp = Lamp(self.scn, imgfn, x, y, a)
                if not self.snowing:
                    lamp.item.hide()
                snows.append(lamp)
                items.append(lamp.item)
            group = self.scn.createItemGroup(items)
            if i < 2:
                group.setZValue(4)
            else:
                group.setZValue(0)

            self.snows.append(snows)
            self.snowgroups.append(items)
    def illum_map_elevation(elevation):
        """ Illumination map for specific elevation. """
        lamp = Lamp(light, Point3D(0.0, 0.0, LAMP_HEIGHT), LAMP_AZIMUT_DEG,
                    elevation)

        plot_illuminance_map(lamp.illuminance,
                             x_distances,
                             y_distances,
                             color_levels=np.linspace(0, 500, 25),
                             title=f"Illumination [lux] (elev={elevation})")
Beispiel #8
0
def run():
    lamp = Lamp(is_turned_on=False)
    while True:
        command = input(
            "Digite 1 para prender, 2 para apagar y 3 para salir: ")

        if command == "1":
            lamp.turn_on()
        elif command == "2":
            lamp.turn_off()
        else:
            break
Beispiel #9
0
    def _create_permanent_segments(self, el_pix):
        perms = []

        # PROG
        el = Lamp(self, el_pix, 66, 0, 64, 19, True)
        el.move(393, 37)
        perms.append(el)

        # VERB
        el = Lamp(self, el_pix, 66, 41, 64, 20, True)
        el.move(286, 106)
        perms.append(el)

        # NOUN
        el = Lamp(self, el_pix, 66, 20, 64, 20, True)
        el.move(393, 106)
        perms.append(el)

        for i in range(3):
            el = Lamp(self, el_pix, 0, 63, 142, 5, True)
            el.move(305, 170 + i * 55)
            perms.append(el)
Beispiel #10
0
def run():
    lamp = Lamp(isTurnOn=False)
    
    while True:
        command = int(input("What is your action?\t\n1. Turn On\t\n2. Turn off\t\n3. Exit\n"))
        if command == 1:
            lamp.turnOn()
        elif command == 2:
            lamp.turnOff()
        elif command == 3:
            break
        else:
            print("The command is not found")
Beispiel #11
0
def init_controller():
    lamp = Lamp(pin=25)
    while True:
        try:
            joy = xbox.Joystick()
            lamp.on()
            return joy
        except Exception as e:
            print(e)
            lamp.on()
            time.sleep(0.5)
            lamp.off()
            time.sleep(0.5)
Beispiel #12
0
def run():
    lamp = Lamp(is_turned_on=False)
    while True:
        command = str(input('''
            ¿Qué deseas hacer?

            [p]render
            [a]pagar
            [s]alir
            '''))
        if command == 'p':
            lamp.turn_on()
        elif command == 'a':
            lamp.turn_off()
        else:
            break
Beispiel #13
0
def run():
    #lamp1 = lamp.Lamp(is_turned_on=False)
    lamp1 = Lamp(is_turned_on=False)
    while True:
        command = input('''
            What so you want to do?
            [1] Turn ON
            [0] Turn OFF
            [3] Exit
        ''')
        if command == '1':
            lamp1.turn_on()
            lamp1._display_image()
        elif command == '0':
            lamp1.turn_off()
        else:
            break
Beispiel #14
0
def run():
    lamp = Lamp(is_turned_on=False)

    while True:
        command = input(""" 
        ¿Que deseas hacer?

        [p]render
        [a]pagar
        [s]salir
         """)

        if command == 'p':
            lamp.turn_on()
        elif command == 'a':
            lamp.turn_off()
        else:
            break
Beispiel #15
0
def run():
    # intanciar la clase
    lamp = Lamp(is_turned_on=False)
    while True:
        command = input('''
        ¿Qué deseas hacer?

        [p]render
        [a]pagar
        [s]alir

        ''')
        if command == 'p':
            lamp.turn_on()
        elif command == 'a':
            lamp.turn_off()
        else:
            sys.exit()
Beispiel #16
0
def run():
    lamp = Lamp(is_turned_on=False)

    while True:
        command = str(
            input('''
			What do you want to do?
			[o]On
			[f]Off
			[e]Exit
			'''))

        if command == 'o':
            lamp.turn_on()
        elif command == 'f':
            lamp.turn_off()
        else:
            quit()
Beispiel #17
0
def run():
    lamp = Lamp(is_turned_on=True)  #inicializar una clase

    while True:
        command = str(
            input('''
        ¿Que deseas hacer?

        [p]render
        [a]pagar
        [s]alir
        '''))

        if command == 'p':
            lamp.turn_on()
        elif command == 'a':
            lamp.turn_off()
        else:
            break
Beispiel #18
0
def main():
    lamp = Lamp()

    while 1:
        # Open the buffer and wait for somebody to send data
        fd = open(fifoPath)

        #(rlist, wlist, xlist) = select.select([fd], [], [])
        #print rlist

        for cmd in fd.readlines():
            # Process the command (strip off excess whitespace)
            cmd = cmd.strip()
            if (cmd == "turn-on"):
                lamp.set_on(True)
            elif (cmd == "turn-off"):
                lamp.set_on(False)
            elif (cmd == "toggle"):
                lamp.set_on(not lamp.state)
def run():
    lamp = Lamp(_is_turn_on=False)

    while True:
        command = str(
            input('''
    choose an option
        1. turn on
        2. to turn off
        3. exit

        '''))

        if command == '1':
            lamp.turn_on()
        elif command == '2':
            lamp.turn_off()
        else:
            break
Beispiel #20
0
def run():
    lamp = Lamp(is_turned_on=False)
    #lamp = Lamp(True)  No se utiliza por convención, ya que no indica a que variable se está asignando.

    while True:
        command = str(input('''
            ¿Qué deseas hacer?

            [p]render
            [a]pagar
            [s]alir
        '''))

        if command == 'p':
            lamp.turn_on()
        elif command == 'a':
            lamp.turn_off()
        else:
            break
def run():
    lamp = Lamp(is_turned_on=False)

    while (True):
        command = str(
            raw_input('''
        Input one of the following commands:
            turn o[n]
            turn of[f]
            [e]xit
        '''))

        if command == 'n':
            lamp.turn_on()
        elif command == 'f':
            lamp.turn_off()
        elif command == 'e':
            return
        else:
            print('Can\'t understand your input')
Beispiel #22
0
def run():
    lamp = Lamp(is_turned_on=False)
    while True:
        menu = str(
            input("""
        😁Bienvenido que deseas hacer?😎

            1.- Encender la lampara
            2.- Apagar la lampara
            3.- Salir

            Escribe tu opcion aqui: """))
        if menu == '1':
            lamp.turn_on()
        elif menu == '2':
            lamp.turn_off()
        elif menu == '3':
            print("Haz salido del sistema")
            return False
        else:
            print("Eligue una opcion correcta!")
Beispiel #23
0
 def __init__(self, width, height):
     self.width = width
     self.height = height
     self.win = pygame.display.set_mode([self.width, self.height],
                                        flags=pygame.RESIZABLE)
     self.bg = pygame.image.load(os.path.join("game_assets", "bg.png"))
     self.pos = []
     self.lamps = []
     self.stock = Lamp(25, self.height - 25, 1)
     self.press = False
     self.connected = []
     pygame.font.init()
     self.myfont = pygame.font.SysFont('Comic Sans MS', 30)
     self.draw_line = False
     self.mouse_pos = []
     self.charge_lamp = ""
     self.index_charge = 0
     self.lock = False
     self.charge = []
     self.positions = []
     self.connected_lamps = []
Beispiel #24
0
    def __init__(self, width, height):
        self.width = width
        self.height = height
        self.win = pygame.display.set_mode([self.width, self.height],
                                           flags=pygame.RESIZABLE)
        self.bg = pygame.image.load(os.path.join("game_assets", "bg.png"))
        self.pos = LEVEL1["pos"]
        self.lamps = []
        self.connected = LEVEL1["connected"]
        i = 0
        for dot in self.pos:
            self.lamps.append(Lamp(dot[0], dot[1], LEVEL1["charge"][i]))
            i += 1
        count = 0
        for lampa in self.lamps:
            for i in range(len(self.connected[count])):
                lampa.connected.append(self.lamps[self.connected[count][i]])
            count += 1

        pygame.font.init()
        self.myfont = pygame.font.SysFont('Comic Sans MS', 30)
Beispiel #25
0
def menu():
    lamp = Lamp(is_turned_on=False)

    while True:
        command = str(
            input('''
                ¿Qué deseas hacer?
                [p]render
                [a]pagar
                [s]alir
            '''))

        if command == 'p':
            lamp.turn_on()
        elif command == 'a':
            lamp.turn_off()
        elif command == 's':
            print('Adios :b')
            break
        else:
            print('Opcion nula')
Beispiel #26
0
def main():
    lamp = Lamp(is_turned_on=False)

    while True:
        command = str(
            input('''
            What do dou wanna do?
            
            [ON]  Turn on
            [OFF] Turn off
            [E]  Exit
            
            Enter your selection: ''')).upper()

        if command == 'ON':
            lamp.turn_on()
        elif command == 'OFF':
            lamp.turn_off()
        elif command == 'E':
            break
        else:
            print('\n    INVALID OPTION!    \n')
Beispiel #27
0
def run():
    lamp = Lamp(is_turned_on=True)

    while True:
        command = str(
            input('''
            ¿Qué deseas hacer?

            [p]render
            [a]pagar
            [s]alir
        '''))

        if command == 'p':
            lamp.turn_on()
        elif command == 'a':
            lamp.turn_off()
        elif command == 's':
            break
        else:
            print('\nIngresa un comando válido!')
            time.sleep(1)
            os.system('cls')
Beispiel #28
0
import os

from lamp import Lamp

if __name__ == '__main__':
    lamp = Lamp(False)

    while True:
        opt = int(
            input('''
            Choose an option:
            0. Turn off
            1. Turn on
            2. Exit
        '''))

        if opt == 0:
            lamp.turn_off()
        elif opt == 1:
            lamp.turn_on()
        elif opt == 2:
            break
        else:
            os.system('clear')
            print('Invalid option')
Beispiel #29
0
    screen = pygame.display.set_mode((1200, 800))
    pygame.display.set_caption("Pixar ball!")
    ballcollect.add(ball)
    while True:
        print(len(ballcollect))
        key_check(event, screen, ball, lamp)
        update_screen(screen, ball, lamp)


ballcollect = pygame.sprite.Group()

#Assign sprite a value
ball = Ball()

#Assign sprite a value
lamp = Lamp()


def keydown_check(event, screen, ball, lamp):
    """Respond to key presses"""
    if event.key == pygame.K_RIGHT:
        lamp.moving_right = True
    elif event.key == pygame.K_LEFT:
        lamp.moving_left = True
    elif event.key == pygame.K_q:
        sys.exit


def keyup_check(event, screen, ball, lamp):
    """Respond to key releases"""
    if event.key == pygame.K_RIGHT:
Beispiel #30
0
    def _setup_ui(self):
        self.setObjectName('#DSKY')
        self.setWindowFlags(Qt.Window)
        self.setFixedSize(500, 580)
        self.setStyleSheet(
            'DSKY{background-image: url(:/resources/dsky.png);}')
        self.setWindowTitle('mDSKY')

        el_pix = QPixmap(':/resources/el.png')
        lamp_pix = QPixmap(':/resources/lamps.png')

        self._com_act = Lamp(self, el_pix, 0, 1, 65, 61, False)
        self._com_act.move(285, 36)
        self._perms = self._create_permanent_segments(el_pix)
        self._prog = self._create_mode(el_pix, 394, 60)
        self._verb = self._create_mode(el_pix, 287, 129)
        self._noun = self._create_mode(el_pix, 394, 129)
        self._sign1, self._reg1 = self._create_reg(el_pix, 287, 184)
        self._sign2, self._reg2 = self._create_reg(el_pix, 287, 239)
        self._sign3, self._reg3 = self._create_reg(el_pix, 287, 294)

        self._but_verb = self._create_button(8, 404, 0b10001)  # VERB
        self._but_noun = self._create_button(8, 474, 0b11111)  # NOUN
        self._but_plus = self._create_button(78, 369, 0b11010)  # +
        self._but_minus = self._create_button(78, 439, 0b11011)  # -
        self._but_0 = self._create_button(78, 509, 0b10000)  # 0
        self._but_7 = self._create_button(148, 369, 0b00111)  # 7
        self._but_4 = self._create_button(148, 439, 0b00100)  # 4
        self._but_1 = self._create_button(148, 509, 0b00001)  # 1
        self._but_8 = self._create_button(218, 369, 0b01000)  # 8
        self._but_5 = self._create_button(218, 439, 0b00101)  # 5
        self._but_2 = self._create_button(218, 509, 0b00010)  # 2
        self._but_9 = self._create_button(288, 369, 0b01001)  # 9
        self._but_6 = self._create_button(288, 439, 0b00110)  # 6
        self._but_3 = self._create_button(288, 509, 0b00011)  # 3
        self._but_clr = self._create_button(359, 369, 0b11110)  # CLR
        self._but_pro = self._create_button(359, 439, 0b100000)  # PRO
        self._but_key_rel = self._create_button(359, 509, 0b11001)  # KEY REL
        self._but_enter = self._create_button(429, 404, 0b11100)  # ENTER
        self._but_reset = self._create_button(429, 474, 0b10010)  # RESET

        self._upl_act = Lamp(self, lamp_pix, 0, 0, 78, 37, False)
        self._upl_act.move(45, 34)
        self._no_att = Lamp(self, lamp_pix, 0, 38, 78, 37, False)
        self._no_att.move(45, 77)
        self._stby = Lamp(self, lamp_pix, 0, 76, 78, 37, False)
        self._stby.move(45, 120)
        self._key_rel = Lamp(self, lamp_pix, 0, 114, 78, 37, False)
        self._key_rel.move(45, 163)
        self._opr_err = Lamp(self, lamp_pix, 0, 152, 78, 37, False)
        self._opr_err.move(45, 206)
        self._prio_disp = Lamp(self, lamp_pix, 0, 190, 78, 37, False)
        self._prio_disp.move(45, 249)
        self._no_dap = Lamp(self, lamp_pix, 0, 228, 78, 37, False)
        self._no_dap.move(45, 292)

        self._temp = Lamp(self, lamp_pix, 79, 0, 78, 37, False)
        self._temp.move(134, 34)
        self._gimbal_lock = Lamp(self, lamp_pix, 79, 38, 78, 37, False)
        self._gimbal_lock.move(134, 77)
        self._prog_alarm = Lamp(self, lamp_pix, 79, 76, 78, 37, False)
        self._prog_alarm.move(134, 120)
        self._restart = Lamp(self, lamp_pix, 79, 114, 78, 37, False)
        self._restart.move(134, 163)
        self._tracker = Lamp(self, lamp_pix, 79, 152, 78, 37, False)
        self._tracker.move(134, 206)
        self._alt = Lamp(self, lamp_pix, 79, 190, 78, 37, False)
        self._alt.move(134, 249)
        self._vel = Lamp(self, lamp_pix, 79, 228, 78, 37, False)
        self._vel.move(134, 292)

        self._il_lamps = [
            self._upl_act, self._no_att, self._stby, self._key_rel,
            self._opr_err, self._prio_disp, self._no_dap, self._temp,
            self._gimbal_lock, self._prog_alarm, self._restart, self._tracker,
            self._alt, self._vel
        ]

        self.show()