Existe-t-il une possibilité de stocker un ID matériel pour chaque appareil basé sur Raspberry Pi?
Disons que j'ai 10 appareils personnalisés basés sur la plate-forme Raspberry Pi qui sont utilisés pour des tâches distribuées. À un moment donné, pour une raison quelconque, je veux tout effacer de l'un d'eux. Comment puis-je ré-identifier le forum après cela?
Pi a-t-il une puce qui stocke un identifiant unique comme un numéro de série pour chaque carte? Sinon, puis-je ajouter une mémoire (en lecture seule) (qui peut stocker une valeur simple même lorsqu'elle n'est pas alimentée) pour pouvoir communiquer avec elle via GPIO à tout moment?
Quelles sont les alternatives?
Réponses:
Oui, chaque carte a un numéro de série. Les méthodes pour récupérer ceci sont décrites ici: Comment puis-je obtenir le numéro de série?
la source
En voici une plus facile à utiliser: l'adresse MAC via la configuration automatique IPv6 NDP. Il s'agit d'une méthode universelle applicable à toute interface réseau.
Chaque carte réseau, y compris celle USB utilisée sur le Pi, a une adresse MAC 48 bits, par exemple
14:cf:92:20:26:3c
,.Chaque adresse MAC 48 bits a un mappage un à un unique vers une adresse EUI-64 en masquant les deux derniers bits du troisième octet (
92
à90
) et en insérant les octetsfeff
entre le troisième et le quatrième octet. Le 48-bit précité MAC peut être mis en correspondance avec le EUI-64:14cf:90fe:ff20:263c
.Le processus de configuration automatique des adresses IPv6 utilise le protocole NDP pour découvrir l'adresse réseau 64 bits dans l'adresse 128 bits. Ce processus donnera à tous vos appareils du même réseau le même préfixe 64 bits. L'EUI-64 susmentionné est utilisé pour remplir l'adresse de station 64 bits, ce qui donne une adresse IPv6 unique au monde de 128 bits. Donc, si vous avez le préfixe de réseau IPv6
2001:470:d:472::/64
, la carte réseau susmentionnée, lorsqu'elle sera utilisée dans ce réseau, sera garantie d'avoir une adresse IPv6 routable globalement2001:470:d:472:14cf:90fe:ff20:263c
. Tant que votre outil de gestion est configuré pour utiliser IPv6, branchez-y simplement cette adresse et cela devrait être bon.la source
Comme dans l'autre réponse, le Pi a un ID unique, qui est lié au MAC.
Dans la pratique, il est plus pratique pour le réseautage d'avoir un unique
hostname
. J'utilise le script suivant pour définir les noms en fonctionCPUID
.la source
/sys/class/net/eth0/address
cat /var/lib/dbus/machine-id
lecture plusS'il n'avait pas d'ID (ce qu'il a, comme il semble, voir la réponse de Ralph ), une alternative pourrait être une puce de numéro de série I2C. Ceux-ci sont vraiment faciles à connecter (interface série) et fournissent un numéro de série unique.
Quelques exemples:
la source