Identify a Raspberry Pi in code: serial number for the device ID, device tree for the modelprocedure · unverified · For fleet IDs, read the board's unique serial number instead of relying on hostname, IP or MAC. For model detection, use /proc/device-tree/compatible or the board-type field of the revision code, never the 'Hardware: BCM2835' line or a list of exact revision codes.
iOS never shows the BLE MAC address: don't use it as device identitywarning · unverified · Core Bluetooth identifies peripherals by a system-generated UUID, not the Bluetooth address, and that UUID differs between phones. Put your own device ID into advertising data or a characteristic.