Есть ли способ определить, является ли текущий Raspberry Pi либо 2-й моделью B и 3 с Raspbian Jessie Lite 8.0 ?
Это связано с тем, что у меня есть отдельная статья,bootstrap.sh
написанная на Bash, где он должен установить атрибут txpower
для USB-ключа Wi-Fi (здесь Raspberry Pi 2) с использованием драйвера чипсета Ralink RT5370 .
Я установил атрибуты Wireless с помощью iwconfig
(который, я знаю, устарел, но в настоящее время он выполняет свою работу, поэтому я не меняю его).
Поскольку в Raspberry Pi 3 внутренний чипсет Wi-Fi представляет собой bcm
набор микросхем на основе, который не позволяет выполнить следующую команду:
iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0dBm
С Raspberry Pi 3 вышеупомянутая команда работает, просто удаляя dBm
из вышеупомянутой команды:
iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0
Я хотел бы добавить проверку, является ли модель Raspberry Pi 2 или 3, используя Bash.
Есть намеки?
В случае, если кто-то хочет пройти через bootstrap.sh
: Bootstrapping для TWIN
Заметки
Я проверил, что
dBm
это не требуется , также в случае Raspberry Pi 2 с набором микросхем Ralink, поэтому для не однозначности можно использовать одну и ту же команду для обоих Raspberry Pis, а именно.iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0
Интересно отметить, что для внешних USB-ключей Wi-Fi необходимо выполнить следующее (для Raspberry Pi 2 ):
ifconfig wlan0 down iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0 ifconfig wlan0 up
в то время , как для встроенных модулей Wi-Fi (Raspberry Pi 3) нет никакой необходимости для
ifconfig up and down
. Просто простаяiwconfig
команда работает.
Ответы:
возвращает что-то вроде
источник
По типу процессора
Вы можете проверить версию RPi с помощью команды
uname
. Разные версии RPi имеют разные архитектуры ЦП. RPi 2 имеет arm7, тогда как 3 имеет arm8.По версии оборудования
Если вам нужно быть более конкретным, вы можете проверить запись ревизии по выводу
cat /proc/cpuinfo
. Если вы хотите просто указать номер ревизии, выполните следующую команду:Номера редакций
На этой веб-странице есть удобная таблица, которую я скопировал здесь.
источник
/proc/cpuinfo
раньше. Вроде как лучший вариант, такuname -m
как мало что говорит.uname -m
uname
будет только перечислять целевую архитектуру, для которой был построен linux, и является ненадежным для определения типа процессора. Текущий RPI3 Raspbian работает в 32-битном режиме. он будет отображать списокarmv7
, если вы используете LinuxAARCH64
(arm64
), он скажетarmv8
, если вы используете старый RPI1 raspbian, он скажетarmv6
.Есть много методов (различной надежности), чтобы определить это. Одним из наиболее полных и надежных является
gpio -v
следующий результат.Это можно сделать более элегантно, написав простую программу, используя функции, предоставляемые
wiringpi
. Они хорошо документированы, и источник легко доступен.источник
Я создал bash-скрипт, который будет предоставлять информацию о модели на основе Revision.
Если вы сделаете это лучше, пожалуйста, дайте мне знать.
источник
У меня недостаточно представителя, чтобы комментировать ответ @Andy Delgado, но здесь представлена другая версия его кода с использованием некоторых новых функций bash.
В стороне:
REVISIONS
определяется внутри функции, так как я использую ее,ssh
т.е.ssh some-host "$(declare -f); check_pi_version"
источник
Простой способ :
dmesg | grep "Machine model:"
источник
[Tue Apr 11 15:59:32 2017] Machine model: Raspberry Pi 3 Model B Rev 1.2
на моем Пи. Возможно, не самый надежный метод.dmesg
это круговой буфер. Следовательно, это ошибочная методология.Machine model: Raspberry Pi 2 Model B Rev 1.1
без корня.