Índice:

Um computador desktop Raspberry Pi PC-PSU com disco rígido, ventilador, PSU e botão liga / desliga: 6 etapas
Um computador desktop Raspberry Pi PC-PSU com disco rígido, ventilador, PSU e botão liga / desliga: 6 etapas

Vídeo: Um computador desktop Raspberry Pi PC-PSU com disco rígido, ventilador, PSU e botão liga / desliga: 6 etapas

Vídeo: Um computador desktop Raspberry Pi PC-PSU com disco rígido, ventilador, PSU e botão liga / desliga: 6 etapas
Vídeo: MKS Monster8 - Fans 2024, Setembro
Anonim
Um computador desktop Raspberry Pi PC-PSU com disco rígido, ventilador, PSU e botão liga-desliga
Um computador desktop Raspberry Pi PC-PSU com disco rígido, ventilador, PSU e botão liga-desliga
Um computador desktop Raspberry Pi PC-PSU com disco rígido, ventilador, PSU e botão liga-desliga
Um computador desktop Raspberry Pi PC-PSU com disco rígido, ventilador, PSU e botão liga-desliga
Um computador desktop Raspberry Pi PC-PSU com disco rígido, ventilador, PSU e botão liga-desliga
Um computador desktop Raspberry Pi PC-PSU com disco rígido, ventilador, PSU e botão liga-desliga
Um computador desktop Raspberry Pi PC-PSU com disco rígido, ventilador, PSU e botão liga-desliga
Um computador desktop Raspberry Pi PC-PSU com disco rígido, ventilador, PSU e botão liga-desliga

Setembro de 2020: Um segundo Raspberry Pi alojado dentro de uma caixa de fonte de alimentação de PC reaproveitada foi construída. Este usa uma ventoinha na parte superior - e a disposição dos componentes dentro do gabinete PC-PSU é, portanto, diferente. Um driver Adafruit SSD1306 modificado (para 64x48 pixels) ou Luma Oled para Python será usado para exibir a música ou informações de vídeo em um pequeno display OLED montado na frente do gabinete. Mais detalhes neste Github.

O chapéu de áudio i2s é o Wolfson WM8960 conforme discutido em dois dos meus repositórios Github. O display SSD1306 usa i2c para comunicação e, portanto, um cabo de fita de quatro fios é suficiente para conectá-lo ao conector Raspberry Pi GPIO (Pins SCL, SDA, 3V3 e GND).

Um driver python modificado para SSD1306 em sua versão de 64x48 pixels é usado após adaptar uma biblioteca Adafruit com base nos comentários de Mike Causer e comentários do driver Luma Oled.

Todo: Uma segunda linha persistente do display será usada para mostrar a tensão de alimentação de 5 volts do Raspberry Pi usando um ATtiny85 como ADC - comunicando-se via i2c com o Raspberry Pi ou um ADC SPI de 10 bits de canal duplo MCP3002. A temperatura da CPU do Raspberry Pi e o RPM da ventoinha do gabinete serão mostrados permanentemente na terceira linha do display. Ambas as linhas permanecerão ativadas por 1 a cada 5 segundos para evitar o burn-in de OLED.

Antes de 2018 e 2019: Cansei de conectar todos os periféricos ao meu Raspberry Pi 3 ou 4 sempre que queria usá-lo. Decidi que queria um computador Raspberry Pi permanentemente conectado a uma fonte de alimentação, disco rígido ou SSD para o sistema de arquivos raiz e dados, um grande ventilador que pode girar lenta e silenciosamente e um monitor e alto-falantes.

Além disso, não é uma boa ideia executar um Pi por um longo período de um cartão SD - eles têm um ciclo de gravação limitado (cerca de 10.000 vezes?) E, portanto, decidi investigar duas outras maneiras de inicializar o Pi.

As fotos mostram o case Pi completo conectado a um pequeno monitor, alto-falantes estéreo e um trackpad de teclado combo sem fio, e Hayley Westenra cantando Scarborough Fair usando a aceleração de hardware de vídeo do Rasbian e do omxplayer.

Mais recentemente, adquiri um Raspberry Pi 4 de 4 GB e substituí o Raspberry Pi 3 por ele no mesmo gabinete. Para obter mais detalhes, consulte a Seção 6.

Etapa 1: Lista de peças

Raspberry Pi 3

Módulo AC-DC PSU 12v 3A

Módulo PSU DC-DC Entrada 5 a 35v Saída 5v 3A

Módulo PSU DC-DC Entrada 5 a 35v Saída 1A e tensão variável (definida para cerca de 7v para uma velocidade do ventilador de 900 rpm)

Um interruptor de travamento de botão de pressão AC 250v

Três soquetes USB fêmea

Três plugues USB macho

Um mini plugue macho USB

Voltímetro de 3 dígitos azul

Caso PSU antigo

Unidade de disco rígido de tamanho adequado (2,5 )

Placa de circuito de HDD externo de 2,5"

Ventilador de computador de 12 volts

Fio de conexão etc.

Etapa 2: Construção e conexões

Construção e conexões
Construção e conexões
Construção e conexões
Construção e conexões
Construção e conexões
Construção e conexões

Um gabinete de PSU de computador antigo parecia ter um tamanho conveniente para abrigar o Pi, sua fonte de alimentação e um disco rígido externo USB. Não havia espaço suficiente na caixa da PSU para montar o disco rígido externo com a caixa - portanto, abri-a e mantive apenas a pequena placa de circuito instalada no disco rígido. Eu também adicionei um botão liga / desliga e soquetes USB na parte frontal e traseira, e havia espaço para uma grande ventoinha para manter tudo fresco, e providenciei a instalação de um chapéu DAC caso eu adquirisse um. Usei uma fonte de alimentação 12v 3A AC-DC como a fonte de alimentação principal e adicionei duas fontes menores ajustáveis de 5v e 7v para o ventilador, fonte de alimentação DC-DC.

A foto 1 mostra todos os componentes quando parcialmente montados na caixa da PSU. Fiz quatro cabos USB curtos para conectar as quatro portas USB Raspberry Pi ao disco rígido e os conectores USB do painel frontal e traseiro.

As fotos 2 e 4 mostram o caso Pi concluído conectado a um pequeno monitor, alto-falantes estéreo e um trackpad de teclado combo sem fio.

As fotos 5 a 10 mostram o caso concluído de vários ângulos.

Se você olhar para a foto 10 com atenção, verá que conectei dois fios (marrom e branco) diretamente aos pinos GPIO do Raspberry Pi. Neste caso, o Pi 3 é alimentado diretamente por meio de seus pinos GPIO 2 ou 4 são + 5v, pino 6 (e outros) para aterramento - mas observe que você deve verificar três vezes se não está fornecendo mais do que cerca de 5,2 volts a esses pinos pois ao fazer isso você está contornando a proteção polifusível. Usei os pinos 2 para + 5v e o pino próximo a ele para aterramento. Como estou fornecendo o Pi por meio de duas fontes de alimentação reguladas - primeiro 12v e depois 5.1v, estou satisfeito com a conexão direta de alimentação.

Eu estava preocupado que a caixa de metal bloquearia a capacidade do Raspberry Pi 3 de se conectar ao meu roteador Wi-Fi - no final, fiz dois orifícios de 2 cm no painel lateral ao lado da placa de Pi, resultando no número de barras o indicador Wi-Fi no Raspbian permaneceu o mesmo se o caso estava fechado ou aberto.

Detalhes de conexão:

Conecte a alimentação CA ao Módulo 12v 3A CA-CC por meio do botão Liga / Desliga. Conecte a saída de 12v deste módulo ao módulo DC-DC 5v 3A que alimentará o Raspberry Pi (se for ajustável, defina primeiro para cerca de 5,1 volts - meça) e ao módulo ajustável DC-DC menor que alimentará o ventilador. Conecte a saída de 5v do módulo 5v DC-DC aos pinos 4 (+ 5v) e 6 (aterramento) do Rapsberry Pi GPIO. Conecte a saída do módulo DC-DC menor ao ventilador de 12 V e ajuste sua saída para que o ventilador gire silenciosamente. Conecte o aterramento do módulo 5v 3A DC-DC ao gabinete da PSU do PC. Conecte o aterramento e 5v do módulo 5v DC-DC ao display do voltímetro de 3 dígitos no painel frontal.

Conecte duas das portas Raspberry PI USB aos soquetes USB traseiros usando os dois plugues USB machos, fiação de 4 núcleos e os dois soquetes USB fêmeas montados na parte traseira. Conecte uma das portas Raspberry PI USB ao soquete USB frontal usando um plugue USB macho, fiação de 4 núcleos e um soquete fêmea USB montado na frente.

Conecte o disco rígido a uma das portas Raspberry PI USB por meio de um USB plus macho e outro conector mini USB macho.

Etapa 3: configuração de inicialização do disco rígido

Configuração de inicialização do disco rígido
Configuração de inicialização do disco rígido
Configuração de inicialização do disco rígido
Configuração de inicialização do disco rígido

Não é uma boa ideia executar um Pi por um longo período de um cartão SD - eles têm um ciclo de gravação limitado (cerca de 10.000 vezes?) E, portanto, decidi investigar duas outras maneiras de inicializar o Pi:

(1) Colocar a partição de boot e root mais o usuário em um disco rígido

(2) Deixar a pequena partição de boot Dos de 50 MB no cartão SD (é somente leitura durante a inicialização) e mover o sistema de arquivos raiz e os dados do usuário para um disco rígido.

Foi muito fácil fazer o Pi inicializar a partir do disco rígido - copiei o mais recente Raspian Stretch para um cartão SD usando o utilitário Win32DiskImager. Eu também usei uma segunda vez para copiar a mesma imagem para uma unidade de notebook Toshiba 2,5 de 1 GB, então configurei o fusível de inicialização do Pi conforme descrito no link fornecido no final (você adiciona a linha program_usb_boot_mode = 1 para / boot / config.txt e reinicie o Pi), removeu o cartão SD e o Pi foi inicializado a partir do disco rígido e começou a redimensionar suas partições.

Para ativar o modo de inicialização USB, faça o seguinte:

echo program_usb_boot_mode = 1 | sudo tee -a /boot/config.txt

Isso adiciona program_usb_boot_mode = 1 ao final de /boot/config.txt. Reinicie o Raspberry Pi. Verifique se o OTP foi programado com:

vcgencmd otp_dump | grep 17:

Certifique-se de que a saída 17: 0x3020000a seja exibida, o que significa que o fusível OTP foi programado com sucesso.

Você também pode adicionar a linha program_usb_boot_mode de config.txt ao editor nano usando o comando sudo nano /boot/config.txt.

No entanto, houve um problema durante o desligamento ao fazer desta forma, porque eu tive que fornecer energia extra para o disco rígido através de um segundo conector USB, o disco continuou funcionando após o Pi desligar e, portanto, tive que desligar o disco rígido disco, desligando-o através do botão liga / desliga no painel frontal. O que eu queria era que o Pi "estacionasse" o disco rígido durante o desligamento. Se eu removesse a conexão da fonte de alimentação extra, o Pi se recusava a inicializar a partir do disco rígido.

Existem dois arquivos de configuração de texto (config.txt e cmdline.txt), na pasta de inicialização da partição de inicialização do Dos, que podem ser editados na tentativa de fornecer energia extra ao disco rígido durante a inicialização ou esperar mais pelo disco para começar a girar.

Adicione: rootdelay = 5 e program_usb_timeout = 1 e max_usb_current = 1 à longa lista no arquivo /boot/config.txt. (A opção rootdelay pode estar obsoleta).

Adicione: boot_delay = 32 e novamente rootdelay = 5 à linha em /boot/cmdline.txt deve fazer o kernel esperar pelo dispositivo root antes de continuar a seqüência de inicialização. (Adicionar rootwait em vez de rootdelay significa que ele aguardará indefinidamente.)

Depois de tentar todas as várias combinações de cartão SD e partições de disco rígido, decidi manter a pequena partição de boot dos no cartão SD e mover a raiz e os arquivos do usuário para o disco rígido. O procedimento para fazer isso é bastante longo e é descrito no link no final.

A foto 11 é um screendump do resultado de df -h no meu Pi e mostra que / dev / sda1 é o sistema de arquivos raiz, / dev / sda2 tem meus dados de usuário e a partição de inicialização permaneceu no cartão SD.

Em vez disso, sugiro que você tente primeiro inicializar tudo a partir do disco rígido, pois isso envolve apenas a criação de duas imagens - uma no cartão SD, uma no disco rígido e, em seguida, defina o fusível de opção de inicialização do Pi. Observe que o Pi ainda será capaz de inicializar a partir de um cartão SD se o fusível tiver sido colocado - a única diferença é que agora ele tenta inicializar primeiro a partir do drive de disco USB. Se você não conseguir inicializar a partir do hdd, inicialize a partir do cartão SD, conecte e monte o hdd, edite os dois arquivos de configuração conforme descrito anteriormente na partição de inicialização do hdd e tente inicializar novamente.

Etapa 4: Fonte

Como inicializar seu Raspberry Pi 3 a partir de um disco rígido USB

Por que não é bom apenas desligar um disco rígido

Configurações de atraso de inicialização

Mova seu sistema Raspberry Pi para USB em 10 etapas

Mova o sistema de arquivos para uma unidade USB

Inicialize o Raspberry Pi de USB

Etapa 5: mantenha a partição do DOS Boot no cartão SD e mova a raiz e os arquivos do usuário para um disco rígido

Com a nova configuração do June Rasbian Stretch na primeira rotina de inicialização, ele causa uma mensagem de bloqueio da unidade raiz após o rootfs ter sido copiado para o hdd / dev / sda1

Para evitar isso, faça o seguinte:

1. Faça um cartão SD com a imagem Stretch de 29 de junho de 2018 e inicialize Pi - diga CANCELAR quando o novo procedimento de configuração for exibido. Agora pode personalizar a área de trabalho e a página inicial e adicionar conexão wi-fi, adicionar medidor de temperatura, editor de arquivo de texto à barra de tarefas, etc. Não conecte o disco rígido ainda.

2. Altere config.txt sudo nano /boot/config.txt (pressione Ctr-O para salvar e Ctr-X para sair) adicionando na parte inferior: program_usb_timeout = 1 max_usb_current = 1

Se um DAC for usado, também: Remova o driver para o som onboard: Remova a linha dtparam = audio = on de /boot/config.txt se existir (pode apenas adicionar # na frente) Também em /boot/config.txt e adicione a seguinte linha: dtoverlay = hifiberry-dacplus

3. Desligue, conecte o disco rígido e inicialize - é melhor fazer uma partição NTFS de 100 GB na frente e deixar o resto sem alocação usando um PC com Windows.

4. Faça uma partição ext4 de 100 GB e copie o rootfs para ela, e altere fstab no hdd e cmdline.txt na partição de inicialização do sdcard: sudo apt-get update && sudo apt-get install rsync gdisk sudo apt-get install ntfs- 3g sudo apt-get install exfat-fuse exfat-utils sudo gdisk / dev / sda

Digite n para criar uma nova partição e selecione o número 1. Selecione o setor inicial pressionando Return e selecione + 100G para o tamanho. Agora selecione o sistema de arquivos padrão ('sistema de arquivos Linux') pressionando Enter novamente.

Comando (? Para obter ajuda): n Número da partição (1-128, padrão 1): 1 Primeiro setor (34-61489118, padrão = 64) ou {+ -} tamanho {KMGTP}: Último setor (64-61489118, padrão = 61489118) ou {+ -} tamanho {KMGTP}: + 100G O tipo atual é 'sistema de arquivos Linux' Código hexadecimal ou GUID (L para mostrar códigos, Enter = 8300): Tipo de partição alterado para 'sistema de arquivos Linux'.

Pressione w para escrever para torná-lo permanente. sudo mke2fs -t ext4 -L rootfs / dev / sda1 sudo mount / dev / sda1 / mnt df -h sudo rsync -axv / / mnt sudo cp /boot/cmdline.txt /boot/cmdline.sd sudo nano / boot / cmdline.txt Altere root = **** para root = / dev / sda1

sudo nano / mnt / etc / fstab Altere os padrões de / dev / mmcblk0p2 / ext4, padrões noatime 0 1 para / dev / sda1 / ext4 padrões, noatime 0 1 reinicialização sudo

5. Depois de reiniciar, verifique novamente com df -h se / dev / sda1 agora está listado como a raiz / Você pode então fazer a configuração inicial do Raspberry Pi que foi ignorada no início usando a ferramenta de configuração do Raspberry Pi no menu Configurações: Alterar Senha, definir local, país WiFi, teclado, fuso horário - você precisará reiniciar

6. Depois de reiniciar, verifique novamente com df -h Você pode então fazer atualizações: sudo apt-get update sudo apt-get upgrade -y sudo apt-get dist-upgrade -y sudo apt-get autoremove

Se houver problemas com pacotes ausentes, tente executar novamente os 2 primeiros comandos e também tente sudo apt-get update --fix-missing ou sudo apt-get dist-upgrade --fix-missing

Reinicialize - talvez você precise personalizar a área de trabalho novamente. Instale software adicional (eu uso mc, smartctl e audacious), usando o gerenciador de software. Personalize a página inicial e a pesquisa do navegador.

7. Desligue e conecte o disco rígido a um PC com Windows. Faça uma partição NTFS no segundo espaço não alocado e copie músicas, vídeos, etc. para essa partição NTFS

8. Conecte o disco rígido de volta ao Raspberry Pi e ligue-o. Em seguida, faça: sudo mkdir / mnt / data sudo chown pi: pi / mnt / data sudo nano / mnt / etc / fstab Adicione: / dev / sda2 / mnt / data ntfs-3g rw, padrão 0 0

sudo mount -a sudo chown pi: pi / mnt / data df -h Verifique se sda2 mostra corretamente.

9. Se um DAC usado, crie um novo asound.conf em etc / (nano /etc/alsa.conf com as seguintes linhas:

pcm.! default {type hw card 0}

ctl.! default {type hw card 0}

10. Reinicie e adicione DSP e som analógico à configuração de som na configuração Raspberry Pi Certifique-se de que o clique do volume principal no alto-falante no painel não seja 100% Abra um console na pasta sda2 com o vídeo e:

Se DAC Tocar com omxplayer: omxplayer -o alsa "File Name.mp4" Em Pi normal com áudio BCM apenas abra o terminal na pasta Music e omxplayer name.mp4

Etapa 6: Raspberry Pi 4 4 GB

Raspberry Pi 4 4 GB
Raspberry Pi 4 4 GB
Raspberry Pi 4 4 GB
Raspberry Pi 4 4 GB
Raspberry Pi 4 4 GB
Raspberry Pi 4 4 GB

Comprei um Raspberry Pi 4 4 GB e substituí o Raspberry Pi 3 por ele no mesmo gabinete. A temperatura fica entre 40 e 50 graus Celsius mesmo sob condições de carga pesada da CPU. Também adquiri dois conversores USB 3 HDD / SSD para SATA diferentes e substituí a versão USB 2 para fins de teste.

Em primeiro lugar testei o Raspberry Pi 4 com uma placa de circuito externo Orico USB 3 e funcionou bem - para remover a placa de circuito, solte a placa de alumínio da parte superior e então você pode remover a placa de circuito depois de desapertar dois pequenos parafusos. Um cabo de conexão de 10 cm de comprimento é enrolado uma vez sob o disco rígido dentro da caixa da PSU, o que o mantém fora do caminho. Para obter mais detalhes, consulte:

www.orico.co.za/product/orico-usb3-0-2-5-enclosure-blue/

Em segundo lugar, testei um conversor USB3 para SATA aberto com 5 cm de comprimento (veja a imagem), que também funcionou bem, mas o cabo mais curto era muito rígido para forçá-lo completamente dentro do gabinete do PSU.

Usar uma interface USB 3 resultou em inicialização e tempos de resposta mais rápidos (como ao abrir o navegador Chromium ou o LibreOffice Writer, mas não foi muito mais rápido. Além disso, o Raspberry Pi 3 e 4 fornecem um máximo de 1,2 A distribuído por todos os 4 Portas USB 2 e USB 3, que é menor que o padrão USB 3. Portanto, removerei a conexão de alimentação na interface USB frontal e a conectarei a um segundo módulo de fonte de alimentação variável de 5 V idêntico. Isso me permitirá executar outro HDD a partir de a interface USB frontal.

Recomendado: