Exemple #1
0
def test_volume_data():

    from random import choice, randint
    import string

    no_of_transmissions = randint(100, 200)
    test_data = ''
    received = Event()

    def data_received_server(data):
        assert data == test_data
        bts.send(test_data)

    def data_received_client(data):
        assert data == test_data
        received.set()

    bts = BluetoothServer(data_received_server, device = "hci0")
    btc = BluetoothClient(bta0.address, data_received_client, device = "hci1")

    for test_no in range(no_of_transmissions):
        test_data = ''.join(choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in range(randint(30,100)))
        print(test_data)
        btc.send(test_data)
        assert received.wait(1)
        received.clear()
        
    btc.disconnect()
    bts.stop()
Exemple #2
0
def test_client_connect_disconnect():

    client_connected = Event()
    client_disconnected = Event()

    def when_client_connects():
        client_connected.set()

    def when_client_disconnects():
        client_disconnected.set()

    bts = BluetoothServer(None)
    btc = BluetoothClient(bta0.address, None, device = "hci1", auto_connect = False)
    bts.when_client_connects = when_client_connects
    bts.when_client_disconnects = when_client_disconnects

    btc.connect()
    assert btc.connected
    assert bts.client_address == btc.client_address
    assert client_connected.wait(1)
    
    btc.disconnect()
    assert not btc.connected
    assert client_disconnected.wait(1)

    bts.stop()
def test_client_alt_values():
    def data_received(data):
        pass

    bts = BluetoothServer(None, port=2, encoding=None)
    btc = BluetoothClient(bta0.address,
                          data_received,
                          device="hci1",
                          auto_connect=False,
                          port=2,
                          encoding=None)

    assert btc.data_received_callback == data_received
    assert btc.device == "hci1"
    assert btc.client_address == bta1.address
    assert not btc.connected
    assert btc.port == 2
    assert btc.encoding == None

    btc.connect()
    assert btc.connected

    btc.disconnect()
    assert not btc.connected

    bts.stop()
Exemple #4
0
def get_ip():
    """
    Receives sender IP through bluetooth
    Relays its IP back to the sender using send's IP that was 
    received
    Also generates pygame GUI to inform user that we are looking
    for bluetooth.
    Blocks until one robot connects 
    """
    global flag
    blue = BluetoothServer(data_received, power_up_device=True)
    flag = True
    i = 0
    while flag:
        screen.fill((0, 0, 0))
        mytext = "Connecting to Bluetooth"

        if (i == 0):
            mytext = mytext + '.'
        elif (i == 1):
            mytext = mytext + '..'
        elif (i == 2):
            mytext = mytext + '...'
        else:
            i = -1
        i += 1
        text_surface = my_font.render(mytext, True, (255, 255, 255))
        text_surface = pygame.transform.rotate(text_surface, 180)
        rect = text_surface.get_rect(center=(160, 120))
        screen.blit(text_surface, rect)

        time.sleep(1)
        pygame.display.flip()
    blue.send(host_IP)
    blue.stop()
Exemple #5
0
def get_ip():
    global flag
    blue = BluetoothServer(data_recieved, power_up_device=True)
    flag = True
    while flag:
        time.sleep(1)
    blue.send(host_IP)
    blue.stop()
Exemple #6
0
def test_server_start_stop():

    bts = BluetoothServer(None, auto_start = False)

    bts.start()
    assert bts.running

    bts.stop()
    assert not bts.running
Exemple #7
0
def bluetooth_client(done_event):
    def data_received(data):
        print(data)  # adds data to the queue and leaves

    s = BluetoothServer(data_received)  #starts RFCOMM Server

    while not (done_event.wait(0.00001)):
        pass

    s.stop()
Exemple #8
0
def test_server_default_values():
    def data_received(data):
        pass

    bts = BluetoothServer(data_received)
    assert bts.data_received_callback == data_received
    assert bts.device == "hci0"
    assert bts.server_address == bta0.address
    assert bts.running
    assert bts.port == 1
    assert bts.encoding == "utf-8"
    assert bts.when_client_connects == None
    assert bts.when_client_disconnects == None 

    bts.stop()
Exemple #9
0
def test_client_default_values():
    def data_received(data):
        pass

    bts = BluetoothServer(data_received, device = "hci1")
    btc = BluetoothClient(bta1.address, data_received)
    
    assert btc.data_received_callback == data_received
    assert btc.device == "hci0"
    assert btc.server == bta1.address
    assert btc.client_address == bta0.address
    assert btc.connected
    assert btc.port == 1
    assert btc.encoding == "utf-8"

    btc.disconnect()
    bts.stop()
Exemple #10
0
def test_send_receive():

    data_received_at_server = Event()
    data_received_at_client = Event()
    
    def data_received_server(data):
        assert data == "hiserver"
        data_received_at_server.set()

    def data_received_client(data):
        assert data == "hiclient"
        data_received_at_client.set()

    bts = BluetoothServer(data_received_server, device = "hci0")
    btc = BluetoothClient(bta0.address, data_received_client, device = "hci1")

    btc.send("hiserver")
    assert data_received_at_server.wait(1)
    bts.send("hiclient")
    assert data_received_at_server.wait(1)
    
    btc.disconnect()
    bts.stop()
from bluedot.btcomm import BluetoothServer

def data_received(data):
    print(data)
    

s = BluetoothServer(data_received)

_= input("Press Enter to quit...")

s.stop()

Exemple #12
0
    server.send(data)


def client_connected():
    print("client connected")


def client_disconnected():
    print("client disconnected")


print("init")
server = BluetoothServer(data_received,
                         auto_start=False,
                         when_client_connects=client_connected,
                         when_client_disconnects=client_disconnected)

print("starting")
server.start()
print(server.server_address)
print("waiting for connection")

try:
    pause()
except KeyboardInterrupt as e:
    print("cancelled by user")
finally:
    print("stopping")
    server.stop()
print("stopped")