0

I am using pydbus to receive 6 digit value from keypad. When i execute in RPi 3B+, it works fine. When i repeat the same in RPi Zero wireless, it seems not working. I have checked from every angle and couldn't figure out what is missing. Below is part of my code :

def get_characteristic_path(device_path, uuid):

    
    global mngr
    global mng_objs
    
    mng_objs = mngr.GetManagedObjects()
    for path in mng_objs:
        chr_uuid = mng_objs[path].get('org.bluez.GattCharacteristic1', {}).get('UUID')
        if path.startswith(device_path) and chr_uuid == uuid:
           return path



def keypad_values_Notifier (iface, prop_changed, prop_removed):
      print("Ping from Keypad Notifier!")



def keypad_value():
    
    global Key_obj
    
    Key_path = get_characteristic_path(dev._path,DOOR_PASSWORD)
    Key_obj = bus.get('org.bluez', Key_path)
    #print(Key_obj.ReadValue({})) 
    Key_obj.onPropertiesChanged = keypad_values_Notifier
    Key_obj.StartNotify()

I have tried with other 'Notify' function that return 1 byte and it works fine in RPi Zero-W. Only this 6 byte returning kinda missing in action.

Please guide me if i am missing something...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.