Raspberry Pi – Seriennummer ausgeben
Ich arbeite derzeit an einem Projekt bei dem es sehr wichtig ist, des Raspberry Pi eindeutig zu identifizieren. Deshalb stellte ich mir die Frage ob es wohl eine Seriennummer gibt, welche man auch direkt am Pi softwaremäßig auslesen kann. All diese Informationen findet man übrigens auch in guten Fachbüchern wie Beispielsweise diesem: Linux Handbuch
Seriennummer ausgeben
Die Seriennummer findet man beim Raspberry Pi im /proc Hauptordner unter der cpuinfo. Diese ist global eindeutig und identifiziert euren Pi. Am einfachsten kann man diese Nummer mit dem folgenden Kommando ausgeben:
cat /proc/cpuinfo | grep Serial | cut -d' ' -f2
Das Bild zeigt übrigens die komplette Ausgabe von /proc/cpuinfo.
Wofür braucht man die Seriennummer?
Ein Gerät eindeutig zu identifizieren bringt dem Softwareentwickler einige Vorteile. Somit kann man Beispielsweise Lizenzen für Software verkaufen, die dann nur auf der Hardware mit der korrekten Seriennummer laufen. Ein Anwendungsfall dazu sind die MPEG Codecs, welche man sich im Raspberry Pi Store kaufen kann. Für wenig Geld kann man sich so seine Multimedia Codecs für den Raspberry Pi legal kaufen.
Seriennummer für eigene Software verwenden
Für uns Entwickler stellt sich nun die Frage wie man selbst Software entwickeln kann, die Lizenzpflichtig ist und nur auf Raspberry Pis läuft, welche auch zuvor eine Lizenz erworben haben. Ansatzpunkte dafür gibt es unterschiedliche, ideal wäre sicher ein Lizenzserver der den Kauf einer Lizenz bestätigt. Dafür bräuchte der Pi zwar immer eine Internetverbindung, die Abfrage wäre aber denkbar einfach. Der Raspberry Pi schickt seine Seriennummer an den Server, dieser bestätigt den kauf der Lizenz und Antwortet mit einer kodierten Nachricht, welche am Pi die Software zur Verwendung freigibt.
Wie das im Detail funktioniert und wie ich das umgesetzt habe werde ich nicht näher erläutern. Dieser Blog beschäftigt sich mit Open Source Software und diese Kommerzialisierung steht im Widerspruch zu meiner Philosophie. Falls jemand seine eigenen Ideen dazu beitragen möchte ist herzlichst eingeladen ein Kommentar zu schreiben.
…useless use of cat 😉
grep Serial /proc/cpuinfo | cut -d‘ ‚ -f2