How to use hrs.py script on my linux host to send command to kw41z blackbox?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

How to use hrs.py script on my linux host to send command to kw41z blackbox?

607 次查看
devangdixit
Contributor II

$ python hrs.py
usage: hrs.py [-h] [-p] <serial_port ble_fsci_black_box>
hrs.py: error: too few arguments

I have flashed hybrid black box binary in my kw41z dev kit.

and using the above script as follows to send command to the black box:

$ python hrs.py /dev/ttyACM2 -p
Namespace(dev='/dev/ttyACM2', pair=True)
[Command 0] /dev/ttyACM2: FSCICPUResetRequest -> { }
[Command 1] /dev/ttyACM2: GATTDBDynamicAddPrimaryServiceDeclarationRequest -> { UuidType: 0x1 , Uuid: 0x1801 }
No response for the previous command GATTDBDynamicAddPrimaryServiceDeclarationRequest
[Command 2] /dev/ttyACM2: GATTDBDynamicAddPrimaryServiceDeclarationRequest -> { UuidType: 0x1 , Uuid: 0x1801 }
No response for the previous command GATTDBDynamicAddPrimaryServiceDeclarationRequest
[Command 3] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x0', '0x0', '0x0', '0x0'] , Uuid: 0x2a05 , MaxValueLength: 0x0 , CharacteristicProperties: 0x12 , InitialValueLength: 0x4 , ValueAccessPermissions: 0x0 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 4] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x0', '0x0', '0x0', '0x0'] , Uuid: 0x2a05 , MaxValueLength: 0x0 , CharacteristicProperties: 0x12 , InitialValueLength: 0x4 , ValueAccessPermissions: 0x0 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 5] /dev/ttyACM2: GATTDBDynamicAddCccdRequest -> { }
No response for the previous command GATTDBDynamicAddCccdRequest
[Command 6] /dev/ttyACM2: GATTDBDynamicAddCccdRequest -> { }
No response for the previous command GATTDBDynamicAddCccdRequest
[Command 7] /dev/ttyACM2: GATTDBDynamicAddPrimaryServiceDeclarationRequest -> { UuidType: 0x1 , Uuid: 0x1800 }
No response for the previous command GATTDBDynamicAddPrimaryServiceDeclarationRequest
[Command 8] /dev/ttyACM2: GATTDBDynamicAddPrimaryServiceDeclarationRequest -> { UuidType: 0x1 , Uuid: 0x1800 }
No response for the previous command GATTDBDynamicAddPrimaryServiceDeclarationRequest
[Command 9] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: 0x4b696e6574697320424c4500 , Uuid: 0x2a00 , MaxValueLength: 0x14 , CharacteristicProperties: 0x2 , InitialValueLength: 0xc , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 10] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: 0x4b696e6574697320424c4500 , Uuid: 0x2a00 , MaxValueLength: 0x14 , CharacteristicProperties: 0x2 , InitialValueLength: 0xc , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 11] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x0', '0x0'] , Uuid: 0x2a01 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x2 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 12] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x0', '0x0'] , Uuid: 0x2a01 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x2 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 13] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0xA', '0x0', '0x10', '0x0', '0x64', '0x0', '0xE2', '0x4'] , Uuid: 0x2a04 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x8 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 14] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0xA', '0x0', '0x10', '0x0', '0x64', '0x0', '0xE2', '0x4'] , Uuid: 0x2a04 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x8 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 15] /dev/ttyACM2: GATTDBDynamicAddPrimaryServiceDeclarationRequest -> { UuidType: 0x1 , Uuid: 0x180d }
No response for the previous command GATTDBDynamicAddPrimaryServiceDeclarationRequest
[Command 16] /dev/ttyACM2: GATTDBDynamicAddPrimaryServiceDeclarationRequest -> { UuidType: 0x1 , Uuid: 0x180d }
No response for the previous command GATTDBDynamicAddPrimaryServiceDeclarationRequest
[Command 17] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x0', '0xB4'] , Uuid: 0x2a37 , MaxValueLength: 0x16 , CharacteristicProperties: 0x10 , InitialValueLength: 0x2 , ValueAccessPermissions: 0x0 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 18] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x0', '0xB4'] , Uuid: 0x2a37 , MaxValueLength: 0x16 , CharacteristicProperties: 0x10 , InitialValueLength: 0x2 , ValueAccessPermissions: 0x0 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 19] /dev/ttyACM2: GATTDBDynamicAddCccdRequest -> { }
No response for the previous command GATTDBDynamicAddCccdRequest
[Command 20] /dev/ttyACM2: GATTDBDynamicAddCccdRequest -> { }
No response for the previous command GATTDBDynamicAddCccdRequest
[Command 21] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x1'] , Uuid: 0x2a38 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x1 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 22] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x1'] , Uuid: 0x2a38 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x1 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 23] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x0'] , Uuid: 0x2a39 , MaxValueLength: 0x0 , CharacteristicProperties: 0x8 , InitialValueLength: 0x1 , ValueAccessPermissions: 0x10 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 24] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x0'] , Uuid: 0x2a39 , MaxValueLength: 0x0 , CharacteristicProperties: 0x8 , InitialValueLength: 0x1 , ValueAccessPermissions: 0x10 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 25] /dev/ttyACM2: GATTDBDynamicAddPrimaryServiceDeclarationRequest -> { UuidType: 0x1 , Uuid: 0x180f }
No response for the previous command GATTDBDynamicAddPrimaryServiceDeclarationRequest
[Command 26] /dev/ttyACM2: GATTDBDynamicAddPrimaryServiceDeclarationRequest -> { UuidType: 0x1 , Uuid: 0x180f }
No response for the previous command GATTDBDynamicAddPrimaryServiceDeclarationRequest
[Command 27] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x5A'] , Uuid: 0x2a19 , MaxValueLength: 0x0 , CharacteristicProperties: 0x12 , InitialValueLength: 0x1 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 28] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x5A'] , Uuid: 0x2a19 , MaxValueLength: 0x0 , CharacteristicProperties: 0x12 , InitialValueLength: 0x1 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 29] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDescriptorRequest -> { DescriptorAccessPermissions: 0x1 , UuidType: 0x1 , DescriptorValueLength: 0x7 , Uuid: 0x2904 , Value: ['0x4', '0x0', '0xAD', '0x27', '0x1', '0x0', '0x0'] }
No response for the previous command GATTDBDynamicAddCharacteristicDescriptorRequest
[Command 30] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDescriptorRequest -> { DescriptorAccessPermissions: 0x1 , UuidType: 0x1 , DescriptorValueLength: 0x7 , Uuid: 0x2904 , Value: ['0x4', '0x0', '0xAD', '0x27', '0x1', '0x0', '0x0'] }
No response for the previous command GATTDBDynamicAddCharacteristicDescriptorRequest
[Command 31] /dev/ttyACM2: GATTDBDynamicAddCccdRequest -> { }
No response for the previous command GATTDBDynamicAddCccdRequest
[Command 32] /dev/ttyACM2: GATTDBDynamicAddCccdRequest -> { }
No response for the previous command GATTDBDynamicAddCccdRequest
[Command 33] /dev/ttyACM2: GATTDBDynamicAddPrimaryServiceDeclarationRequest -> { UuidType: 0x1 , Uuid: 0x180a }
No response for the previous command GATTDBDynamicAddPrimaryServiceDeclarationRequest
[Command 34] /dev/ttyACM2: GATTDBDynamicAddPrimaryServiceDeclarationRequest -> { UuidType: 0x1 , Uuid: 0x180a }
No response for the previous command GATTDBDynamicAddPrimaryServiceDeclarationRequest
[Command 35] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: 0x4e585000 , Uuid: 0x2a29 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x4 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 36] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: 0x4e585000 , Uuid: 0x2a29 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x4 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 37] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: 0x4b696e6574697320424c4500 , Uuid: 0x2a24 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0xc , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 38] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: 0x4b696e6574697320424c4500 , Uuid: 0x2a24 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0xc , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 39] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: 0x424c45534e303100 , Uuid: 0x2a25 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x8 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 40] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: 0x424c45534e303100 , Uuid: 0x2a25 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x8 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 41] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: 0x5553422d4b5734315a2d4b32324600 , Uuid: 0x2a27 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0xf , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 42] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: 0x5553422d4b5734315a2d4b32324600 , Uuid: 0x2a27 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0xf , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 43] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: 0x312e312e3100 , Uuid: 0x2a26 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x6 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 44] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: 0x312e312e3100 , Uuid: 0x2a26 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x6 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 45] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: 0x312e312e3400 , Uuid: 0x2a28 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x6 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 46] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: 0x312e312e3400 , Uuid: 0x2a28 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x6 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 47] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x0', '0x0', '0x0', '0xFE', '0xFF', '0x9F', '0x4', '0x0'] , Uuid: 0x2a23 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x8 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 48] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x0', '0x0', '0x0', '0xFE', '0xFF', '0x9F', '0x4', '0x0'] , Uuid: 0x2a23 , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x8 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 49] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x0', '0x0', '0x0', '0x0'] , Uuid: 0x2a2a , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x4 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 50] /dev/ttyACM2: GATTDBDynamicAddCharacteristicDeclarationAndValueRequest -> { UuidType: 0x1 , InitialValue: ['0x0', '0x0', '0x0', '0x0'] , Uuid: 0x2a2a , MaxValueLength: 0x0 , CharacteristicProperties: 0x2 , InitialValueLength: 0x4 , ValueAccessPermissions: 0x1 }
No response for the previous command GATTDBDynamicAddCharacteristicDeclarationAndValueRequest
[Command 51] /dev/ttyACM2: GAPReadPublicDeviceAddressRequest -> { }
No response for the previous command GAPReadPublicDeviceAddressRequest
[Command 52] /dev/ttyACM2: GAPReadPublicDeviceAddressRequest -> { }
No response for the previous command GAPReadPublicDeviceAddressRequest
[Command 53] /dev/ttyACM2: GAPRegisterDeviceSecurityRequirementsRequest -> { SecurityRequirements: <com.nxp.wireless_connectivity.commands.ble.frames.SecurityRequirements object at 0x8e20f2c> , SecurityRequirementsIncluded: 0x1 }
[Command 54] /dev/ttyACM2: GAPSetLocalPasskeyRequest -> { Passkey: 0xf423f }
[Command 55] /dev/ttyACM2: GAPSetAdvertisingDataRequest -> { AdvertisingDataIncluded: 0x1 , ScanResponseData: None , ScanResponseDataIncluded: 0x0 , AdvertisingData: <com.nxp.wireless_connectivity.commands.ble.frames.AdvertisingData object at 0x8e2084c> }
No response for the previous command GAPSetAdvertisingDataRequest
[Command 56] /dev/ttyACM2: GAPSetAdvertisingDataRequest -> { AdvertisingDataIncluded: 0x1 , ScanResponseData: None , ScanResponseDataIncluded: 0x0 , AdvertisingData: <com.nxp.wireless_connectivity.commands.ble.frames.AdvertisingData object at 0x8e2612c> }
No response for the previous command GAPSetAdvertisingDataRequest
Traceback (most recent call last):
File "hrs.py", line 886, in <module>
main(args)
File "hrs.py", line 835, in main
dev.gatt_server_register_for_write_notifications(gBleSig_BatteryService_d)
File "hrs.py", line 607, in gatt_server_register_for_write_notifications
AttributeHandles=[self.handles[service_uuid]],
KeyError: 6159

2 回复数

528 次查看
estephania_mart
NXP TechSupport
NXP TechSupport

Hello,

Could you please make sure you followed all the installation steps mentioned in the Kinetis FSCI Host Application Programming Interface. This file's available in the documentation folder and you could also check the chapter 9.4 of the document where there is a detailed description of how to run the example. 

C:\<installation path>\SDK_2.2_FRDM-KW41Z\docs\wireless\Thread

Please, let me know if this works for you.

528 次查看
devangdixit
Contributor II

Thanks,

I want to know that how to modify that(hrs.py) script to make the black box work as a central and start scanning and initiate the connection to scanned device .

More specifically can u please tell me the sequence of commands to be sent to the black box to make it work as central.

0 项奖励