Ejemplo n.º 1
0
 def __init__(self, master):
     # create GUI
     self.gpio = pigpio.pi()
     self.master = master
     self.master.title('JoyStick Test')
     label = tk.Label(root, text='Joystick')
     label.pack()
     self.gui = GuiRarm(master=root)
     self.gui.createCordinateLabelServo()
     self.gui.createButton(btn_name='Finish', callback=self.cleanup)
     #self.gui.createCircleJs2(200,200,220,220,'blue')
     #JoyStick instanse
     self.jsR = JoyStick(-1, 4, 27)
     self.val_horz = 0
     #self.jsL = JoyStick(7,4,22)
     self.jsL = JoyStick(2, -1, 22)
     self.val_vert = 0
     #Volume instance
     self.vol = Volume(6)
     self.val_vol = 0
     self.vol_sum = 0
     self.sampleCount = 0
     #ServMotor
     #self.servo= ServMotor(18,180,0)
     self.servo = I2cServo()
     #PWM Freq: 60Hz
     self.servo.setPWMFreq(60)
     # Led instance
     self.Led = Led(4)
     self.Led.setLedOn()
     # PowrSw
     self.PowSw = Sw(17, pud='pudup')
     self.PowSwCont = 0
Ejemplo n.º 2
0
async def main() -> None:
    async with grpc.aio.insecure_channel(target='localhost:50051') as channel:
        stub = wedge_pb2_grpc.WedgeStub(channel)

        uplink = Uplink(stub, node_id)
        button = Button(uplink)
        led = Led(uplink)

        # Example of Model, which identical to Seluxit data Model.
        model = wedge_pb2.Model(
            node=node_id,
            device=[wedge_pb2.Device(
                id=1,
                name="LED_Button2",
                version="0.1.2",
                value=[
                    button.value,
                    led.value
                ]
            )]
        )

        resp = await uplink.SetModel(model)
        logging.info("Response: {}".format(resp))

        # data = button.pin.read()
        # logging.info("Current button status: {}".format(data))
        # button.update(data)
        await asyncio.gather(led.listen(node_id))
Ejemplo n.º 3
0
def main():
	print("Press the button")
	Led().light_on()
	ZumoButton().wait_for_press()
	Led().light_off()
	print("Button pressed")

	# Sensors
	camera_sensor = Camera(img_width=200, img_height=25)
	reflectance_sensor = ReflectanceSensors()
	ultrasonic_sensor = Ultrasonic()

	# Other
	led = Led()
	led.light_off()

	# Sensobs
	camera_sensob = CameraSensob(camera_sensor)
	reflectance_sensob = ReflectanceSensob(reflectance_sensor)
	ultrasonic_sensob = Sensob(ultrasonic_sensor)

	# Motobs
	motob = Motob()

	# Controller
	bbcon = Bbcon()

	# Behaviors
	moveForward_behavior = MoveForward(None, 1, bbcon)
	avoidCollision_behavior = AvoidCollision(ultrasonic_sensob, 4, bbcon)
	followColor_behavior = FollowColor(camera_sensob, 6, bbcon)
	pauseAtLines_behavior = PauseAtLines(reflectance_sensob, 8, bbcon)
	stopCloseColor_behavior = StopCloseColor(camera_sensob, 10, bbcon)

	# Add all sensobs to controller
	bbcon.add_sensob(camera_sensob)
	bbcon.add_sensob(reflectance_sensob)
	bbcon.add_sensob(ultrasonic_sensob)

	# Add all Behaviors to controller
	bbcon.add_behavior(avoidCollision_behavior)
	bbcon.add_behavior(moveForward_behavior)
	bbcon.add_behavior(followColor_behavior)
	bbcon.add_behavior(pauseAtLines_behavior)
	bbcon.add_behavior(stopCloseColor_behavior)

	bbcon.activate_all_behaviors()
	# Add all motobs to controller
	bbcon.add_motob(motob)

	print("starting")

	try:
		while bbcon.active:
			bbcon.run_one_timestep()

	except:
		print("Failed")
		motob.stop()
		print(sys.exc_info()[0])
Ejemplo n.º 4
0
 def __init__(self):
     #Pin Num assain -> Connect assain
     GPIO.setmode(GPIO.BOARD)
     #create GUI
     root = tk.Tk()
     root.title('LED & Switch')
     label = tk.Label(root, text='Led Test')
     label.pack()
     self.gui = GUILed(master=root)
     self.gui.createCircle(50, 50, 150, 150, 'black')
     self.gui.createSlidebar(callback=self.callback_changeDuty,
                             fromval=0,
                             toval=100)
     #create  instances
     self.gui.createButton(btn_name='Led', callback=self.callback_BtnLed)
     self.gui.createButton(btn_name='Finish', callback=self.cleanup)
     self.Sw = Sw(pin_no=7)
     #self.LedPwm = LedPwm(pin_no=11)
     self.Led = Led(11)
     GPIO.add_event_detect(self.Sw.getPinNo(),
                           GPIO.BOTH,
                           callback=self.callback_detectSwLed)
     # display GUI
     root.mainloop()
     self.cleanup()
Ejemplo n.º 5
0
 def __init__(self, master):
     # create GUI
     self.master = master
     self.master.title('JoyStick Test')
     label = tk.Label(root, text='Joystick')
     label.pack()
     self.gui = GuiJs(master=root)
     self.gui.createCordinateLabelJs1()
     self.gui.createCordinateLabelJs2()
     self.gui.createCircleJs1(200, 200, 220, 220, 'red')
     self.gui.createButton(btn_name='Finish', callback=self.cleanup)
     self.gui.createCircleJs2(200, 200, 220, 220, 'blue')
     #JoyStick instanse
     self.js1 = JoyStick(0, 3, 27)
     self.val_vert1 = 0
     self.val_horz1 = 0
     self.move_vert1 = 0
     self.move_horz1 = 0
     self.js2 = JoyStick(7, 4, 22)
     self.val_vert2 = 0
     self.val_horz2 = 0
     self.move_vert2 = 0
     self.move_horz2 = 0
     #ServMotor
     #self.servo= ServMotor(18,180,0)
     #self.servo = I2cServo()
     # Led instance
     self.Led = Led(17)
Ejemplo n.º 6
0
class SnipsController(MqttController):
    def __init__(self, config, home_assistant):
        MqttController.__init__(self, config)
        self.led = Led()
        self.home_assistant = home_assistant

    def push_tts(self, topic, payload):
        print('[Forwarding {}]: {}'.format(topic, payload))
        self.client.publish(topic=topic, payload=payload, qos=1)

    def on_connect(self, client, userdata, flags, rc):
        print("Connected to snips")
        for topic in [
                'hermes/asr/toggleOn', 'hermes/hotword/toggleOn',
                'hermes/nlu/intentParsed'
        ]:
            self.client.subscribe(topic)

    def on_message(self, client, userdata, msg):
        if msg.topic == 'hermes/asr/toggleOn':
            self.led.switch_on()
            print('Switch on led')
        elif msg.topic == 'hermes/hotword/toggleOn':
            self.led.switch_off()
            print('Switch off led')
        elif msg.topic == 'hermes/nlu/intentParsed':
            self.home_assistant.push_intent(msg)
Ejemplo n.º 7
0
def clock():
    if request.method == 'POST':
        data = request.get_json()
        Led.clock = data
        Led.main_update()
        with open('../clock.json', 'w') as f:
            json.dump(data, f)
        return 'OK', 200
Ejemplo n.º 8
0
    def _init_parts(self):
        self.r_led = Led(self.red_led_pin)
        self.g_led = Led(self.green_led_pin)
        self.lock = Lock(self.relay_pin)
        self.black_btn = PushButton(self.black_btn_pin)  # add button
        self.red_btn = PushButton(self.red_btn_pin)      # delete button

        self.r_led.off()
        self.g_led.off()
Ejemplo n.º 9
0
    def run(self):
        if self.delay != 0:
            sleep(self.delay)

        if self.on == 0:
            Led(self.led_id).off()
        elif self.on == 100:
            Led(self.led_id).on()
        else:
            Led(self.led_id).blink(self.on, self.freq)
Ejemplo n.º 10
0
 def __init__(self, config, verbose=0):
     self.verbose = verbose
     # ------------------------------------------------------------------------------------------------------------ #
     self.exit = False
     self.config = config
     # ------------------------------------------------------------------------------------------------------------ #
     self.sleep_ms = self.SLEEP_MS_DEFAULT
     # ------------------------------------------------------------------------------------------------------------ #
     # Initialise required services
     # ------------------------------------------------------------------------------------------------------------ #
     if self.config['pinout']['led'] is None:
         from led import MockLed
         self.led = MockLed()
     else:
         from led import Led
         self.led = Led(self.config['pinout']['led']['pin'],
                        self.config['pinout']['led']['on_level'])
     # ------------------------------------------------------------------------------------------------------------ #
     if self.config['pinout']['button'] is None:
         from button import MockButton
         self.button = MockButton()
     else:
         from button import Button
         self.button = Button(self.config['pinout']['button']['pin'],
                              self.config['pinout']['button']['on_level'])
     # ------------------------------------------------------------------------------------------------------------ #
     if self.config['pinout']['relay'] is None:
         from relay import MockRelay
         self.relay = MockRelay()
     else:
         from relay import Relay
         self.relay = Relay(self.config['pinout']['relay']['pin'],
                            self.config['pinout']['relay']['on_level'])
     # ------------------------------------------------------------------------------------------------------------ #
     self.wifi = WiFi(self.config)  # , verbose=self.verbose)
     self.device_id = self.wifi.device_id()
     self.messaging = Messaging(self.config, self.device_id)
     # ------------------------------------------------------------------------------------------------------------ #
     # Application ready feedback --------------------------------------------------------------------------------- #
     self.led.on(poll=True)
     sleep(2)
     self.led.off(poll=True)
     # ------------------------------------------------------------------------------------------------------------ #
     if self.wifi.connected():
         self.on_wifi_connected(be_verbose=False)
     # ------------------------------------------------------------------------------------------------------------ #
     if self.verbose:
         print('<{} with id {}>'.format(self.config['device']['type'],
                                        self.device_id))
         print(self.led)
         print(self.button)
         print(self.relay)
         print(self.wifi)
         print(self.messaging)
Ejemplo n.º 11
0
def _join():
    global lopy_connected
    if not lora.has_joined():
        Log.i("Connecting Lora...")
        lopy_connected = False
        Led.blink_yellow()
        lora.join(activation=LoRa.OTAA, auth=(app_eui, app_key), timeout=0)
        while not lora.has_joined():
            time.sleep(2.5)
        lopy_connected = True
        Led.blink_green()
        Log.i("Connected")
Ejemplo n.º 12
0
    def __init__(self, ds, sett):
        print("[LIGC] Initialized")
        self.ds = ds
        self.sett = sett
        self.led1 = Led(2)
        self.led2 = Led(3)
        self.isNight = False
        self.startTime = time.time()
        self.lastValue = None
        self.override = False

        rpwm.rpwm_init()
Ejemplo n.º 13
0
 def __init__(self,master = 0):
     #create GUI  
     self.master = master
     root.title('LED & Switch')
     label = tk.Label(root,text='Led Test')
     label.pack()
     self.gui = GUILed(master=root)
     self.gui.createCircle(50,50,150,150,'black')
     #create  instances
     self.gui.createButton(btn_name='Led',callback = self.callback_BtnLed)
     self.gui.createButton(btn_name='Finish',callback = self.cleanup)
     self.Sw = Sw(4,'either',self.callback_Sw)
     self.Led = Led(17)
Ejemplo n.º 14
0
def send(message):
    sendToMonitors(message, "sent")
    Log.i("Sending : " + message)
    global messageReceived
    Led.blink_purple()
    _join()
    messageReceived = False
    attemptCounter = 0

    while (not messageReceived and attemptCounter < 3):
        socketLora.send(message.encode())
        time.sleep(20)
        attemptCounter = attemptCounter + 1

    Led.blink_green()
    Log.i("Message sent")
Ejemplo n.º 15
0
    def __init__(self, red_led_pin, green_led_pin, left_servo_pin,
                 right_servo_pin, left_motor_forward, left_motor_backward,
                 right_motor_forward, right_motor_backward):
        # Input
        self.imu = Imu()
        self.camera = Camera()

        # Output
        self.red_led = Led(red_led_pin)
        self.green_led = Led(green_led_pin)
        self.left_servo = Servo(left_servo_pin, min_angle=-90, max_angle=90)
        self.right_servo = Servo(right_servo_pin, min_angle=-90, max_angle=90)
        self.left_motor = Motor(forward=left_motor_forward,
                                backward=left_motor_backward)
        self.right_servo = Motor(forward=right_motor_forward,
                                 backward=right_motor_backward)
Ejemplo n.º 16
0
    def __init__(self, registerfile, shiftregister, reset=0, load_file=None):
        self.registerfile = registerfile
        self.shiftregister = shiftregister

        # add control units
        self._units = {}
        self.led = Led(self.registerfile)
        self._units['LEDs'] = self.led
        self.hitlogic = HitLogic(self.registerfile)
        self._units['Hit logic'] = self.hitlogic
        self.filter = Filter(self.registerfile)
        self._units['Filter'] = self.filter
        self.monitor = Monitor(self.shiftregister)
        self._units['Monitor'] = self.monitor
        self.frontend = Frontend(self.shiftregister)
        self._units['Frontend'] = self.frontend
        self.adcbias = AdcBias(self.shiftregister)
        self._units['ADC bias'] = self.adcbias
        self.digital = Digital(self.registerfile)
        self._units['Digital'] = self.digital

        if reset:
            self.reset()
            self.apply()
        if load_file:
            self.load(load_file)
            self.update()
Ejemplo n.º 17
0
def _lora_callback(trigger):
    Log.i("_lora_callback")
    global messageReceived
    events = lora.events()
    if (events & LoRa.RX_PACKET_EVENT):
        messageReceived = True
        socketLora.setblocking(True)
        Log.i("LoRa.RX_PACKET_EVENT")
        Led.blink_blue()
        data = socketLora.recv(256)
        socketLora.setblocking(True)
        _callback(data)
    #    if(events & LoRa.TX_PACKET_EVENT):
    #        Log.i("LoRa.TX_PACKET_EVENT")
    if (events & LoRa.TX_FAILED_EVENT):
        Log.i("LoRa.TX_FAILED_EVENT")
        _join()
Ejemplo n.º 18
0
def main():
    leds = list()
    a_led_effects = LedEffects(leds)
    try:
        led_11 = Led(16)
        leds.append(led_11)
        led_12 = Led(18)
        leds.append(led_12)
        led_15 = Led(22)
        leds.append(led_15)

        start(a_led_effects)
    except SystemExit:
        print('Quiting program')
    finally:
        for led in leds:
            led.clean_up()
Ejemplo n.º 19
0
    def __init__(self, strip_number:int, led_number:int):
        self.strip_number = strip_number
        self.led_nuber = led_number

        self.led = Led(led_number=led_number, strip_number=strip_number)
        self.notes = Notes()

        self.has_been_assigned = False
Ejemplo n.º 20
0
    def __init__(self,
                 red: float,
                 green: float,
                 blue: float,
                 rate: float = 0.02) -> None:
        super().__init__()

        self.target = Led(red, green, blue)
        self.rate = rate
Ejemplo n.º 21
0
    def __init__(self):
        self.iot = Startiot()
        self.iot.connect(False)
        self.py = Pysense()
        """
		self.gps = L76GNSS(py, timeout = 30)
		(self.lat, self.lng) = self.gps.coordinates()
		self.counter = 0
		"""
        self.state = STATE_IDLE

        self.rightpir = Pir("P11")
        self.centerpir = Pir("P2")
        self.leftpir = Pir("P9")
        self.led = Led("P10")
        self.i2c = I2C(1, I2C.MASTER, baudrate=100000, pins=("P4", "P8"))
        self.uv_sensor = VEML6070.VEML6070_UV(self.i2c)
        self.baseline = []
        pycom.heartbeat(False)  # disable the blue blinking
Ejemplo n.º 22
0
class Hardware(object):
    __metaclass__ = ABCMeta

    def __init__(self):
        self._init_pins()
        self._init_parts()

    @abstractmethod
    def _init_pins(self):
        raise NotImplementedError()

    def _init_parts(self):
        self.r_led = Led(self.red_led_pin)
        self.g_led = Led(self.green_led_pin)
        self.lock = Lock(self.relay_pin)
        self.black_btn = PushButton(self.black_btn_pin)  # add button
        self.red_btn = PushButton(self.red_btn_pin)      # delete button

        self.r_led.off()
        self.g_led.off()
Ejemplo n.º 23
0
def main():
    logging.info("rpi dashcam ready to record!")
    button_pin = 8
    led_pin = 10
    button = Button(button_pin)
    led = Led(led_pin)
    recording_folder = "/mnt/hdd"

    with picamera.PiCamera(resolution="1280x960", framerate=24) as camera:
        recorder = CameraRecorder(camera, button, led, recording_folder)
        recorder.run()
Ejemplo n.º 24
0
 def __init__(self,master):
     # create GUI
     self.master = master
     self.master.title('JoyStick Test')
     label = tk.Label(root,text='Joystick')
     label.pack()
     self.gui = GuiJs(master=root)
     self.gui.createCordinateLabel()
     self.gui.createCircle(200,200,220,220,'red')
     self.gui.createButton(btn_name='Finish',callback=self.cleanup)
     #JoyStick instanse
     self.js = JoyStick()
     self.val_vert = 0
     self.val_horz = 0
     self.move_vert = 0
     self.move_horz = 0
     #ServMotor
     self.sm= ServMotor(18,180,0)
     # Led instance
     self.Led = Led(17)
     self.Sw = Sw(4,'either',self.callback_Sw)
Ejemplo n.º 25
0
 def __init__(self):
     super(Car, self).__init__()
     # 使用前先清理一遍GPIO
     GPIO.cleanup()
     # 设置gpio口的模式
     GPIO.setmode(GPIO.BOARD)
     # 设置gpio口为输出
     GPIO.setup(INT1, GPIO.OUT)
     GPIO.setup(INT2, GPIO.OUT)
     GPIO.setup(INT3, GPIO.OUT)
     GPIO.setup(INT4, GPIO.OUT)
     # 当前运行状态 -1 后退 0 静止 1 前进 2 原地转圈
     self.status = 0
     # 构造距离感应器实例和警报灯实例
     self.frontDetector = DistanceDetector(FTRIG, FECHO, u"Front")
     self.frontLed = Led(FLED)
     self.backDetector = DistanceDetector(BTRIG, BECHO, u"Back")
     self.backLed = Led(BLED)
     # 开启距离检测和警报灯
     self.frontDetector.start()
     self.frontLed.light()
     self.backDetector.start()
     self.backLed.light()
     while True:
         # 每隔 0.1s 检测前后距离
         time.sleep(0.1)
         if self.frontDetector.tooclose and self.backDetector.tooclose:
             self.stop()
             self.frontLed.flashing()
             self.backLed.flashing()
         elif self.frontDetector.tooclose:
             self.stop()
             self.frontLed.flashing()
             self.backLed.light()
         elif self.backDetector.tooclose:
             self.stop()
             self.frontLed.light()
             self.backLed.flashing()
Ejemplo n.º 26
0
 def __init__(self, config_path):
     self.logger = logging.getLogger(__name__)
     with open(config_path, "r") as f:
         config = json.load(f)
         f.close()
     self.leds = dict()
     pizw = pigpio.pi()
     for led_group in config.get("leds"):
         self.leds[led_group.get("name")] = Led(led_group.get("name"), pizw,
                                                led_group.get("pins"))
     self.web_config = dict()
     self.web_config["leds"] = list(self.leds.keys())
     self.logger.info("Configuration from {} loaded with {} LED(s)".format(
         config_path, len(self.leds)))
Ejemplo n.º 27
0
    def setup(self):
        import WhereforeGUI
        self.ui = WhereforeGUI.Ui_MainWindow()
        self.ui.setupUi(self)

        self.ui.startAtSelector.addItems(
            ["beginning", "end", "offset", "timestamp"])
        self.ui.startAtSelector.setCurrentIndex(1)
        self.ui.endAtSelector.addItems(["never", "end", "offset", "timestamp"])
        self.ui.enableDefaultComboBox.addItems(["Enable new", "Disable new"])
        self.ui.startTimeEdit.hide()
        self.ui.startOffsetEdit.hide()
        self.ui.endOffsetEdit.hide()
        self.ui.endTimeEdit.hide()
        self.ui.startAtSelector.currentIndexChanged.connect(
            self.on_change_start_at)
        self.ui.endAtSelector.currentIndexChanged.connect(
            self.on_change_end_at)
        self.ui.brokerLed = Led(self)
        self.ui.consumerBarLayout.insertWidget(1, self.ui.brokerLed)
        self.ui.brokerAddressEdit.textEdited.connect(self.startTextEditedTimer)
        self.ui.enableAllButton.clicked.connect(self.onEnableAllPartitions)
        self.ui.disableAllButton.clicked.connect(self.onDisableAllPartitions)
        self.ui.topicPartitionSourceTree.setModel(self.topicPartitionModel)
        self.ui.startOffsetEdit.textEdited.connect(
            self.onRestartStartStopTimer)
        self.ui.endOffsetEdit.textEdited.connect(self.onRestartStartStopTimer)
        self.ui.startTimeEdit.editingFinished.connect(
            self.onRestartStartStopTimer)
        self.ui.endTimeEdit.editingFinished.connect(
            self.onRestartStartStopTimer)
        header_view = self.ui.topicPartitionSourceTree.header()
        header_view.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch)
        header_view.setStretchLastSection(False)
        header_view.resizeSection(1, 50)
        self.ui.topicPartitionSourceTree.setHeader(header_view)

        self.ui.topicPartitionSourceTree.selectionModel(
        ).selectionChanged.connect(self.on_tree_node_selection)

        self.ui.brokerAddressEdit.setText(
            self.config.value("kafka_address", type=str))
        if len(self.ui.brokerAddressEdit.text()) > 0:
            self.onBrokerEditTimer()

        self.ui.enableDefaultComboBox.setCurrentIndex(
            self.config.value("enable_default", type=int, defaultValue=0))
        self.show()
Ejemplo n.º 28
0
async def main():
    parser = argparse.ArgumentParser(
        description=
        "Data collector which sends sensor measurements to Azure IoT HUB")
    parser.add_argument("--nolcd",
                        action='store_true',
                        help="Skip LCD printout")
    args = parser.parse_args()
    if args.nolcd:
        print("No LCD")

    try:
        bme280 = BME280()
        led = Led()
        lcd = None
        if not args.nolcd:
            lcd = LCD()

        (chip_id, chip_version) = bme280.readID()
        print(f"Started, chip_id={chip_id}, chip_version={chip_version}")

        conn_str = os.getenv("DEV_BME_CONN_STR")
        device_client = IoTHubDeviceClient.create_from_connection_string(
            conn_str)
        await device_client.connect()

        while True:
            temperature, pressure, humidity = bme280.readAll()
            measTime = datetime.now().isoformat()
            measRow = f'{{"Temperature":{temperature:0.2f},"Pressure":{pressure:0.2f},"Humidity":{humidity:0.2f}}}'

            print(f"Sending message: {measRow}")
            await device_client.send_message(measRow)

            if not args.nolcd:
                lcdOut = f"T:{temperature:0.1f}C {pressure:0.1f}hPa\nH:{humidity:0.1f}%"
                lcd.clear()
                lcd.setCursor(0, 0)
                lcd.message(lcdOut)

            led.blinkLed()
            sleep(2 * 60)

    except KeyboardInterrupt:
        print("exiting...")
        await device_client.disconnect()
        led.close()
        if not args.nolcd:
            lcd.clear()
            lcd.setCursor(0, 0)
            lcd.destroy()
Ejemplo n.º 29
0
def main():
    # Ginger robot pin out
    # servo_direction = machine.PWM(machine.Pin(12), freq=50)
    # servo_head_x = machine.PWM(machine.Pin(14), freq=50)
    # servo_hand_y = machine.PWM(machine.Pin(13), freq=50)
    # servo_catch = machine.PWM(machine.Pin(15), freq=50)

    ginger = Ginger(motor=DCDrive(name='motor', letter='A'),
                    servo_direction=Servo(name='servo_dir', pin=12),
                    servo_head_x=Servo(name='servo_head_x', pin=14),
                    servo_hand_y=Servo(name='servo_hand_y', pin=13),
                    servo_catch=Servo(name='servo_catch', pin=15),
                    sensor_hall=Hall(pin=4),
                    led=Led(
                        name='led',
                        pin=2,
                    ))

    # print(ginger)
    # print(dir(ginger.motor))
    # print(ginger.motor.echo())
    # print(ginger.motor.echo(71))
    # print(ginger.motor.duty(71))
    # print(ginger.motor.echo('string71'))
    #
    # print(ginger.servo_catch.echo())
    # print(ginger.servo_catch.echo(72))
    # print(ginger.servo_catch.duty(72))
    # print(ginger.servo_catch.echo('string 72'))
    # print(ginger.servo_catch.duty('string 72'))  # duty should be int or float
    # print(ginger.sensor_hall.sensor)
    # print(ginger.led.light)
    print('--test--')

    # for i in range(50):
    while True:
        if ginger.sensor_hall.hall() == 0:
            ginger.led.light = 0
        else:
            ginger.led.light = 1

        print('sensor:{}, light:{}'.format(ginger.sensor_hall.sensor,
                                           ginger.led.light))
Ejemplo n.º 30
0
def build_page(layout, page):
    layout.clear_widgets()
    links.clear()  # TODO: will prevent iframe functionality to work
    for id, item in page.iteritems():
        if item['type'] == 'button':
            wgt = Button()
        elif item['type'] == 'label':
            wgt = Label()
        elif item['type'] == 'var-label':
            wgt = VariableLabel()
            wgt.set_var(item['variable'])
        elif item['type'] == 'led':
            wgt = Led()
            wgt.set_var(item['variable'])
        elif item['type'] == 'thermometer':
            wgt = Thermometer()
            wgt.set_var(item['variable'])
        elif item['type'] == 'manometer':
            wgt = Manometer()
            wgt.set_var(item['variable'])
        elif item['type'] == 'edit-grid':
            wgt = EditGrid()
            wgt.set_dimenstion(item['rows'], item['cols'])
        wgt.id = id
        if 'text' in item:
            wgt.text = item['text']
        if 'font-size' in item:
            wgt.font_size = item['font-size']
        if 'pos' in item:
            wgt.pos = eval(item['pos'])
        if 'size' in item:
            wgt.size = eval(item['size'])
        if 'pos_hint' in item:
            wgt.pos_hint = item['pos_hint']
        if 'size_hint' in item:
            wgt.size_hint = eval(item['size_hint'])
        if 'link' in item:
            links[wgt.id] = item['link']
            wgt.bind(on_press=navigate)
        if 'click' in item:
            wgt.bind(on_press=eval(item['click']))
        layout.add_widget(wgt)
Ejemplo n.º 31
0
    def __init__(self):
        # Create the strip
        self.strip = Adafruit_NeoPixel(LED_COUNT, LED_PIN, LED_FREQ_HZ,
                                       LED_DMA, LED_INVERT, LED_BRIGHTNESS,
                                       LED_CHANNEL)

        # Attach LEDs to the strip
        self.my_leds = list()

        for a_led in range(0, LED_COUNT):
            self.my_leds.append(Led(self.strip, a_led))
        self.strip.begin()

        # Turn off the strip
        for a_led in self.my_leds:
            a_led.update()
        self.strip.show()

        self.my_keys = list()
        # Create keys
        for a_key in globales.keys:
            self.my_keys.append(Key(a_key, self))
Ejemplo n.º 32
0
# save_directory = "/mnt/nfsserver/videos"
# mv_directory = "/mnt/nfsserver/videos"   # should be the same as save directory for pi_master

# #the following mount only applies if pi_master is set false (if this is slavepi)
# directory_to_mount = "192.168.0.3:/mnt/nfsserver"
# mount_location = "/mnt/nfs"
# if not pi_master:
#     nfs_mount(directory_to_mount, mount_location)
#     save_directory = "/home/nick/videos"
#     mv_directory = "/mnt/nfs/videos"
#####################################################################################

if __name__ == "__main__":
    camera = picamera.PiCamera()
    trigger = Trigger()
    green_led = Led(green_led_pin)
    red_led = Led(red_led_pin)
    file_name = save_name.File_namer(mv_directory,save_directory,  device)
    running = True
    
    while running:
        try:
            red_led.led_off()
            green_led.led_on()
            trigger.read_state()
            if trigger.input_state == False:
                print "recording..." + file_name.get_name()
                green_led.led_off()
                red_led.led_on()
                camera.start_recording(file_name.get_name())
                sleep(1)
Ejemplo n.º 33
0
class StreamingServer(socketserver.ThreadingMixIn, server.HTTPServer):
    allow_reuse_address = True
    daemon_threads = True


def switch_to_record_mode_on_reboot(channel):
    bashCommand = "sudo cp rpicam-record-proccess.conf /etc/supervisor/conf.d/rpicam-record-proccess.conf"
    process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE)
    output, error = process.communicate()
    bashCommand = "sudo reboot"
    process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE)
    output, error = process.communicate()


with picamera.PiCamera(resolution="1280x960", framerate=24) as camera:
    button_pin = 8
    led_pin = 10
    button = Button(button_pin)
    led = Led(led_pin)
    button.add_pressed_cb(switch_to_record_mode_on_reboot)

    output = StreamingOutput()
    camera.start_recording(output, format="mjpeg")
    try:
        address = ("", 8000)
        server = StreamingServer(address, StreamingHandler)
        server.serve_forever()
    finally:
        camera.stop_recording()
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import pingo
from led import Led
import time


board = pingo.detect.get_board()
red_led_pin = board.pins[12]    # GPIO18
r_led = Led(red_led_pin)

r_led.blink(times=10, on_delay=0.1, off_delay=None)
print(r_led.blinkThread.isAlive())

while(r_led.blinkThread.active):
    # if(r_led.blinkThread.isAlive()):
    print(r_led.blinkThread.active)
    time.sleep(0.5)
print(r_led.blinkThread.isAlive())
        def setup(self):
                try:
                        btResult=subprocess.call(["sudo","service","bluetooth","start"])
                        if btResult < 0:
                                print >>sys.stderr, "Child terminated by signal", -btResult
                        else:
                                print >>sys.stderr, "Child returned", btResult
                        piscan=subprocess.call(["sudo","hciconfig","hci0","piscan"])
                        if piscan < 0:
                                print >>sys.stderr, "Child terminated by signal", -piscan
                        else:
                                print >>sys.stderr, "Child returned", piscan
                except OSError as e:
                        print >>sys.stderr, "Execution failed", e

                self.server_sock=BluetoothSocket(RFCOMM)
                self.server_sock.bind(("",PORT_ANY))
                self.server_sock.listen(1)
                self.port=self.server_sock.getsockname()[1]
                self.uuid="00001101-0000-1000-8000-00805f9b34fb"
                advertise_service(self.server_sock,"decorations",service_id=self.uuid,service_classes=[self.uuid,SERIAL_PORT_CLASS],profiles=[SERIAL_PORT_PROFILE])
                led=Led(0,"leds",0)
                server=ServerConnection(self.server_sock)
                led.start()
                time.sleep(8)
		if server.accept() == True:
                        led.stop()
                        for i in range(5):
                                led.connect()
                led.starFade()
                state=1
                while True:
                        for case in switch(state):
                                if case(0):
                                        if server.accept()==True:
                                                state=1
                                                break
                                        else:
                                                state=0
                                                break
                                if case(1):
					if server.hasConnection()==False:
                                                state=0
                                                break
                                        else:
                                                data=server.listen()
                                                led.stop()
                                                led=Led(0,"leds",1,data)
                                                led.start()
                                                state=2
                                                break
                                if case(2):
                                        if server.hasConnection()==False:
                                                state=0
                                                break
                                        else:
						state=1
                                                break
Ejemplo n.º 36
0
from time import sleep

# Database
host = 'localhost'

# Power
ON = True
OFF = False

# Entry
ADDRESS = 0
USERNAME = 1

if __name__ == '__main__':
    # Components
	ld = Led(red_pin=4, green_pin=17)
	ld.setup()
    
    motor = Motor(step_pin=23, dir_pin=24, power_pin=25)
	motor.setup()

    encoder = Encoder(clk_pin=22, dir_pin=27)
    encoder.setup()

	db = Database(host, "philosoraptor", "explosion", "doorman")
	db.setup()

	rfid = Rfid()
	rfid.setup()

    # Main Loop
Ejemplo n.º 37
0
print('Init Electrical Lock with ESP32/ESP8622...')

# init rtc
rtc = machine.RTC()

# init mfrc reader
if uname()[0] == 'esp8266':
    rdr = mfrc522.MFRC522(0, 2, 4, 5, 14)
elif uname()[0] == 'esp32':
    rdr = mfrc522.MFRC522(18, 23, 19, 4, 2)
else:
    raise RuntimeError("Unsupported platform")

# init led, button etc
led = Led(LED_PIN, debug=IS_DEBUG)
btn = BtnSwitch(BTN_PIN, debug=IS_DEBUG)
delay = Led(DELAY_PIN, name='DELAY', debug=IS_DEBUG)
beeper = Led(BEEPER, name='BEEPER', debug=IS_DEBUG)

# init Key DB
key_db = KeyDB()

# init wlan
init_wlan()

lock = _thread.allocate_lock()

# create udp server thread
_thread.start_new_thread(udp_ser, (ip, port))
Ejemplo n.º 38
0
# Next two lines only required if using OpenELEC
import sys
sys.path.append('/storage/.kodi/addons/python.RPi.GPIO/lib/')

import time
import RPi.GPIO as GPIO
from led import Led

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

redled = Led(18, "RED", 5)
yellowled = Led(8, "YELLOW", 2) 
greenled = Led(20, "GREEN", 0)
whiteled = Led(17, "WHITE", 3)
flashled = Led(27, "FLASH", 0)

redled.on()
redled.off()

greenled.on()
whiteled.on()
whiteled.off()
flashled.flash()
greenled.off()

yellowled.on()
yellowled.off()
flashled.off()

redled.on()