Buscando en internet, encontré un script que podía identificar esto basado en los datos de /proc/cpuinfo, aunque le faltaban casos. Así que expandí el script según la referencia de los modelos del Raspberry que está en eLinux: Which Pi have I got - elinux.org.
Script para identificar el modelo RPi
El script original de Greg Stephens, al cual contribuí con estos cambios, está en su repositorio github: pivers.sh - rgstephens/pisetup Github.Aquí copio el script, que permite identificar el modelo. Actualizado a modelos disponibles al Q4 2018.
#!/bin/bash CPU=`cat /proc/cpuinfo | grep Serial | cut -d ':' -f 2 | sed -e "s/ //g"` HW=`cat /proc/cpuinfo | grep Hardware | cut -d ':' -f 2 | sed -e "s/ //g"` REV=`cat /proc/cpuinfo | grep Revision | cut -d ':' -f 2 | sed -e "s/ //g"` #values from http://elinux.org/RPi_HardwareHistory case ${REV} in a020d3) echo 'Pi 3 Model B+, 1024MB RAM' ;; 9020e0) echo 'Pi 3 Model A+, 512MB RAM' ;; a02082|a22082|a32082) echo 'Pi 3 Model B, 1024MB RAM' ;; a01040|a01041|a21041|a22042) echo 'Pi 2 Model B, 1024MB RAM' ;; 900092|900093|920093) echo 'Pi Zero, 512MB RAM' ;; 9000c1) echo 'Pi Zero W, 512MB RAM' ;; 0015|900021) echo 'Pi Model A+, 512MB RAM' ;; 0012) echo 'Pi Model A+, 256MB RAM' ;; 0010|0013|900032) echo 'Pi, Model B+, 512MB RAM' ;; 0011|0014) echo 'Compute Module 1, 512MB RAM' ;; a020a0) echo 'Compute Module 3, 1024MB RAM' ;; 0002|0004|0005|0006) echo 'Pi Model B, 256MB RAM' ;; 000d|000e|000f) echo 'Pi Model B, 512MB RAM' ;; 0003) echo 'Pi Model B (ECN0001), 256MB RAM' ;; Beta) echo 'Pi, Model B (Beta), 256MB RAM' ;; 0007|0008|0009) echo 'Pi, Model A, 256MB RAM' ;; *) echo '${REV} (unknown)' ;; esac
Grabar el contenido en nuevo archivo pivers.sh
cd ~/ sudo nano pivers.sh
Aquí hay que copiar el contenido del script dentro del archivo y grabar con CTRL + O y luego CTRL + X.
Para que funcione en forma fácil, hay que mover el archivo al directorio /bin/, con permisos de usuario root:
sudo mv pivers.sh /bin/pivers.sh
Configurar RPi-Monitor para mostrar el modelo
Hay que editar el archivo que muestra la versión, agregando el comando para llamar al script. Por seguridad haremos también un respaldo del archivo original:cd /etc/rpimonitor/template sudo cp version.conf version-bak.conf sudo nano version.conf
Las líneas que edité son las marcadas en color:
######################################################################## # Extract System information # Page: 1 # Information Status Statistics # - computer model - yes - no # - distribution name - yes - no # - kernel version - yes - no # - firmware version - yes - no # - processor model - yes - no # - num of pkg upgradable - yes - no # - list of pkg upgradable - yes - no ######################################################################## static.1.name=distribution static.1.source=/etc/os-release static.1.regexp=PRETTY_NAME.\"(.*)\" static.1.postprocess= static.2.name=kernel_version static.2.source=uname -msr static.2.regexp=(.*) static.2.postprocess= static.3.name=firmware static.3.source=/proc/version static.3.regexp=(#\d+) static.3.postprocess= static.4.name=processor static.4.source=/proc/cpuinfo static.4.regexp=(?:Processor|model name)\s+: (.*) static.4.postprocess= static.5.name=model static.5.source=/bin/pivers static.5.regexp=(.*) static.5.postprocess= dynamic.1.name=upgrade dynamic.1.source=/var/lib/rpimonitor/updatestatus.txt dynamic.1.regexp=(\d+ upgradable\(s\)|.* .*) dynamic.1.postprocess= dynamic.1.rrd= dynamic.2.name=packages dynamic.2.source=/var/lib/rpimonitor/updatestatus.txt dynamic.2.regexp=^\s+(.*)\s+\d+ upgradable dynamic.2.postprocess= dynamic.2.rrd= web.status.1.content.1.name=Version web.status.1.content.1.icon=version.png web.status.1.content.1.line.1='Model: <b>' + data.model + '</b>' web.status.1.content.1.line.2='Processor: <b>' + data.processor + '</b>' web.status.1.content.1.line.3='Distribution: <b>'+ data.distribution + '</b>' web.status.1.content.1.line.4='Kernel version: <b>' + data.kernel_version + '</b>' web.status.1.content.1.line.5='Firmware: <b>' + data.firmware + '</b>' web.status.1.content.1.line.6='Package(s): <b>' + data.upgrade + '</b>' + ShowInfo('packages','Package(s) upgradable(s)',data.packages)
Las líneas siguientes a la ultima marcada, solo tienen modificadas el número de línea sumándole 1 (donde decía 1 puse 2, donde decía 2 puse 3, y así). Cuando termine los cambios, grabar con CTRL + X.
Finalmente se debe reiniciar el servicio con el comando siguiente, y al visitar la página del RPi se debe ver la imagen mostrada al principio del post.
$ sudo service rpimonitor restart