diff --git a/nrf5/sdk/sdk_12.1.0/ble_repl_linux.py b/nrf5/sdk/sdk_12.1.0/ble_repl_linux.py new file mode 100644 index 0000000000..5e599fe85b --- /dev/null +++ b/nrf5/sdk/sdk_12.1.0/ble_repl_linux.py @@ -0,0 +1,46 @@ +from bluepy.btle import Scanner, DefaultDelegate, Peripheral, UUID +import struct + +class NotificationDelegate(DefaultDelegate): + def __init__(self): + DefaultDelegate.__init__(self) + + def handleNotification(self, cHandle, data): + print data + +def find_mac_by_name(name): + scanner = Scanner(iface=1) + devices = scanner.scan(5.0) + + found_device = None + for dev in devices: + print "Device %s (%s), RSSI=%d dB" % (dev.addr, dev.addrType, dev.rssi) + for (adtype, desc, value) in dev.getScanData(): + if (desc == "Short Local Name"): + if value == name: + found_device = dev + break + + if found_device: + break + return dev + +dev = find_mac_by_name("micr") +peri = Peripheral(dev) +peri.setDelegate(NotificationDelegate()) + +# service = peri.getServiceByUUID(UUID("6e400001-b5a3-f393-e0a9-e50e24dcca9e")) + +rx_char = peri.getCharacteristics(uuid=UUID("6e400002-b5a3-f393-e0a9-e50e24dcca9e"))[0] +tx_char = peri.getCharacteristics(uuid=UUID("6e400003-b5a3-f393-e0a9-e50e24dcca9e"))[0] + +# enable cccd +cccd = peri.writeCharacteristic(0x0e, struct.pack('