Otázka:
Který model Raspberry Pi používám?
Shan-Desai
2017-02-08 22:52:41 UTC
view on stackexchange narkive permalink

Existuje způsob, jak zjistit, zda je aktuální Raspberry Pi buď 2 Model B a 3 s Raspbian Jessie Lite 8.0 ?

Důvodem je, že mám konkrétní bootstrap.sh napsaný v Bash, kde je třeba nastavit atribut txpower pro USB klíč Wi-Fi (zde , Raspberry Pi 2) pomocí ovladače čipsetu Ralink RT5370 .

Atributy bezdrátové sítě nastavím pomocí iwconfig (o kterém vím, že je zastaralý, ale aktuálně tuto práci dokončí, takže ji neměníme).

Vzhledem k tomu, že v Raspberry Pi 3 je interní čipová sada Wi-Fi čipová sada založená na bcm , která neumožňuje provedení následujícího příkazu:

  iwconfig wlan0 režim ad-hoc kanál 6 essid myadhoc txpower 0dBm  

S Raspberry Pi 3 výše uvedený příkaz funguje pouze odstraněním dBm z výše uvedeného příkaz:

  iwconfig wlan0 režim ad-hoc kanál 6 essid myadhoc txpower 0  

Chtěl bych přidat kontrolu, zda je model Raspberry Pi 2 nebo 3 pomocí Bash.

Nějaké tipy?

V případě, že někdo chce projít bootstrap.sh : Bootstrapping pro TWIN

Poznámky

  • Zkontroloval jsem, že dBm je není vyžadováno , a to i v případě Raspberry Pi 2 s čipovou sadou Ralink proto pro nejednoznačnost lze použít stejný příkaz pro oba Raspberry Pis viz.

      iwconfig wlan0 režim ad-hoc kanál 6 essid myadhoc txpower 0  
  • Je zajímavé si uvědomit, že u externích USB Wi-Fi USB klíčů je třeba provést následující (u Raspberry Pi 2 ):

      ifconfig wlan0 downiwconfig wlan0 režim ad-hoc kanál 6 essid myadhoc txpower 0ifconfig wlan0 nahoru  

    Zatímco u vestavěných modulů Wi-Fi (Raspberry Pi 3) není není potřeba ifconfig nahoru a dolů . Funguje pouze přímý příkaz iwconfig .

Nejlepším přístupem je testování toho, co chcete dělat, místo hledání modelů (jak bude vypadat Raspberry Pi 5?). V takovém případě zkontrolujte, zda existuje čipová sada Ralink RT5370, a podle toho proveďte konfiguraci. Stejným způsobem jako vestavěný ovladač Wifi.
Související: http://raspberrypi.stackexchange.com/q/1826/19949
související: https://raspberrypi.stackexchange.com/q/100076/19949
Možný duplikát [Jaká verze OS je nainstalována] (https://raspberrypi.stackexchange.com/questions/85015/what-os-version-is-installed)
Sedm odpovědi:
SBF
2017-09-27 01:30:26 UTC
view on stackexchange narkive permalink
  cat / proc / device-tree / model  

vrací něco jako

  Raspberry Pi 3 Model B Rev 1.2  
Jacobm001
2017-02-08 23:22:56 UTC
view on stackexchange narkive permalink

Podle typu CPU

Verze RPi můžete zkontrolovat pomocí příkazu uname . Různé verze RPi mají odlišnou architekturu CPU. RPi 2 má arm7, zatímco 3 má arm8.

  uname -m  

podle revize hardwaru

pokud musíte být konkrétnější, můžete zkontrolovat položku revize z výstupu cat / proc / cpuinfo . Chcete-li přesně určit číslo revize, měl by to udělat následující příkaz:

  cat / proc / cpuinfo | grep 'Revize' | awk '{print $ 3}'  

Čísla revizí

Tato webová stránka obsahuje praktický graf, který jsem zde zkopíroval.

enter image description here

Předtím jsem prošel `/ proc / cpuinfo`. Vypadá to jako nejlepší volba, protože `uname -m` toho moc neřekne.
@Shan-Desai: si nejste jisti, jestli jste to viděli, před úpravou, ale právě jsem zahrnul příkaz, který extrahuje pouze informace o revizi ze souboru proc. Doufám, že to pomůže.
Jo, zkusil jsem ten, který jsi zmínil. Srovnání bylo mezi __Pi 2 Model v1.1__ a __Pi 3 Model B__, ale vtipné je, že můj __Pi 3__ stále zobrazuje __armv7l__ po `uname -m`
Myslíš / proc / cpuinfo ne / cpu / procinfo
`uname` zobrazí pouze seznam cílové architektury, pro kterou byl Linux postaven, a je nespolehlivý pro určení typu CPU. Aktuální RPI3 Raspbian běží v 32bitovém režimu. zobrazí seznam `armv7`, pokud používáte linux` AARCH64` (`arm64`), bude říkat` armv8`, pokud použijete starou RPI1 raspbian, řekne `armv6`.
Trochu aktualizace, že nadace má všechny aktuální revizní kódy uvedené zde https://www.raspberrypi.org/documentation/hardware/raspberrypi/revision-codes/README.md včetně těch, které jsou novější než tato odpověď.
Milliways
2017-04-12 09:59:28 UTC
view on stackexchange narkive permalink

Existuje mnoho metod (různé spolehlivosti), jak to určit. Jednou z nejúplnějších a nejspolehlivějších je gpio -v , která vytváří následující výstup.

  Verze gpio: 2.44 Copyright (c) 2012-2017 Gordon Henderson Jedná se o bezplatný software s ABSOLUTNĚ ŽÁDNOU ZÁRUKOU. Podrobnosti: gpio -warrantyRaspberry Pi Podrobnosti: Typ: Pi 3, Revize: 02, Paměť: 1024 MB, Výrobce: Embest * Strom zařízení je povoleno. * - > Raspberry Pi 3 Model B Rev 1.2 * Tento Raspberry Pi podporuje přístup GPIO na úrovni uživatele.  

Toho lze dosáhnout elegantněji napsáním jednoduchého programu pomocí funkcí poskytovaných wiringpi . Jsou dobře zdokumentovány a zdroj je snadno dostupný.

Skript v https://raspberrypi.stackexchange.com/a/85016/8697 zobrazuje komplexní informace o vašem Pi a OS.

Andy Delgado
2017-04-12 03:32:12 UTC
view on stackexchange narkive permalink

Vytvořil jsem bash skript, který poskytne informace o modelu na základě revize.

Pokud to vylepšíte, dejte mi prosím vědět.

  #! / bin / bash # which_pi.bash # BASH Script pro zobrazení verze Pi Hardware na základě informací nalezených v / proc / cpuinfo # Andy Delgado - 11. dubna 2017 # Informace shromážděné z # http://www.raspberrypi-spy.co.uk / 2012/09 / checking-your-raspberry-pi-board-versionREVCODE = $ (sudo cat / proc / cpuinfo | grep 'Revision' | awk '{print $ 3}' | sed 's / ^ * // g' | sed 's / * $ // g') if ["$ REVCODE" = "0002"]; pak PIMODEL = "Raspberry Pi Model B Rev 1, 256 MB RAM" fiif ["$ REVCODE" = "0003"]; pak PIMODEL = "Raspberry Pi Model B Rev 1 ECN0001, 256 MB RAM" fiif ["$ REVCODE" = "0004"]; pak PIMODEL = "Raspberry Pi Model B Rev 2, 256 MB RAM" fiif ["$ REVCODE" = "0005"]; pak PIMODEL = "Raspberry Pi Model B Rev 2, 256 MB RAM" fiif ["$ REVCODE" = "0006"]; pak PIMODEL = "Raspberry Pi Model B Rev 2, 256 MB RAM" fiif ["$ REVCODE" = "0007"]; pak PIMODEL = "Raspberry Pi Model A, 256 MB RAM" fiif ["$ REVCODE" = "0008"]; pak PIMODEL = "Raspberry Pi Model A, 256 MB RAM" fiif ["$ REVCODE" = "0009"]; pak PIMODEL = "Raspberry Pi Model A, 256 MB RAM" fiif ["$ REVCODE" = "000d"]; pak PIMODEL = "Raspberry Pi Model B Rev 2, 512 MB RAM" fiif ["$ REVCODE" = "000e"]; pak PIMODEL = "Raspberry Pi Model B Rev 2, 512 MB RAM" fiif ["$ REVCODE" = "000f"]; pak PIMODEL = "Raspberry Pi Model B Rev 2, 512 MB RAM" fiif ["$ REVCODE" = "0010"]; pak PIMODEL = "Raspberry Pi Model B +, 512 MB RAM" fiif ["$ REVCODE" = "0013"]; pak PIMODEL = "Raspberry Pi Model B +, 512 MB RAM" fiif ["$ REVCODE" = "900032"]; pak PIMODEL = "Raspberry Pi Model B +, 512 MB RAM" fiif ["$ REVCODE" = "0011"]; pak PIMODEL = "Výpočetní modul Raspberry Pi, 512 MB RAM" fiif ["$ REVCODE" = "0014"]; pak PIMODEL = "Výpočetní modul Raspberry Pi, 512 MB RAM" fiif ["$ REVCODE" = "0012"]; pak PIMODEL = "Raspberry Pi Model A +, 256 MB RAM" fiif ["$ REVCODE" = "0015"]; pak
PIMODEL = "Raspberry Pi Model A +, 256 MB nebo 512 MB RAM" pět ["$ REVCODE" = "a01041"]; pak PIMODEL = "Raspberry Pi 2 Model B v1.1, 1 GB RAM" pět ["$ REVCODE" = "a21041"]; pak # a21041 (Embest, Čína) PIMODEL = "Raspberry Pi 2 Model B v1.1, 1 GB RAM" pět ["$ REVCODE" = "a22042"]; pak PIMODEL = "Raspberry Pi 2 Model B v1.2, 1 GB RAM" pět ["$ REVCODE" = "90092"]; pak PIMODEL = "Raspberry Pi Zero v1.2, 512 MB RAM" pět ["$ REVCODE" = "90093"]; pak PIMODEL = "Raspberry Pi Zero v1.3, 512 MB RAM" pět ["$ REVCODE" = "0x9000C1"]; pak PIMODEL = "Raspberry Pi Zero W, 512 MB RAM" pět ["$ REVCODE" = "a02082"]; pak PIMODEL = "Raspberry Pi 3 Model B, 1 GB RAM" pět ["$ REVCODE" = "a22082"]; pak PIMODEL = "Raspberry Pi 3 Model B, 1 GB RAM" fiecho "$ PIMODEL ($ REVCODE)"  
Jinak by struktura byla mnohem efektivnější.
Přepínací prohlášení by bylo lepší.
Takle
2017-09-27 01:00:44 UTC
view on stackexchange narkive permalink

Nemám dostatek zástupců, abych mohl komentovat odpověď @Andy Delgado, ale mám jinou verzi svého kódu pomocí novějších bash funkcí.

  funkce 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] = "Výpočetní modul, 512 MB RAM" [0014] = "Výpočetní modul, 512 MB RAM" [0012] = "Model A +, 256 MB RAM" [0015] = " Model A +, 256 MB nebo 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}) "}  

Kromě toho: REVISIONS je definován uvnitř funkce, protože ji používám přes ssh tj. ssh some-host "$ (prohlásit -f); check_pi_version "

ElektryczneNozyce
2020-05-02 02:38:56 UTC
view on stackexchange narkive permalink

Můžete také použít nástroj s názvem pinout

enter image description here

lemassykoi
2017-04-13 14:40:02 UTC
view on stackexchange narkive permalink

Jednoduchý způsob: dmesg | grep "Model stroje:"

Zvláštní, když to zkusím, nic nevydá!
@goldilocks Displays `[[Út 11. dubna 15:59:32 2017] Model stroje: Raspberry Pi 3 Model B Rev 1.2` na mém Pi. Nemusí to být nejrobustnější metoda.
@Milliways Důvodem, proč to pro mě nedělá, je to, že systém je příliš dlouhý. To je od bootování a `dmesg` je kruhový buffer. * Proto se jedná o chybnou metodiku. *
@goldilocks Pravděpodobně OP chce vědět jen po spuštění. Je nepravděpodobné, že by se to změnilo ;-) Existují téměř jistě lepší metody řešení OP problému.
nejlepší řešení podle mého názoru. funguje perfektně na Raspberry Pi 2 a 3, běží Raspbian. Testoval jsem to na Pi, které běží od 8 dnů. Ostatní řešení v tomto vlákně vyžadovala buď nové nástroje (gpio), nebo musíte mapovat revizní kód CPU do vyhledávací tabulky (a udržovat ji). to je jediný příkaz, který vám řekne přesně název, tj. `Model stroje: Raspberry Pi 2 Model B Rev 1.1` - také bez root.


Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...