Есть ли способ определения, является ли текущий малины Pi является либо 2 модель B и _3 с Raspbian Джесси Лайт 8.0__?
Это потому что у меня есть конкретное bootstrap.sh
написана на bash, где он должен установить txpower атрибут для Вай-Фай донгл USB (здесь, Raspberry Пи 2) с использованием с Ralink RT5370 чипсет водителя.
Я поставил беспроводной атрибутами, используя iwconfig
(который, я знаю, считается устаревшей, но в настоящее время он получает работу, так что я не изменяя его).
Так, в Поленики Pi 3 на внутреннюю Wi-Fi микросхем является "Новатэк" -на основе наборов микросхем, которые не позволят выполнить следующую команду:
iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0dBm
С малина Pi 3 упомянутая выше команда работает, просто убираем дБм от упомянутой выше команды:
iwconfig wlan0 mode ad-hoc channel 6 essid myadhoc txpower 0
Я хотел бы добавить проверку, является ли модель Raspberry Pi является 2 или 3 по bash.
Любые намеки?
В случае, если кто-то хочет идти через bootstrap.sh`: загрузчик для Близнецов
ДБ
не требуется, а также в случае малины Pi 2 С с Ralink чипсет следовательно, не-неоднозначности можно использовать ту же команду для both малина Pis виз.iwconfig как wlan0 режим специальный канал 6 иссид myadhoc txpower 0
команду ifconfig как wlan0 вниз iwconfig как wlan0 режим специальный канал 6 иссид myadhoc txpower 0 как wlan0 ifconfig, которые до
в то время как для встроенный в Wi-Fi-модулями (малина Pi 3) Нет нет необходимости по команде ifconfig вверх и вниз
. Просто простой iwconfig
команда работает.
Вы можете проверить версию RPi с команды выполнения команды uname
. Различные версии ИРЦ имеют различных процессорных архитектур. ИРЦ имеет ARM7 и 2, а 3 имеет arm8.
uname -m
Если вам нужно быть более конкретным, вы можете проверить редакция вход с выхода кошка /proc/cpuinfo для
. Если вы хотите просто точный номер редакции, следующая команда должна сделать это:
cat /proc/cpuinfo | grep 'Revision' | awk '{print $3}'
Этой странице имеет удобный график, что я'вэ скопировал сюда.
Есть много методов (разной степени достоверности), чтобы определить это.
Одна из самых полных и надежна GPIO С -в
, который получается следующий вывод.
gpio version: 2.44
Copyright (c) 2012-2017 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty
Raspberry Pi Details:
Type: Pi 3, Revision: 02, Memory: 1024MB, Maker: Embest
* Device tree is enabled.
*--> Raspberry Pi 3 Model B Rev 1.2
* This Raspberry Pi supports user-level GPIO access.
Это может быть сделано более элегантно, написав простую программу, используя функции wiringpi
. Это хорошо документированы, и источник легкодоступной.
сценарий в https://raspberrypi.stackexchange.com/a/85016/8697 отображает полную информацию о **** твой Ай Пи и ОС.
Я создал bash-скрипт, который будет предоставлять модели данные основаны на доработку.
Если вы делаете это лучше, пожалуйста, дайте мне знать.
#!/bin/bash
# which_pi.bash
# BASH Script to display Pi Hardware version based on info found in /proc/cpuinfo
# Andy Delgado - April 11, 2017
# Info gleaned from
# http://www.raspberrypi-spy.co.uk/2012/09/checking-your-raspberry-pi-board-version
REVCODE=$(sudo cat /proc/cpuinfo | grep 'Revision' | awk '{print $3}' | sed 's/^ *//g' | sed 's/ *$//g')
if [ "$REVCODE" = "0002" ]; then
PIMODEL="Raspberry Pi Model B Rev 1, 256 MB RAM"
fi
if [ "$REVCODE" = "0003" ]; then
PIMODEL="Raspberry Pi Model B Rev 1 ECN0001, 256 MB RAM"
fi
if [ "$REVCODE" = "0004" ]; then
PIMODEL="Raspberry Pi Model B Rev 2, 256 MB RAM"
fi
if [ "$REVCODE" = "0005" ]; then
PIMODEL="Raspberry Pi Model B Rev 2, 256 MB RAM"
fi
if [ "$REVCODE" = "0006" ]; then
PIMODEL="Raspberry Pi Model B Rev 2, 256 MB RAM"
fi
if [ "$REVCODE" = "0007" ]; then
PIMODEL="Raspberry Pi Model A, 256 MB RAM"
fi
if [ "$REVCODE" = "0008" ]; then
PIMODEL="Raspberry Pi Model A, 256 MB RAM"
fi
if [ "$REVCODE" = "0009" ]; then
PIMODEL="Raspberry Pi Model A, 256 MB RAM"
fi
if [ "$REVCODE" = "000d" ]; then
PIMODEL="Raspberry Pi Model B Rev 2, 512 MB RAM"
fi
if [ "$REVCODE" = "000e" ]; then
PIMODEL="Raspberry Pi Model B Rev 2, 512 MB RAM"
fi
if [ "$REVCODE" = "000f" ]; then
PIMODEL="Raspberry Pi Model B Rev 2, 512 MB RAM"
fi
if [ "$REVCODE" = "0010" ]; then
PIMODEL="Raspberry Pi Model B+, 512 MB RAM"
fi
if [ "$REVCODE" = "0013" ]; then
PIMODEL="Raspberry Pi Model B+, 512 MB RAM"
fi
if [ "$REVCODE" = "900032" ]; then
PIMODEL="Raspberry Pi Model B+, 512 MB RAM"
fi
if [ "$REVCODE" = "0011" ]; then
PIMODEL="Raspberry Pi Compute Module, 512 MB RAM"
fi
if [ "$REVCODE" = "0014" ]; then
PIMODEL="Raspberry Pi Compute Module, 512 MB RAM"
fi
if [ "$REVCODE" = "0012" ]; then
PIMODEL="Raspberry Pi Model A+, 256 MB RAM"
fi
if [ "$REVCODE" = "0015" ]; then
PIMODEL="Raspberry Pi Model A+, 256 MB or 512 MB RAM"
fi
if [ "$REVCODE" = "a01041" ]; then
PIMODEL="Raspberry Pi 2 Model B v1.1, 1 GB RAM"
fi
if [ "$REVCODE" = "a21041" ]; then
# a21041 (Embest, China)
PIMODEL="Raspberry Pi 2 Model B v1.1, 1 GB RAM"
fi
if [ "$REVCODE" = "a22042" ]; then
PIMODEL="Raspberry Pi 2 Model B v1.2, 1 GB RAM"
fi
if [ "$REVCODE" = "90092" ]; then
PIMODEL="Raspberry Pi Zero v1.2, 512 MB RAM"
fi
if [ "$REVCODE" = "90093" ]; then
PIMODEL="Raspberry Pi Zero v1.3, 512 MB RAM"
fi
if [ "$REVCODE" = "0x9000C1" ]; then
PIMODEL="Raspberry Pi Zero W, 512 MB RAM"
fi
if [ "$REVCODE" = "a02082" ]; then
PIMODEL="Raspberry Pi 3 Model B, 1 GB RAM"
fi
if [ "$REVCODE" = "a22082" ]; then
PIMODEL="Raspberry Pi 3 Model B, 1 GB RAM"
fi
echo "$PIMODEL ($REVCODE)"
Я не'т иметь достаточно репутации, чтобы комментировать @Энди Дельгадо ответ, А вот другая версия его кода, используя некоторые новые функции в bash.
function check_pi_version() {
local -r REVCODE=$(awk '/Revision/ {print $3}' /proc/cpuinfo)
local -rA REVISIONS=(
[0002]="Model B Rev 1, 256 MB RAM"
[0003]="Model B Rev 1 ECN0001, 256 MB RAM"
[0004]="Model B Rev 2, 256 MB RAM"
[0005]="Model B Rev 2, 256 MB RAM"
[0006]="Model B Rev 2, 256 MB RAM"
[0007]="Model A, 256 MB RAM"
[0008]="Model A, 256 MB RAM"
[0009]="Model A, 256 MB RAM"
[000d]="Model B Rev 2, 512 MB RAM"
[000e]="Model B Rev 2, 512 MB RAM"
[000f]="Model B Rev 2, 512 MB RAM"
[0010]="Model B+, 512 MB RAM"
[0013]="Model B+, 512 MB RAM"
[900032]="Model B+, 512 MB RAM"
[0011]="Compute Module, 512 MB RAM"
[0014]="Compute Module, 512 MB RAM"
[0012]="Model A+, 256 MB RAM"
[0015]="Model A+, 256 MB or 512 MB RAM"
[a01041]="2 Model B v1.1, 1 GB RAM"
[a21041]="2 Model B v1.1, 1 GB RAM"
[a22042]="2 Model B v1.2, 1 GB RAM"
[90092]="Zero v1.2, 512 MB RAM"
[90093]="Zero v1.3, 512 MB RAM"
[0x9000C1]="Zero W, 512 MB RAM"
[a02082]="3 Model B, 1 GB RAM"
[a22082]="3 Model B, 1 GB RAM"
)
echo "Raspberry Pi ${REVISIONS[${REVCODE}]} (${REVCODE})"
}
В сторону: "пересмотры" определен внутри функции, так как я использовать его снова СШ
т. е. СШ некоторые-хозяин " и$(объявить -Ф); check_pi_version"
в
Простой способ : команды dmesg | grep в том, что "Машина"
в