Read and write value of the characteristic



  • Connect to a BLE Device and Retrieve Data

    I trying this ex: https://docs.pycom.io/chapter/tutorials/all/ble.html
    I wounder what should I do to write data so that this code that is in this ex: can read it?

    characteristic.read()
    Read the value of the characteristic, sending a request to the GATT server. Returns a bytes object representing the characteristic value.

    from network import Bluetooth
    import time
    bt = Bluetooth()
    bt.start_scan(-1)
    
    while True:
      adv = bt.get_adv()
      if adv and bt.resolve_adv_data(adv.data, Bluetooth.ADV_NAME_CMPL) == 'Heart Rate':
          try:
              conn = bt.connect(adv.mac)
              services = conn.services()
              for service in services:
                  time.sleep(0.050)
                  if type(service.uuid()) == bytes:
                      print('Reading chars from service = {}'.format(service.uuid()))
                  else:
                      print('Reading chars from service = %x' % service.uuid())
                  chars = service.characteristics()
                  for char in chars:
                      if (char.properties() & Bluetooth.PROP_READ):
                          print('char {} value = {}'.format(char.uuid(), char.read()))
              conn.disconnect()
              break
          except:
              pass
      else:
          time.sleep(0.050)
    


Pycom on Twitter