Reputation: 211
I need a unique identifier of my device and on Raspberry PI I could get a serial number of the cpu from the /proc/cpuinfo
file. But on Coral there is no serial information in /proc/cpuinfo
.
Are there any other ways to uniquely identify my device? What about /etc/machine-id
?
Upvotes: 0
Views: 643
Reputation: 1757
Following Florian's answer here, using the ATECC608A serial is an option as NXP's serial on the SOC is hard to access. The coral's cloudiot package has a wrapper around cryptoauthlib sdk to get the serial number.
Install coral's cloudiot:
echo "deb https://packages.cloud.google.com/apt coral-cloud-stable main" | sudo tee /etc/apt/sources.list.d/coral-cloud.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt update
sudo apt install python3-coral-cloudiot
Get Serial Number:
python3 -c 'from coral.cloudiot.ecc608 import ecc608_serial; print("ATECC608A Serial:", ecc608_serial())'
Upvotes: 3
Reputation: 46
There is another option of getting an ID from the board. The SoM of the Coral Dev Board also features a built-in cryptochip which offers a unique ID you can use. There was a discussion together with some python code on how to use it here: How to use the crypto processor on the dev board?
I havent tried yet, if the serial number of the ecc608 can also be accessed by file system means. The ecc608 is available on the 0th I2C bus of the system.
Upvotes: 0
Reputation: 211
Reply from Google support
NXP SoC has a unique serial number which could be read from sw.
It is suggested to check IMX8M reference manual for that information.
That approach will require you to add/modify kernel driver to expose that SN via sysfs node.
Upvotes: 1