Я попытался портировать pigpio на Debian arm64, в конце концов моя попытка не удалась, потому что я обнаружил, что ядро Debian arm64 не поддерживает интерфейс почтового ящика пользователя, на который полагается pigpio, но при этом я провел некоторое исследование о том, как обнаружить Pis, пока запуск ядра Debian arm64. Я подозреваю, что это также будет работать для Ubuntu Arm64.
Как вы обнаружили, / proc / cpuinfo содержит только информацию о ядре процессора в этих ядрах. К счастью, информацию можно найти в другом месте в / proc
Во-первых, чтобы проверить, является ли устройство Pi или нет, я проверил / proc / device-tree / model, там есть текстовая строка, описывающая устройство, поэтому ложные срабатывания маловероятны.
Чтобы получить код ревизии, я использовал / proc / device-tree / system / linux, revision, он содержит код ревизии в виде двоичного целого с прямым порядком байтов. Поэтому его нужно прочитать из файла как двоичное целое число, а затем преобразовать в little-endian (для этого я использовал ntohl).
Вы можете увидеть мой код на https://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26
cat /proc/cpuinfo
Должен производить Revision номер , который соответствует плате. См .: raspberrypi.org/documentation/hardware/raspberrypi/…