🛠 Serveur web léger et partage de fichiers (NAS) sur bus USB partagé
Objetivos
Aprovechar el B+ como servidor discreto: sitio web estático o aplicación ligera con lighttpd, y compartición de archivos Samba, teniendo en cuenta la restricción arquitectónica del Model B+ — Ethernet y puertos USB conectados al mismo chip LAN9514 detrás de un único bus USB 2.0 de 480 Mbit/s. Es el servidor web el que libera el bus para el disco, y no al revés.
Material
- Raspberry Pi Model B+ (512 MB de RAM) con Raspberry Pi OS legacy de 32 bits
- microSD clase 10 para el sistema; disco o llave USB preferiblemente alimentados
- Cable Ethernet, sesión SSH abierta (tutorial de red)
Código completo
# Serveur web ultra-léger (pensé pour 512 Mo de RAM)
sudo apt install -y lighttpd
echo "<h1>Model B+ en ligne</h1>" | sudo tee /var/www/html/index.html
sudo systemctl enable --now lighttpd
# Partage d'un disque USB en Samba
sudo apt install -y samba
printf '[donnees]\n path = /mnt/usb\n browseable = yes\n writable = yes\n' | sudo tee -a /etc/samba/smb.conf
sudo mkdir -p /mnt/usb && sudo mount /dev/sda1 /mnt/usb
sudo smbpasswd -a pi && sudo systemctl restart smbd
# Mesurer la réalité du bus partagé (depuis un autre poste)
iperf3 -c 192.168.1.42 # plafond pratique ~10-15 Mo/s
lsusb -t # le LAN9514 porte Ethernet + tous les ports USB
Verificación esperada
Desde un navegador de la red local, http://192.168.1.42 muestra la página; el recurso compartido \\192.168.1.42\donnees se monta desde un PC. iperf3 confirma el techo realista de 10-15 MB/s: es el bus, no la red. lsusb -t muestra el hub LAN9514 por encima del único controlador USB.
Errores frecuentes
- Esperar velocidades «gigabit»: el Ethernet es 10/100 y de todas formas limitado por el bus USB 2.0 compartido con el disco — transferir y servir simultáneamente divide el ancho de banda.
- Instalar Apache + PHP completo: 512 MB de RAM, de los cuales una parte está ocupada por la GPU; lighttpd o nginx funcionan con unas pocas decenas de MB.
- Disco USB no alimentado: el B+ no proporciona suficiente corriente en sus puertos, el disco se desconecta y corrompe las escrituras.
- Samba expuesto a Internet: la imagen legacy ya no recibe parches; NAS = solo red local, o túnel SSH.
- Logs y bases de datos en la microSD: el desgaste mata las tarjetas; poner las escrituras intensivas en el disco USB.
Otros tutoriales para esta placa
- Allumer une LED depuis la GPIO 17 avec libgpiod
- Lire un bouton et afficher les appuis dans la console
- Premier script Python : faire clignoter la LED
- Variation d'intensité d'une LED avec le PWM matériel (GPIO18)
- Interroger un capteur I2C (BME280) sur le bus du 40 broches
- Mettre le B+ en réseau par Ethernet et piloter en SSH
Ejemplos de código para esta placa
led_blink.pyPythonbutton_led.pyPythonservo_sweep.pyPythondht_temp.pyPythonoled_i2c.pyPythonmcp3008_read.pyPython