|
| 1 | +# Raspberry Pi NAS Software |
| 2 | + |
| 3 | +NAS (Network Attached Storage) basado en Rapsberry Pi con Open Media Vault impreso en 3D con HDD de 3,5" de Toshiba alimentado a 12V. |
| 4 | +Este diseño pretende reaprovechar los Discos Duros Externos de 3,5" USB para ser usados como NAS en una carcasa que integra todo lo necesario. |
| 5 | +Incorpora LEDs indicador de estado (LED verde) y de encendido (LED rojo), así como OLED para identificar la dirección IP, el espacio libre y los datos de consumo de RAM y CPU. |
| 6 | + |
| 7 | +[NAS_exterior](/Photos/NAS_exterior.jpg) |
| 8 | + |
| 9 | +[NAS exterior 2](/Photos/NAS_exterior_1.jpg) |
| 10 | + |
| 11 | +[NAS frontal](/Photos/NAS_frente.jpg) |
| 12 | + |
| 13 | +## Lista de Materiales (BOM) |
| 14 | + |
| 15 | +Para montar este sistema se precisa de lo siguiente: |
| 16 | + |
| 17 | +### Elementos mecánicos |
| 18 | + |
| 19 | +- 4 tornillos M3x15 |
| 20 | +- 12 tuercas M3. |
| 21 | +- 10 tornillos M3x6 (para interior) |
| 22 | +- 4 tornillos M2.5x6 (para RPi) |
| 23 | +- 8 tornillos M3x10 |
| 24 | +- 2 tornillos M4x15 |
| 25 | +- 2 insertos M4 |
| 26 | +- Piezas impresas en PLA. Puedes localizarse en la carpeta 3D Model o en [Thingiverse](https://www.thingiverse.com/thing:5462342) |
| 27 | +- Metacrilato de 3mm cortado para "cristal" de OLED. |
| 28 | + |
| 29 | +### Electrónica |
| 30 | + |
| 31 | +- Raspberry 3B+. |
| 32 | +- Ventilador para Rapsberry Pi. |
| 33 | +- Disco Duro 3,5" Toshiba o similar con placa de alimentación a 12V |
| 34 | +- 2 Interruptores 8x15mm |
| 35 | +- LED rojo |
| 36 | +- LED amarillo |
| 37 | +- 2 Resistencias 220 Ohm |
| 38 | +- Regulador DC/DC StepDown MP2307 o LM2596 |
| 39 | +- Fusible 2A (Opcional para proteger alimentación de Raspberry) |
| 40 | +- Placa para control del ventilador [PWNM](https://github.com/AugustoS97/RPi-accessories/tree/main/PWM-TRANSISTOR-PCB) de diseño propio (opcional). En caso de querer controlar mediante PWM es necesario un transistor 2N2222, un diodo 1N4007 y una Resistencia de 1KOhm. |
| 41 | +- Puede sustituirse la integración de los LEDs de estado, el fusible, el DC/DC y la placa para control PWM, empleando una [placa de expansión para RPi de diseño propio](https://github.com/AugustoS97/RPi-accessories/tree/main/LED-RPi-PCB). |
| 42 | + |
| 43 | +### Esquema para el control PWM del ventilador |
| 44 | + |
| 45 | + |
| 46 | + |
| 47 | +### Esquema para la Placa de expansión para RPi |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | +## Instalar Open Media Vault |
| 52 | + |
| 53 | + $ sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash $ |
| 54 | + |
| 55 | +## OLED STATISTIC |
| 56 | + |
| 57 | +Servicio del sistema que lanza un script en python para mostar en un display OLED LCD los siguientes datos: |
| 58 | + |
| 59 | +- Direccion IP |
| 60 | +- Ocupacion del disco principal |
| 61 | +- Consumo de RAM |
| 62 | +- Temperatura |
| 63 | +- Ocupacion del disco externo (en caso de emplearse como NAS). |
| 64 | + |
| 65 | +## Requerimientos para el uso del Display OLED I2C |
| 66 | + |
| 67 | +- Python3: |
| 68 | + |
| 69 | + $ sudo apt-get install python3-pip |
| 70 | + |
| 71 | + $ sudo pip3 install --upgrade setuptools |
| 72 | + |
| 73 | +- Raspi blinka: |
| 74 | + |
| 75 | + $ wget https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/raspi-blinka.py |
| 76 | + |
| 77 | + $ sudo python3 raspi-blinka.py |
| 78 | + |
| 79 | +- Adafruit python shell: |
| 80 | + |
| 81 | + $ sudo pip3 install --upgrade adafruit-python-shell |
| 82 | + |
| 83 | +- Adafruit SSD1306: |
| 84 | + |
| 85 | + $ pip3 install adafruit-circuitpython-ssd1306 |
| 86 | + |
| 87 | +- Python PIL: |
| 88 | + |
| 89 | + $ sudo apt-get install python3-pil |
| 90 | + |
| 91 | + |
| 92 | +## Carpeta con el contenido a copiar dentro de /home/pi |
| 93 | + |
| 94 | +- Debe copiarse la carpeta shutdwon-monitor para permitir apagar meidante el boton conectado al GPIO-17 (pin BCM número 11). |
| 95 | +- Debe copiarse la carpeta oled-statistic para ejecutar el script que muestra de forma continua la info en pantalla. |
| 96 | + |
| 97 | +## Configuracion con Cron |
| 98 | + |
| 99 | +- Abrir el configurador de cron con $ crontab -e $ |
| 100 | +- Escribir la configuracion con encendido retardado y volcado a un fichero de log: |
| 101 | + |
| 102 | + |
| 103 | + $ @reboot sleep 2; /usr/bin/python3 /home/pi/oled-statistic/oled-statistic.py >> /home/pi/oled-statistic/oled-statistic.log |
| 104 | + |
| 105 | + $ @reboot sleep 10; /usr/bin/python3 /home/pi/shutdown-monitor/shutdown-monitor.py >> /home/pi/shutdown-monitor/shutdown-monitor.log |
| 106 | +- Asegurarse de dar permiso de ejecucion a ambos scripts con |
| 107 | + $ chmod 777 nombre.py |
| 108 | + |
| 109 | +## Pines ocupados |
| 110 | + |
| 111 | +- Ventilador: GPIO 12 (PWM 3.3V). Se configura en el /boot/config.txt como |
| 112 | + |
| 113 | + $ dtoverlay=gpio-fan,gpiopin=12,temp=60000 |
| 114 | +- LED Amarillo (Estatus LED): GPIO26. Se configura en el /boot/config.txt como |
| 115 | + |
| 116 | + $ dtparam=act_led_gpio=26 |
| 117 | +- LED Rojo (Encendido LED): GPIO19 |
0 commit comments