O que é o Raspberry Pi Compute Module 4 (CM4)?

Se é novo na série de microcomputadores Raspberry Pi, pode estar a pensar se o módulo 4 (CM4) Raspberry Pi Compute Module 4 (CM4) se adequa ao seu caso de utilização.

O que é a Raspberry Pi CM4?

O Raspberry Pi Compute Module 4 é muito parecido com o Raspberry Pi 4.

Ao contrário do Pi 4, o CM4 destina-se realmente a servir de base para a construção de aplicações incorporadas. Pode-se pensar nisto como a coragem do Raspberry Pi 4 sem quaisquer características desnecessárias.

Se quiser construir um protótipo rapidamente, pode utilizar a placa IO Raspberry Pi CM4, que expõe todas as interfaces disponíveis na Raspberry Pi CM4, incluindo um slot PCI Express Gen 2, que não vai obter na Raspberry Pi 4.

Em última análise, o objectivo de um CM4 é incorporá-lo em projectos tão simples como a sinalização digital para desktops remotos (thin clients), automação e robots.

Os utilizadores industriais são um dos maiores mercados alvo para o CM4, no entanto, mesmo as pequenas empresas e os utilizadores domésticos podem beneficiar com isso.

Raspberry Pi 4 vs Compute Module 4

Raspberry Pi 4, Compute Module 4 e IO Board oficial (de cima para baixo)

A chave para isto é a personalizabilidade.

Sabe como algumas pessoas gostam dos Macs porque eles apenas funcionam? Não se pode personalizá-lo muito, mas terá a confiança de que funcionará. Por outro lado, outros gostam de construir o seu próprio PC com peças de diferentes fabricantes.

A analogia explica a diferença entre o Pi 4 vs CM4.

Quando compra um Raspberry Pi 4, fica preso a ter 4x USB 3.0, portas ethernet, conectores CSI e USB-C para alimentação entre muitos outros aspectos que são predefinidos pelo Pi 4. No entanto, esta combinação funciona na perfeição.

Com o Módulo Compute 4, pode comprar uma placa portadora que lhe permite alimentá-la usando diferentes métodos, tais como um conector de barril ou um conector USB-C, dependendo do que comprar. Em algumas situações, o USB-C no Pi 4 pode não o cortar - por exemplo, se tiver uma configuração de alta performance.

Uma grande diferença com o Raspberry Pi 4 é a capacidade de comprar uma placa portadora que expõe o slot PCIe que abre muito mais personalizabilidade.

Em termos de armazenamento, enquanto o CM4 já tem eMMC na maioria das placas, que é muito mais fiável do que o cartão microSD no Pi 4, pode levar isto mais longe adicionando um SSD com a ajuda de uma placa portadora adequada.

Porque é que a indústria adora tanto o Pi CM4?

No final, resume-se à personalização.

Voltemos ao argumento de que o CM4 e o Pi 4 são ambos muito semelhantes.

Então porque é que o CM4 triunfa sobre o regular Pi 4?

Para um, o seu pacote de portos e características é realmente destinado a uso doméstico. Por exemplo, se utilizar o Pi 4 para gerir um sistema de rega de plantas em casa, e o cartão microSD falhar... bem, isso é apenas uma planta a menos.

Por outro lado, os clientes industriais poderiam estar a gerir um componente crítico numa central eléctrica. Não se pode simplesmente fazer funcionar uma central eléctrica a partir de um microSD. De facto, é aqui que o CM4 entra mais forte devido à sua capacidade para os utilizadores industriais construírem as suas próprias placas com redundâncias de armazenamento, uma maior tolerância ao calor, opções de montagem industrial padrão, beneficiando ao mesmo tempo da baixa potência e do tamanho reduzido do CM4.

As certificações são geralmente uma das maiores despesas de obter a aprovação de um sistema para utilização, e essa é uma das razões pelas quais a personalização do CM4 torna as coisas muito atractivas para os utilizadores industriais.

E talvez outra pequena razão seja a comunidade que o CM4 tem sobre os seus concorrentes. A comunidade Raspberry Pi trabalha em conjunto para manter diferentes aspectos de software do núcleo a funcionar de modo a que todos na comunidade industrial possam beneficiar.

Contrastando com os seus concorrentes de placa única, onde foi necessário muito mais esforço para conseguir algo para trabalhar naquele computador de placa única específico. Com o Raspberry Pi CM4, há apoio comunitário e continuidade.

Especificações do Raspberry Pi CM4

Destaques de Raspberry Pi:

  • Broadcom BCM2711 quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
  • H.265 (HEVC) (até 4Kp60 descodificação), H.264 (até 1080p60 descodificação, 1080p30 descodificação) 
  • OpenGL ES 3.1, Vulkan 1.0
  • Opções para 1GB, 2GB, 4GB ou 8GB LPDDR4-3200 SDRAM (dependendo da variante)
  • Opções para 0GB ("Lite"), 8GB, 16GB ou 32GB de memória Flash eMMC (dependendo da variante)
  • Opção para módulo de rádio totalmente certificado:
    2,4 GHz, 5,0 GHz IEEE 802,11 b/g/n/ac sem fios;
    Bluetooth 5.0, BLE;
    Interruptor electrónico a bordo para seleccionar antena externa ou de traço PCB.

32 variantes do Módulo de Cálculo 4

O Raspberry Pi CM4 tem 32 variantes que variam em RAM, opção WLAN e capacidade de armazenamento.

Imagem tirada do dossier de produto Raspberry Pi CM4.

De facto, pode ver o combinações disponíveis e preços correspondentes (em Euros) na nossa loja.

O Raspberry Pi CM4 é um substituto para o Pi normal?

Para uso geral, será melhor usar um Raspberry Pi 4 regular.

Pode absolutamente fazer as mesmas coisas com o Raspberry Pi CM4 mais a placa CM4IO que lhe dá conectores como HDMI, ethernet, USB, pinos GPIO e muitos outros conectores que encontrará no Raspberry Pi.

No entanto, muitas coisas são mais fáceis no Raspberry Pi 4 em comparação com o quadro CM4 mais IO:

Raspberry Pi CM4Framboesa Pi 4
Energia Conector de barril 5,5×2,1mm ou conector BergUSB-C
Voltagens5V, 12V ou 7,5V a 26V (tensões diferentes permitem características diferentes)5V via USB-C
TamanhoMaior com placa IOMais pequeno
MemóriaeMMC ou cartão SD (com versão Lite)Cartão SD por defeito

Dito isto, existem outras placas portadoras que são mais adequadas para fazer do CM4 um computador de secretária.

De facto, é aqui que brilha o CM4. Pode ligá-lo a diferentes placas, dependendo das portas e características de que necessita.

Adaptador Raspberry Pi CM4 a PI4B. Foto de AliExpress.

Por exemplo, o Adaptador Raspberry Pi CM4 a PI4B encontrado no AliExpress pode converter o seu CM4 num Raspberry Pi 4 com a dupla micro-HDMI, 4x USB 3.0, GPIO, CSI e ethernet.

Chipsee AIO-CM4-15 substituição do ambiente de trabalho. Foto de Chipsee.

O Chipsee AIO-CM4-156 leva-o um passo à frente. A adição chave aqui é o slot NVMe SSD, que é ainda melhor como solução de armazenamento do que o eMMC no Módulo de Cálculo 4. Depois há as portas padrão que se esperaria de uma área de trabalho: Portas USB, porta USB-C OTG, saída HDMI, porta ethernet, slot microSD, saída de áudio e GPIO.

Alimentação do Raspberry Pi CM4 (com IO Board)

A alimentação do CM4 é um pouco diferente de todos os outros Raspberry Pis.

No Raspberry Pi Zero, Pico e Pi 4, alimentá-los-ia através da entrada microUSB ou USB-C.

No Conselho CM4 IO, tem um monte de escolhas quanto à forma como gostaria de dar poder ao conselho.

Conectores para alimentar o Módulo de Cálculo 4

Primeiro, vamos falar de conectores.

Na placa IO Raspberry Pi CM4, há dois conectores marcados como J19 e J20. Vamos falar sobre eles separadamente.

Entrada principal da PSU: Conector J19 barril

Pode ligar a placa Pi IO Raspberry a uma fonte de alimentação através do conector do barril.

Aceita um conector de 5,5×2,1mm de ponta de barril DC. Estes conectores são muito utilizados em routers, computadores portáteis, carregadores e muitos equipamentos electrónicos.

Deve fornecer 12V, a menos que não esteja a planear utilizar o slot PCIe, conector externo da PSU, nem um ventilador de 12V, caso em que pode alimentá-lo com 7,5V a 28V. Aqui está o texto exacto da folha de dados Raspberry Pi CM4,

"A entrada +12V alimenta directamente o slot PCIe +12V, o conector externo da PSU e o conector do ventilador. Se estes não estiverem a ser utilizados, é possível uma alimentação de entrada mais ampla (+7,5V a +28V)".

J20 "Berg" conector

conector de alimentação de framboesa pi cm4 j20

J20 usa o conector "Berg", número de peça AMP/TE Connectivity 171822-4 ou similar. Também os pode encontrar a partir de antigos materiais informáticos que têm uma fonte de alimentação de disquetes.

Conector Berg (captura de ecrã da Wikipedia, domínio público)

J20 serve dois propósitos. Comecemos pela forma como pode alimentar o seu CM4 com este conector.

Terá de fornecer 12V através do fio amarelo. Não forneça 5V de energia ao vermelho.

Pino de conector Berg. Captura de ecrã da Wikipedia (CC-BY-SA)

A outra utilização para o J20 é actuar como fonte de alimentação para periféricos PCIe. Como indicado na ficha de dados CM4,

"Com um fornecimento de +12V através do conector de barril DC, o conector externo da PSU (J20 com +5V e +12V) é ideal para ligar a placas PCIe que requerem uma PSU externa. Deve-se assegurar que as PSUs não estejam sobrecarregadas".

Quanta corrente?

Raspberry Pi não tem uma fonte de alimentação recomendada para a placa CM4 e IO.

Sugerem-lhe um orçamento de 9W (a 12V) para o CM4 e depois adicionar algum espaço de manobra para periféricos ligados ao CM4.

Inserção da CM4 no quadro da IO

framboesa pi cm4 direcção io tábua
É assim que se insere o Raspberry Pi CM4 na placa IO

A fim de inserir o seu Raspberry Pi CM4 na placa IO, terá de estar na direcção certa.

A imagem acima mostra como o Raspberry Pi CM4 entraria no quadro da IO.

A chave é tomar nota de que o logótipo Raspberry Pi deve estar mais longe da placa PCIe. Por outras palavras, a porta UFL (antena externa sem fios) deve estar mais próxima da PCIe.

Pressione para baixo no Módulo de Cálculo e deverá ouvir dois cliques indicando que ambos os carris foram colocados.

framboesa pi cm4 inserida na tábua io

Observar o perfil do quadro CM4 e IO e assegurar-se de que são paralelos um ao outro. Se não forem, isso indica que um dos carris não foi pressionado correctamente.

Escrever um SO para o CM4 com quadro IO

A placa IO tem uma ranhura para cartões SD... mas a única vez que utilizará esta ranhura para cartões SD é se comprou um CM4Lite sem armazenamento integrado de eMMC.

Se tiver a versão Lite, é tão fácil como flashar um cartão microSD como faria com um Raspberry Pi normal.

No entanto, poderá ter a versão não-Lite que requer mais alguns passos antes de poder montar o armazenamento do eMMC.

Vai precisar:

  • Jumper para abreviar J2
  • Cabo MicroUSB para ligar ao seu PC
  • Fonte de alimentação

Desactivar o eMMC boot

Se tiver um eMMC, precisa de desactivar o boot eMMC para que possa montar o CM4 como um disco amovível. Para isso, adicione um jumper na primeira coluna de J2. J2 está localizado entre o CM4 e os pontos de fixação da câmara/do cabo do eMMC.

Fios de saltos fêmea a fêmea

Pode usar um fio de salta de fêmea para fêmea disponível em muitos kits de iniciação ou pode comprar um "saltador de curta distância" apenas para este fim.

Obter rpiboot

Quando se pisca um cartão SD, é super fácil. Insere-o no seu computador e está feito.

No entanto, já que estamos a falar das versões eMMC dos CM4s, precisará de rpiboot, o que permite que o seu CM4 seja lido como uma unidade amovível.

O Github repo para rpiboot está aqui.

Montagem de CM4 no Windows

Se tem Windows, vá em frente e faça aqui o download do rpiboot release.

Depois, extrair o ficheiro ZIP e ir para o directório win32, e correr rpiboot_setup.exe.

O Windows Defender pode aparecer a dizer-lhe que o software com carregamento lateral pode ser perigoso. Basta contornar o aviso.

Se a sua alimentação CM4 e microUSB (J11) não estiver ligada, faça-o agora, e ligue o USB ao seu PC.

Poderá ter mais sucesso a gerir o rpiboot como administrador. O meu estava bem sem privilégios de administrador.

Executar rpiboot. Após o instalador, deverá ser possível encontrá-lo no seu menu inicial.

Deixem-no percorrer os seus passos onde verão isto:

À espera de BCM2835/6/6/7/2711...
Carregamento incorporado: bootcode4.bin
Envio de bootcode.bin
4 bytes lidos com sucesso
À espera de BCM2835/6/6/7/2711...
Carregamento incorporado: bootcode4.bin
Servidor de arranque da segunda fase
Carregamento incorporado: start4.elf
Leitura do ficheiro: start4.elf
Segunda fase de boot server feito

Auto-morte-se e deverá ver o volume do CM4 a aparecer.

Raspberry Pi Imager com CM4 montado com sucesso

Eis como se parece em Raspberry Pi Imager.

Flash à distância, pessoal!

Montagem de CM4 no Linux

As instruções sobre o repo do rpiboot Github explicam-no claramente. Executar:

sudo apt install git libusb-1.0-0-dev pkg-config
clone de git --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
fazer
sudo ./rpiboot

Raspberry Pi sugere que é necessário certificar-se de que a data do sistema está definida correctamente ou Git pode lançar um erro.

CM4 em macOS

Num macOS, os passos são os mesmos. De acordo com a repo de Github, aqui estão os degraus,

clone de git --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
instalar libusb
instalar pkg-config
fazer
sudo ./rpiboot
inicialização de framboesa pi cm4
Botas!

Projectos Raspberry Pi CM4

O Raspberry Pi CM4 fornece os cérebros para um projecto e as pessoas utilizaram-no para fins de lazer e trabalho. Aqui estão alguns projectos.

Jogos: CM4 de mão

Isto faz-me lembrar o Pi 400, mas em formato de consola de jogos portátil.

O aparelho de mão Raspberry Pi CM4 vem de Daniel Juckett que lhe deu o apelido de "Aegis".

Neste portátil, Daniel demonstrou que se podem jogar jogos como Deus Ex: Mankind Divided e Doom 2016 com Moonlight via Retropie. Também pode navegar na Internet e ver vídeos do YouTube.

Aegis é um projecto de código aberto e pode ver o Github aqui.

Usando o CM4, Daniel conseguiu personalizar a disposição dos portos (contra um Pi 4 com uma disposição fixa do porto). Para o ecrã, ele utilizou o ecrã oficial Raspberry Pi 7″. Para os controladores, utilizou os botões e joysticks do Wii U. E finalmente, também utilizou altifalantes e motores de rumble.

Computação pessoal: PiTray mini

Se gosta do Raspberry Pi 4 mas prefere ter um sistema mais utilizável, então pode considerar a utilização do PiTray mini, concebido por Shengyuan Fang, Weihong Guan e vendido por Sourcekit.

O tamanho do quadro é semelhante ao do Raspberry Pi 4, mas não é um substituto 1:1 para o Pi 4.

PiTray Mini, foto tirada de sourcekit.cc

Como pode ver, existe o bom velho GPIO, ethernet e ranhura microSD, mas só se obtém uma única porta USB e uma porta HDMI padrão (em oposição a 4 portas USB e 2 microHDMI no Pi 4). Também não obtém o DSI, CSI, ficha de áudio ou hubs USB 3.0.

Alguns casos de utilização para isto são para a construção de clusters e para explorar as vantagens do eMMC do CM4 sobre o cartão SD do Pi 4 para maior estabilidade e velocidade.

O PiTray é uma solução orientada para o orçamento, em comparação com a administração oficial da OI, uma vez que é muito mais barato.

Servidor auto-hospedado: Turing Pi 2

Um aglomerado de Raspberry Pi CM4s anexado a um Turing Pi 2 (foto do comunicado de imprensa de lançamento do Turing Pi 2)

O Turing Pi 2 é uma solução simples para pessoas que querem alojar os seus próprios servidores e executar serviços tais como um assistente doméstico, media streaming, servidores de jogos, VPNs, servidor IoT, e muito mais.

Usando o Raspberry Pi CM4, pode escalar para cima ou para baixo, dependendo da carga do seu servidor. Isto tem a vantagem de assegurar que o seu servidor está tão equipado quanto necessita para desempenhar as suas tarefas, ao mesmo tempo que assegura que não está sobrecarregado.

O Turing Pi 2 tem um factor de forma mini ITX e pode levar placas CM4s e Jetson Nanos (foto do comunicado de imprensa de lançamento do Turing Pi 2)

O que posso fazer com a ranhura PCIe?

Teoricamente, é possível instalar qualquer placa que utilize PCIe.

Isto inclui cartões gráficos, cartões de armazenamento via M.2, NVMe ou SATA, cartões WiFi, cartões USB, e muitos mais.

O factor limitativo é a compatibilidade com o CM4, OS e a disponibilidade do condutor.

Por exemplo, as placas gráficas são geralmente mais difíceis de executar no IO Board do que algo mais simples como uma placa USB. A primeira necessita quase sempre de um condutor e a funcionalidade não é garantida, enquanto que a segunda não necessita de nenhum condutor e obtém-se uma funcionalidade completa.

Uma lista de placas gráficas compatíveis compilada por Jeff Geerling.

Uma lista completa foi compilada por Jeff Geerling, disponível aqui. Este website lista as seguintes categorias de placas PCIe:

  • GPUs (Cartas Gráficas)
  • Cartões USB
  • Adaptadores M.2 e NVMe
  • Cartões de rede (DNIs) e adaptadores WiFi
  • Cartões multimédia (A/V) e de som
  • Cartões SATA e armazenamento
  • Interruptores e adaptadores PCIe
  • Outros Cartões (FireWire, cartão de ponto, etc.)

Quadros alternativos ao quadro oficial da IO

Uma lista de placas transportadoras alternativas compilada por Jeff Geerling.

Existem muitas placas de transportadoras por aí que proporcionam diferentes portos e funções à Direcção da IO.

Pode encontrar um compilação de placas portadoras que podem ser melhores para o seu caso de utilização aqui.

Galeria CM4 e IO Board

framboesa pi cm4 com mmc
Placa Raspberry Pi CM4, 32GB eMMC, sem fios
conector de antena uFL (em cima à direita, junto ao orifício de montagem)
framboesa pi cm4 com antena WiFi
Raspberry Pi CM4 com antena WiFi
Raspberry Pi CM4 Broadcom SoC
Raspberry Pi CM4 Broadcom SoC (centro)
Parte inferior da Framboesa Pi CM4
Parte inferior da Framboesa Pi CM4

Conselho oficial do IO

Conectores Raspberry Pi CM4 CSI
Conectores DSI/CSI Raspberry Pi CM4 para ecrãs e câmaras
Traseira de Framboesa Pi CM4 IO
Traseira de Framboesa Pi CM4 IO
Bateria de relógio em tempo real Raspberry Pi CM4 IO Board
Suporte de bateria de relógio em tempo real Raspberry Pi CM4 IO Board
Alfinetes de Framboesa Pi CM4 IO Board GPIO
Alfinetes de Framboesa Pi CM4 IO Board GPIO
Perfil do conselho de IO da Raspberry Pi CM4
Perfil da placa IO Raspberry Pi CM4 com 2x HDMI, ethernet, USB, microUSB, ranhura para cartão SD e conector de alimentação

Onde posso comprar um CM4?

Pode comprar placas CM4 no nosso site irmão, buyzero.de.

Utilizadores industriais: Encomendas e soluções CM4 a granel

Se é um utilizador industrial do CM4 e necessita de soluções de software e hardware, deve contacte-nos para encomendas a granel e aconselhamento.

Podemos conceber soluções personalizadas de software e hardware em torno do CM4.

Nesta era de escassez, atribuímos sempre uma parte do nosso stock CM4 para fins de concepção e investigação.

2 comentários

  1. Farah Bouali em Agosto 12, 2022 às 9:59 am

    Hi
    Espero que estejas a ir bem!
    O meu nome é Farah Bouali e completei o meu segundo ano de engenharia informática.
    Na verdade, tenho estado envolvido num projecto que utiliza um módulo de computação de framboesa pi 4 integrado numa prancha de ondas e encontrei alguns problemas, por isso estou a escrever-vos este correio na esperança de receber a vossa amável supervisão e orientação.

    Primeiro, não consegui encontrar uma forma de utilizar os Inputs Diferenciais do ADC que já existem no meu cm4. Quero obter os valores de um sensor AKS 11 (Sensor de temperatura) ou de qualquer outro sensor. Neste caso, como poderia eu visualizar o resultado? O que devo colocar no meu guião? Nem sequer sou capaz de controlar as entradas e saídas GPIO.

    Segundo, ao tentar ler dados de uma aplicação móvel. Embora tenha conseguido ligar dois dispositivos (um Terminal Serial Bluetooth no meu telemóvel e o Rpi) através do comando "bluetoothctl" e mesmo conseguir visualizar os dados recebidos através deste comando "minicom -b 9600 -o -D /dev/rfcomm0" mas nenhum script me ajudou a ler estes dados recebidos e a utilizá-los para fazer encomendas específicas (como ligar/desligar sensores)

    Tudo o que eu quero fazer é obter alguma informação de qualquer sensor e enviá-la para uma aplicação móvel através do protocolo ble e se for possível controlar o funcionamento deste sensor.

    Ficar-lhe-ia muito grato se me pudesse ajudar. Estarei disponível por telefone(whatsapp) e por correio para qualquer questão.

    Anexei alguns links com os quais trabalhei e terei todo o prazer em ouvir de vós em breve.

    Estou muito grato e aguardo com expectativa a vossa resposta.

    Ligação de configuração Waveshare: https://www.waveshare.com/wiki/Compute_Module_4_PoE_4G_Board#Isolation_GPIO.2FI2C
    Projecto com o qual quero começar: https://www.technologyrecipes.com/using-blueterm-app-to-communicate-over-ble-between-an-android-device-and-raspberry-pi/

    Com os melhores cumprimentos,

    Farah Bouali
    Estudante do 2º ano de engenharia informática na ENIS (Escola Nacional de Engenheiros da Sfax)

    (endereço de e-mail e número de telefone removidos para proteger Farah, o editor)

    • raspi berry em Agosto 16, 2022 às 8:43 am

      Caro Farah, como estudante de engenharia, terá de estudar folhas de dados e falar com os fornecedores / fabricantes dos seus dispositivos. Faz parte do seu trabalho como estudante.
      Podemos oferecer-lhe um serviço de consultoria pago para resolver estes problemas, se estiver interessado.

Deixe um comentário