/boot/config.txt
- antes de nada, cabe comprobar que la raspberry pi detecta el disco duro que se le ha conectado. hay, al menos, dos vías:
- lsusb muestra una lista de los dispositivos USB detectados:
lsusb
Bus 001 Device 005: ID 1058:1078 Western Digital Technologies, Inc.
este comando se instala mediante el paquete usbutils:
sudo apt show usbutils
This package contains the lsusb utility for inspecting the devices connected to the USB bus. It shows a graphical representation of the devices that are currently plugged in, showing the topology of the USB bus. It also displays information on each individual device on the bus.
- lsblk muestra información sobre los dispositivos de bloque (así como los discos duros):
lsblk
sda 8:0 0 931,5G 0 disk
en este caso, el tamaño indicado se corresponde con el del disco duro conectado a la raspberry pi.
- lsusb muestra una lista de los dispositivos USB detectados:
- una vez se ha comprobado que la raspberry pi reconoce el dispositivo en cuestión, hay que introducir la siguiente línea al final del /boot/config.txt:
# DISCO DURO EXTERNO
max_usb_current=1ésta se encarga de encender el GPIO38.
- luego, es necesario reinciar el sistema vía reboot.
- a continuación, para comprobar que se ha recogido la variable max_usb_current,
sudo vcgencmd get_config int | grep "max_usb_current"
max_usb_current=1
- y, para comprobar que ha funcionado,
sudo bash cd /sys/class/gpio echo 38 > /sys/class/gpio/export cat /sys/class/gpio/gpio38/value
que debe devolver 1.
raspi-gpio
- dado que esta otra herramienta permite la manipulación de GPIO,
sudo apt-get install raspi-gpio
This tool prints out one line per BCM270x GPIO pin giving the current value on the pin, and the function it is currently set to in the GPFSELx registers.
valdrá para la activación manual del GPIO38.
- antes, por eso, cabe comprobar cuál es el valor del GPIO38:
sudo raspi-gpio get 38
GPIO 38: level=0 fsel=1 func=OUTPUT
- y, mediante estotra instrucción, se activa el GPIO38:
sudo raspi-gpio set 38 dh
- esto último puede comprobarse, de nuevo, con get:
sudo raspi-gpio get 38
GPIO 38: level=1 fsel=1 func=OUTPUT
wiringpi
- esta herramienta es una librería para manipular el GPIO de la raspberry pi que se instala vía git:
git clone git://git.drogon.net/wiringPi ~/bin/wiringpi
luego, se accede al directorio de wiringpi:
cd ~/bin/wiringpi
y se construye la aplicación:
./build
esta acción requiere de make y gcc.
por último, si se quiere actualizar la versión,git pull origin
- una vez se ha instalado wiringpi,
gpio -v
gpio version: 2.31
Copyright (c) 2012-2015 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warrantyRaspberry Pi Details:
Type: Model B, Revision: 03, Memory: 512MB, Maker: Egoman
* Root or sudo required for GPIO access. - mediante readall, se obtiene el estado de todos los GPIO:
gpio readall
- en cuanto al GPIO38, basta read para conocer su estado:
gpio -g read 38
que debe devolver 1 si está encendido.
- si devuelve 0,
gpio -g write 38 0 gpio -g mode 38 out
y, para encenderlo,
gpio -g write 38 1
entonces,
gpio -g read 38
devolverá 1