Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/python
- import logging
- import asyncio
- import platform
- import signal # for ctrl-c
- import sys # call to for exit
- from bleak import BleakClient
- from bleak import _logger as logger
- address = ("88:25:83:F2:7A:D2")
- #CHARACTERISTIC_UUID = "0000fff4-0000-1000-8000-00805f9b34fb"
- CHARACTERISTIC_UUID = "0000ffe1-0000-1000-8000-00805f9b34fb"
- def signal_handler(sig, frame):
- print('CTRL-C/SIGINT Caught... Attempting Disconnect')
- for task in asyncio.Task.all_tasks():
- task.cancel()
- sys.exit(0)
- return
- def notification_handler(sender, data, debug=True):
- """Simple notification handler which prints the data received."""
- #print("{0}: {1}".format(sender, data))
- array = bytearray(data)
- if (debug):
- print("Recv: " + array.decode("UTF-8"))
- async def run(address, loop, debug):
- if debug:
- import sys
- # loop.set_debug(True)
- l = logging.getLogger("asyncio")
- l.setLevel(logging.DEBUG)
- h = logging.StreamHandler(sys.stdout)
- h.setLevel(logging.DEBUG)
- l.addHandler(h)
- logger.addHandler(h)
- async with BleakClient(address, loop=loop) as client:
- global x
- x = await client.is_connected()
- logger.info("Connected: {0}".format(x))
- await client.start_notify(CHARACTERISTIC_UUID, notification_handler)
- await asyncio.sleep(460.0, loop=loop)
- await client.stop_notify(CHARACTERISTIC_UUID)
- if __name__ == "__main__":
- import os
- # So we can bail
- signal.signal(signal.SIGINT, signal_handler)
- os.environ["PYTHONASYNCIODEBUG"] = str(1)
- loop = asyncio.get_event_loop()
- loop.run_until_complete(run(address, loop, False))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement