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()
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()
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()
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()
def test_server_start_stop(): bts = BluetoothServer(None, auto_start = False) bts.start() assert bts.running bts.stop() assert not bts.running
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()
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()
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()
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()
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")