예제 #1
0
 def try_bricklet(self, uid, device_identifier, position):
     if device_identifier == 210:
         self.inputs["joystick"] = BrickletJoystick(uid,
                                                    self.controller.ipcon)
         self.inputs["joystick"].set_debounce_period(400)
         self.inputs["joystick"].register_callback(
             self.inputs["joystick"].CALLBACK_POSITION_REACHED,
             self.joystick_position)
         self.inputs["joystick"].register_callback(
             self.inputs["joystick"].CALLBACK_PRESSED, self.joystick_pushed)
         self.inputs["joystick"].set_position_callback_threshold(
             "o", -99, 99, -99, 99)
     if device_identifier == 234:
         self.inputs["multitouch"] = BrickletMultiTouch(
             uid, self.controller.ipcon)
         self.inputs["multitouch"].set_electrode_sensitivity(125)
         self.inputs["multitouch"].register_callback(
             self.inputs["multitouch"].CALLBACK_TOUCH_STATE,
             self.multitouch)
예제 #2
0
                # Toggle Windows
                #"Toggle Windows"
                requests.get(VELUX + 'toggle/1/', timeout=2).content
                requests.get(VELUX + 'toggle/3/', timeout=2).content
            if state & (1 << 5):
                # Toggle Blinds
                #"Toggle Blinds"
                requests.get(VELUX + 'toggle/2/', timeout=2).content
                requests.get(VELUX + 'toggle/4/', timeout=2).content
        except:
            pass


if __name__ == "__main__":
    ipcon = IPConnection()
    mt = BrickletMultiTouch(UID, ipcon)

    ipcon.connect(HOST, PORT)
    time.sleep(1)

    mt.recalibrate()
    mt.register_callback(mt.CALLBACK_TOUCH_STATE, cb_touch_state)

    #previos_state = ""
    #while True:
    #    state = mt.get_touch_state()
    #    if state != previous_state:
    #        cb_touch_state(state)
    #    previous_state = state
    #    time.sleep(0.5)
#!/usr/bin/env python
# -*- coding: utf-8 -*-

HOST = "localhost"
PORT = 4223
UID = "XYZ" # Change XYZ to the UID of your Multi Touch Bricklet

from tinkerforge.ip_connection import IPConnection
from tinkerforge.bricklet_multi_touch import BrickletMultiTouch

if __name__ == "__main__":
    ipcon = IPConnection() # Create IP connection
    mt = BrickletMultiTouch(UID, ipcon) # Create device object

    ipcon.connect(HOST, PORT) # Connect to brickd
    # Don't use device before ipcon is connected

    # Get current touch state
    state = mt.get_touch_state()
    s = ""

    if state & (1 << 12):
        s += "In proximity, "

    if (state & 0xfff) == 0:
        s += "No electrodes touched"
    else:
        s += "Electrodes "
        for i in range(12):
            if state & (1 << i):
                s += str(i) + " "
예제 #4
0
def cb_touch_state(state):
    s = ""

    if state & (1 << 12):
        s += "In proximity, "

    if (state & 0xfff) == 0:
        s += "No electrodes touched"
    else:
        s += "Electrodes "
        for i in range(12):
            if state & (1 << i):
                s += str(i) + " "
        s += "touched"

    print(s)


if __name__ == "__main__":
    ipcon = IPConnection()  # Create IP connection
    mt = BrickletMultiTouch(UID, ipcon)  # Create device object

    ipcon.connect(HOST, PORT)  # Connect to brickd
    # Don't use device before ipcon is connected

    # Register touch state callback to function cb_touch_state
    mt.register_callback(mt.CALLBACK_TOUCH_STATE, cb_touch_state)

    raw_input("Press key to exit\n")  # Use input() in Python 3
    ipcon.disconnect()
예제 #5
0
    s = ""

    if state & (1 << 12):
        s += "In proximity, "

    if (state & 0xfff) == 0:
        s += "No electrodes touched"
    else:
        s += "Electrodes "
        for i in range(12):
            if state & (1 << i):
                s += str(i) + " "
        s += "touched"

    print(s)


ipcon = IPConnection()  # Verbindung mit dem Master herstellen
mt = BrickletMultiTouch(UID, ipcon)  # Verbindung zum Touchpad anlegen

ipcon.connect(HOST, PORT)  # Verbinden

mt.recalibrate(
)  # Rekalibrieren, sonst wird das Touchpad nicht sauber ausgewertet

# Callback funktion anmelden
mt.register_callback(mt.CALLBACK_TOUCH_STATE, cb_touch_state)

input("Drücke ENTER zum beenden\n"
      )  # Auf irgendetwas warten, sonst habt Ihr keine Zeit etwas zu tun
ipcon.disconnect()  # Die Verbindung wieder abbauen
# Callback function for touch state callback
def cb_touch_state(state):
    s = ""

    if state & (1 << 12):
        s += "In proximity, "

    if (state & 0xfff) == 0:
        s += "No electrodes touched"
    else:
        s += "Electrodes "
        for i in range(12):
            if state & (1 << i):
                s += str(i) + " "
        s += "touched"

    print(s)

if __name__ == "__main__":
    ipcon = IPConnection() # Create IP connection
    mt = BrickletMultiTouch(UID, ipcon) # Create device object

    ipcon.connect(HOST, PORT) # Connect to brickd
    # Don't use device before ipcon is connected

    # Register touch state callback to function cb_touch_state
    mt.register_callback(mt.CALLBACK_TOUCH_STATE, cb_touch_state)

    raw_input("Press key to exit\n") # Use input() in Python 3
    ipcon.disconnect()