Che cos'è il Raspberry Pi Compute Module 4 (CM4)?

Se siete nuovi alla serie di microcomputer Raspberry Pi, potreste chiedervi se il Raspberry Pi Compute Module 4 (CM4) sia adatto al vostro caso d'uso.

Che cos'è il Raspberry Pi CM4?

Il Raspberry Pi Compute Module 4 è molto simile al Raspberry Pi 4.

A differenza del Pi 4, la CM4 è stata concepita come base per la creazione di applicazioni embedded. Si può pensare che sia l'anima del Raspberry Pi 4, senza alcuna caratteristica superflua.

Se volete costruire rapidamente un prototipo, potete utilizzare la scheda IO di Raspberry Pi CM4, che espone tutte le interfacce disponibili su Raspberry Pi CM4, compreso uno slot PCI Express Gen 2 che non è disponibile su Raspberry Pi 4.

In definitiva, lo scopo di un CM4 è quello di essere integrato in progetti semplici come la segnaletica digitale, i desktop remoti (thin client), l'automazione e i robot.

Gli utenti industriali sono uno dei principali mercati di riferimento per il CM4, ma anche le piccole imprese e gli utenti domestici possono trarne vantaggio.

Raspberry Pi 4 vs Modulo di calcolo 4

Raspberry Pi 4, Modulo di calcolo 4 e scheda IO ufficiale (dall'alto in basso)

La chiave è la personalizzazione.

Sapete che alcune persone amano i Mac perché funzionano e basta? Non si può personalizzare molto, ma si ha la certezza che funzionerà. D'altra parte, ad altri piace costruire il proprio PC con componenti di diversi produttori.

L'analogia spiega la differenza tra il Pi 4 e il CM4.

Quando si acquista un Raspberry Pi 4, ci si ritrova con 4 porte USB 3.0, porte ethernet, connettori CSI e USB-C per l'alimentazione, oltre a molti altri aspetti preimpostati dal Pi 4. Tuttavia, questa combinazione funziona perfettamente.

Con il Compute Module 4 è possibile acquistare una scheda di supporto che consente di alimentarlo con metodi diversi, come un connettore a barile o un connettore USB-C, a seconda dell'acquisto. In alcune situazioni, l'USB-C sul Pi 4 potrebbe non essere sufficiente, ad esempio se si dispone di una configurazione ad alto assorbimento.

Una grande differenza con il Raspberry Pi 4 è la possibilità di acquistare una scheda di supporto che espone lo slot PCIe, il che apre una maggiore possibilità di personalizzazione.

Per quanto riguarda l'archiviazione, mentre la CM4 è già dotata di eMMC sulla maggior parte delle schede, che è molto più affidabile della scheda microSD del Pi 4, è possibile andare oltre aggiungendo un SSD con l'aiuto di una scheda carrier adatta.

Perché l'industria ama così tanto il Pi CM4?

Alla fine si tratta di personalizzazione.

Torniamo all'argomento che il CM4 e il Pi 4 sono entrambi molto simili.

Perché il CM4 trionfa sul normale Pi 4?

In primo luogo, il pacchetto di porte e funzioni è pensato per l'uso domestico. Ad esempio, se si utilizza il Pi 4 per gestire un sistema di irrigazione delle piante a casa, e la scheda microSD si guasta... beh, è solo una pianta in meno.

D'altra parte, i clienti industriali potrebbero gestire un componente critico di una centrale elettrica. Non si può gestire una centrale elettrica con una microSD. In effetti, è proprio qui che la CM4 si rivela più forte, grazie alla possibilità per gli utenti industriali di costruire la propria scheda con ridondanze di archiviazione, una maggiore tolleranza al calore e opzioni di montaggio industriali standard, beneficiando al contempo della bassa potenza e delle dimensioni ridotte della CM4.

Le certificazioni sono in genere una delle spese maggiori per l'approvazione di un sistema, e questo è uno dei motivi per cui la personalizzazione del CM4 lo rende molto interessante per gli utenti industriali.

E forse un'altra piccola ragione è la comunità di cui dispone la CM4 rispetto ai suoi concorrenti. La comunità Raspberry Pi collabora per mantenere in funzione diversi aspetti software del kernel, in modo che tutti i membri della comunità industriale possano trarne vantaggio.

A differenza dei suoi concorrenti a scheda singola, per i quali era necessario uno sforzo maggiore per far funzionare qualcosa su quello specifico computer a scheda singola. Con il Raspberry Pi CM4, c'è il supporto e la continuità della comunità.

Specifiche del Raspberry Pi CM4

Punti salienti di Raspberry Pi:

  • Broadcom BCM2711 SoC quad-core Cortex-A72 (ARM v8) a 64 bit a 1,5GHz
  • H.265 (HEVC) (decodifica fino a 4Kp60), H.264 (decodifica fino a 1080p60, codifica 1080p30) 
  • OpenGL ES 3.1, Vulkan 1.0
  • Opzioni per 1GB, 2GB, 4GB o 8GB LPDDR4-3200 SDRAM (a seconda della variante)
  • Opzioni per memoria Flash eMMC da 0GB ("Lite"), 8GB, 16GB o 32GB (a seconda della variante)
  • Opzione per modulo radio completamente certificato:
    2,4 GHz, 5,0 GHz IEEE 802.11 b/g/n/ac wireless;
    Bluetooth 5.0, BLE;
    Interruttore elettronico a bordo per selezionare l'antenna a traccia esterna o a circuito stampato.

32 varianti del modulo di calcolo 4

Il Raspberry Pi CM4 ha 32 varianti che variano per RAM, opzione WLAN e capacità di memoria.

Immagine tratta dalla scheda prodotto del Raspberry Pi CM4.

Infatti, è possibile vedere il combinazioni disponibili e prezzi corrispondenti (in euro) sul nostro negozio.

Il Raspberry Pi CM4 è un sostituto del Pi normale?

Per un uso generale, è meglio utilizzare un normale Raspberry Pi 4.

È assolutamente possibile fare le stesse cose con il Raspberry Pi CM4 più la scheda CM4IO che fornisce connettori come HDMI, Ethernet, USB, pin GPIO e molti altri connettori che si trovano sul Raspberry Pi.

Tuttavia, molte cose sono più semplici sul Raspberry Pi 4 rispetto alla scheda CM4 plus IO:

Raspberry Pi CM4Raspberry Pi 4
Potenza Connettore a barile da 5,5×2,1 mm o connettore BergUSB-C
Tensioni5V, 12V o da 7,5V a 26V (tensioni diverse abilitano funzioni diverse)5V tramite USB-C
DimensionePiù grande con scheda IOPiù piccolo
MemoriaeMMC o scheda SD (con la versione Lite)Scheda SD per impostazione predefinita

Detto questo, esistono altre schede carrier più adatte a rendere il CM4 un computer desktop.

In effetti, è proprio qui che la CM4 brilla. È possibile collegarlo a diverse schede a seconda delle porte e delle funzioni necessarie.

Adattatore da Raspberry Pi CM4 a PI4B. Foto da AliExpress.

Ad esempio, il Adattatore da Raspberry Pi CM4 a PI4B trovato su AliExpress può convertire la CM4 in un Raspberry Pi 4 con doppia micro-HDMI, 4x USB 3.0, GPIO, CSI ed Ethernet.

Chipsee AIO-CM4-15, sostituto del desktop. Foto da Chipsee.

Il Chipsee AIO-CM4-156 fa un ulteriore passo avanti. L'aggiunta chiave è lo slot per SSD NVMe, che come soluzione di archiviazione è ancora migliore dell'eMMC del Compute Module 4. Poi ci sono le porte standard che ci si aspetta da un desktop: Porte USB, porta USB-C OTG, uscita HDMI, porta Ethernet, slot microSD, uscita audio e GPIO.

Alimentazione del Raspberry Pi CM4 (con scheda IO)

L'alimentazione del CM4 è un po' diversa da quella di tutti gli altri Raspberry Pis.

Sui Raspberry Pi Zero, Pico e Pi 4, si alimentano tramite l'ingresso microUSB o USB-C.

Sulla scheda IO CM4 è possibile scegliere tra diverse modalità di alimentazione.

Connettori per l'alimentazione del modulo di calcolo 4

Innanzitutto, parliamo di connettori.

Sulla scheda IO di Raspberry Pi CM4 sono presenti due connettori contrassegnati come J19 e J20. Parliamo di questi due connettori separatamente.

Ingresso alimentatore principale: Connettore a barile J19

È possibile collegare la scheda Raspberry Pi IO a un alimentatore tramite il connettore a barile.

Accetta un connettore con punta a barile CC da 5,5×2,1 mm. Questi connettori sono comunemente utilizzati su router, laptop, caricabatterie e molti dispositivi elettronici.

L'alimentazione deve essere a 12 V, a meno che non si intenda utilizzare lo slot PCIe, il connettore dell'alimentatore esterno e una ventola a 12 V, nel qual caso è possibile alimentarlo con una tensione compresa tra 7,5 V e 28 V. Ecco le parole esatte della scheda tecnica di Raspberry Pi CM4,

"L'ingresso +12V alimenta direttamente lo slot PCIe +12V, il connettore dell'alimentatore esterno e il connettore della ventola. Se questi non vengono utilizzati, è possibile utilizzare un ingresso più ampio (da +7,5 V a +28 V)".

Connettore J20 "Berg

connettore di alimentazione raspberry pi cm4 j20

J20 utilizza il connettore "Berg", numero di parte AMP/TE Connectivity 171822-4 o simile. È possibile trovare questi connettori anche da vecchi computer dotati di un alimentatore per floppy disk.

Connettore Berg (screenshot da Wikipedia, pubblico dominio)

J20 ha due funzioni. Cominciamo con il modo in cui è possibile alimentare il CM4 con questo connettore.

È necessario fornire un'alimentazione a 12 V tramite il filo giallo. Non fornire alimentazione a 5 V al rosso.

Piedinatura del connettore Berg. Screenshot da Wikipedia (CC-BY-SA)

L'altro utilizzo di J20 è quello di fungere da alimentazione per le periferiche PCIe. Come indicato nella scheda tecnica del CM4,

"Con un'alimentazione a +12V tramite il jack a barile CC, il connettore dell'alimentatore esterno (J20 con +5V e +12V) è ideale per collegare le schede PCIe che richiedono un alimentatore esterno. È necessario assicurarsi che le PSU non siano sovraccaricate".

Quanta corrente?

Raspberry Pi non ha un'alimentazione consigliata per la CM4 e la scheda IO.

Suggeriscono di prevedere 9W (a 12 V) per il CM4 e di aggiungere un po' di spazio per le periferiche collegate al CM4.

Inserimento del CM4 nella scheda IO

raspberry pi cm4 direzione scheda io
Ecco come inserire il Raspberry Pi CM4 nella scheda IO

Per inserire il Raspberry Pi CM4 nella scheda IO, è necessario che sia nella direzione giusta.

L'immagine qui sopra mostra come il Raspberry Pi CM4 si inserisce nella scheda IO.

È importante notare che il logo del Raspberry Pi dovrebbe essere più lontano dalla scheda PCIe. In altre parole, la porta UFL (antenna wireless esterna) dovrebbe essere più vicina al PCIe.

Premendo il modulo di calcolo, si dovrebbero sentire due scatti che indicano che entrambi i binari sono stati impostati.

raspberry pi cm4 inserito nella scheda io

Osservare il profilo della CM4 e della scheda IO e verificare che siano paralleli tra loro. Se non lo sono, significa che un binario non è stato inserito correttamente.

Scrittura di un sistema operativo sulla CM4 con scheda IO

La scheda IO è dotata di uno slot per schede SD... ma l'unico caso in cui si potrà utilizzare questo slot è se si è acquistata una CM4Lite senza memoria eMMC integrata.

Se si possiede la versione Lite, è facile flashare una scheda microSD come su un normale Raspberry Pi.

Tuttavia, potreste avere la versione non-Lite che richiede alcuni passaggi in più prima di poter montare la memoria eMMC.

È necessario:

  • Ponticello per cortocircuitare J2
  • Cavo MicroUSB per il collegamento al PC
  • Alimentazione

Disabilita l'avvio di eMMC

Se si dispone di una eMMC, è necessario disabilitare l'avvio della eMMC in modo da poter montare la CM4 come disco rimovibile. A tale scopo, aggiungere un ponticello sulla prima colonna di J2. J2 si trova tra la CM4 e i punti di fissaggio del cavo della fotocamera/display.

Fili di collegamento femmina-femmina

È possibile utilizzare un cavo di collegamento femmina-femmina disponibile in molti kit di avviamento o acquistare un "ponticello di cortocircuito" appositamente per questo scopo.

Ottenere rpiboot

Quando si flasha una scheda SD, è facilissimo. Basta inserirla nel computer e il gioco è fatto.

Tuttavia, poiché stiamo parlando delle versioni eMMC delle CM4, è necessario rpiboot, che consente di leggere la CM4 come un'unità rimovibile.

Il Il repo Github di rpiboot è qui.

Montaggio della CM4 in Windows

Se si dispone di Windows, procedere con scarica qui la release di rpiboot.

Quindi, estrarre il file ZIP, accedere alla directory win32 ed eseguire rpiboot_setup.exe.

Windows Defender potrebbe apparire dicendo che il software caricato lateralmente potrebbe essere pericoloso. Evitate l'avviso.

Se l'alimentazione della CM4 e la microUSB (J11) non sono collegate, farlo ora e collegare l'USB al PC.

Potresti avere più successo eseguendo rpiboot come amministratore. Il mio è andato bene senza i privilegi di amministratore.

Eseguire rpiboot. Dopo l'installazione, dovrebbe essere possibile trovarlo nel menu di avvio.

Lasciate che esegua i suoi passaggi e vedrete questo:

In attesa di BCM2835/6/7/2711...
Caricamento embedded: bootcode4.bin
Invio di bootcode.bin
Lettura riuscita di 4 byte
In attesa di BCM2835/6/7/2711...
Caricamento embedded: bootcode4.bin
Secondo stadio del server di avvio
Caricamento embedded: start4.elf
File letto: start4.elf
Seconda fase del server di avvio completata

Il sistema si auto-arresta e dovrebbe apparire il volume della CM4.

Raspberry Pi Imager con CM4 montato con successo

Ecco come appare in Raspberry Pi Imager.

Flash away, gente!

Montaggio della CM4 in Linux

Le istruzioni sul repo Github di rpiboot lo spiegano chiaramente. Eseguire:

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

Raspberry Pi suggerisce di assicurarsi che la data del sistema sia impostata correttamente, altrimenti Git potrebbe dare un errore.

CM4 su macOS

Su macOS, i passaggi sono gli stessi. Secondo il repo di Github, ecco i passaggi da seguire,

git clone --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
installare libusb
brew installa pkg-config
fare
sudo ./rpiboot
avvio di raspberry pi cm4
Stivali!

Progetti Raspberry Pi CM4

Il Raspberry Pi CM4 fornisce il cervello per un progetto e le persone lo hanno utilizzato per scopi di lavoro e di svago. Ecco alcuni progetti.

Gioco: Palmare CM4

Mi ricorda il Pi 400, ma in formato console portatile.

Il palmare Raspberry Pi CM4 proviene da Daniel Juckett che lo ha soprannominato "Aegis".

Su questo palmare, Daniel ha dimostrato che è possibile giocare a giochi come Deus Ex: Mankind Divided e Doom 2016 con Moonlight tramite Retropie. È anche possibile navigare sul web e guardare video su YouTube.

Aegis è un progetto open source e è possibile visualizzare il Github qui.

Utilizzando la CM4, Daniel ha potuto personalizzare la disposizione delle porte (rispetto al Pi 4 con una disposizione fissa delle porte). Per lo schermo ha utilizzato il display ufficiale del Raspberry Pi 7″. Per i controller, ha utilizzato i pulsanti e i joystick della Wii U. Infine, ha utilizzato anche altoparlanti e motori rumble.

Informatica personale: PiTray mini

Se vi piace il Raspberry Pi 4 ma preferite avere un sistema più utilizzabile, allora potreste prendere in considerazione l'uso di PiTray mini, progettato da Shengyuan Fang e Weihong Guan e venduto da Sourcekit.

Le dimensioni della scheda sono simili a quelle del Raspberry Pi 4, ma non si tratta di una sostituzione 1:1 del Pi 4.

PiTray Mini, foto tratta da sourcekit.cc

Come si può vedere, sono presenti i buoni vecchi GPIO, ethernet e slot microSD, ma è presente una sola porta USB e una porta HDMI standard (rispetto alle 4 porte USB e alle 2 microHDMI del Pi 4). Inoltre, non ci sono DSI, CSI, jack audio o hub USB 3.0.

Alcuni casi d'uso sono la creazione di cluster e lo sfruttamento dei vantaggi dell'eMMC della CM4 rispetto alla scheda SD del Pi 4 per una maggiore stabilità e velocità.

Il PiTray è una soluzione orientata al budget rispetto alla scheda IO ufficiale, poiché è molto più economica.

Server autogestito: Turing Pi 2

Un gruppo di Raspberry Pi CM4 collegati a un Turing Pi 2 (foto dal comunicato stampa di lancio del Turing Pi 2)

Il Turing Pi 2 è una soluzione semplice per chi vuole ospitare i propri server ed eseguire servizi come un assistente domestico, streaming multimediale, server di gioco, VPN, server IoT e molto altro.

Utilizzando il Raspberry Pi CM4, è possibile scalare verso l'alto o verso il basso a seconda del carico del server. Questo ha il vantaggio di garantire che il server sia equipaggiato al meglio per svolgere i suoi compiti, assicurando al contempo che non sia sovraccarico.

Il Turing Pi 2 ha un fattore di forma mini ITX e può ospitare schede CM4 e Jetson Nanos (foto dal comunicato stampa di lancio del Turing Pi 2)

Cosa posso fare con lo slot PCIe?

In teoria, è possibile installare qualsiasi scheda che utilizzi PCIe.

Questo include schede grafiche, schede di archiviazione tramite M.2, NVMe o SATA, schede WiFi, schede USB e molto altro.

Il fattore limitante è la compatibilità con la CM4, il sistema operativo e la disponibilità di driver.

Ad esempio, le schede grafiche sono generalmente più difficili da eseguire sulla scheda IO rispetto a qualcosa di più semplice come una scheda USB. La prima ha quasi sempre bisogno di un driver e la funzionalità non è garantita, mentre la seconda non richiede alcun driver e garantisce la piena funzionalità.

Un elenco di schede grafiche compatibili compilato da Jeff Geerling.

Un elenco completo è stato compilato da Jeff Geerling, disponibile qui. Questo sito web elenca le seguenti categorie di schede PCIe:

  • GPU (schede grafiche)
  • Schede USB
  • Adattatori M.2 e NVMe
  • Schede di rete (NIC) e adattatori WiFi
  • Schede multimediali (A/V) e audio
  • Schede SATA e archiviazione
  • Switch e adattatori PCIe
  • Altre schede (FireWire, time card, ecc.)

Schede portanti alternative alla scheda IO ufficiale

Un elenco di pannelli portanti alternativi compilato da Jeff Geerling.

Esistono molte schede carrier che forniscono diverse porte e funzioni alla scheda IO.

È possibile trovare un Qui trovate una raccolta di schede carrier che potrebbero essere più adatte al vostro caso d'uso.

Galleria CM4 e scheda IO

raspberry pi cm4 con mmc
Scheda Raspberry Pi CM4, 32 GB eMMC, wireless
Connettore antenna uFL (in alto a destra, accanto al foro di montaggio)
raspberry pi cm4 con antenna WiFi
Raspberry Pi CM4 con antenna WiFi
Raspberry Pi CM4 SoC Broadcom
SoC Broadcom Raspberry Pi CM4 (al centro)
Raspberry Pi CM4 lato inferiore
Raspberry Pi CM4 lato inferiore

Scheda IO ufficiale

Connettori CSI di Raspberry Pi CM4
Raspberry Pi CM4 Connettori DSI/CSI per display e telecamere
Retro della scheda IO di Raspberry Pi CM4
Retro della scheda IO di Raspberry Pi CM4
Batteria dell'orologio in tempo reale della scheda IO di Raspberry Pi CM4
Raspberry Pi CM4 Scheda IO orologio in tempo reale supporto batteria
Pin GPIO della scheda Raspberry Pi CM4 IO
Pin GPIO della scheda Raspberry Pi CM4 IO
Profilo della scheda IO di Raspberry Pi CM4
Profilo della scheda IO di Raspberry Pi CM4 con 2x HDMI, ethernet, USB, microUSB, slot per schede SD e connettore di alimentazione

Dove posso acquistare un CM4?

È possibile acquistare le schede CM4 dal nostro sito gemello, buyzero.de.

Utenti industriali: Ordini e soluzioni CM4 per grandi quantità

Se siete un utente industriale del CM4 e avete bisogno di soluzioni software e hardware, dovreste Contattateci per ordini di grandi quantità e consulenza.

Possiamo progettare soluzioni software e hardware personalizzate per il CM4.

In quest'epoca di scarsità, destiniamo sempre una parte del nostro stock di CM4 a scopi di progettazione e ricerca.

2 commenti

  1. Farah Bouali in Agosto 12, 2022 il 9:59 am

    Ciao
    Spero che tu stia bene!
    Mi chiamo Farah Bouali e ho completato il secondo anno di ingegneria informatica.
    In realtà, sono stato impegnato in un progetto che prevede l'utilizzo di un modulo di calcolo raspberry pi 4 integrato in una scheda waveshare e ho riscontrato alcuni problemi, per cui vi scrivo questa mail sperando di ricevere la vostra gentile supervisione e guida.

    Innanzitutto, non sono riuscito a trovare un modo per utilizzare gli ingressi differenziali ADC già presenti nella mia cm4. Voglio ottenere i valori da un sensore AKS 11 (sensore di temperatura) o da qualsiasi altro sensore. In questo caso, come potrei visualizzare il risultato? Cosa dovrei inserire nel mio script? Non sono nemmeno in grado di controllare gli ingressi e le uscite GPIO.

    In secondo luogo, mentre cercavo di leggere i dati da un'applicazione mobile. Sebbene sia stato in grado di connettere due dispositivi (un terminale seriale Bluetooth sul mio cellulare e l'Rpi) attraverso il comando "bluetoothctl" e persino di visualizzare i dati ricevuti attraverso il comando "minicom -b 9600 -o -D /dev/rfcomm0", nessuno script mi ha aiutato a leggere i dati ricevuti e a utilizzarli per eseguire ordini specifici (come l'accensione e lo spegnimento dei sensori).

    Tutto ciò che voglio fare è ottenere alcune informazioni da qualsiasi sensore e inviarle a un'applicazione mobile tramite il protocollo ble e se è possibile controllare il funzionamento di questo sensore.

    Vi sarei molto grato se poteste aiutarmi. Sono disponibile al telefono (whatsapp) e alla posta per qualsiasi domanda.

    Ho allegato alcuni link con i quali ho lavorato e sarei lieto di ricevere presto notizie da voi.

    Sono molto grato e attendo con ansia la vostra risposta.

    Collegamento alla configurazione di Waveshare: https://www.waveshare.com/wiki/Compute_Module_4_PoE_4G_Board#Isolation_GPIO.2FI2C
    Progetto con cui voglio iniziare: https://www.technologyrecipes.com/using-blueterm-app-to-communicate-over-ble-between-an-android-device-and-raspberry-pi/

    Cordiali saluti,

    Farah Bouali
    Studente del 2° anno di ingegneria informatica presso l'ENIS (Scuola Nazionale degli Ingegneri di Sfax)

    (indirizzo e-mail e numero di telefono rimossi per proteggere Farah, l'editore)

    • raspi berry in Agosto 16, 2022 il 8:43 am

      Cara Farah, come studente di ingegneria dovrai studiare le schede tecniche e parlare con i fornitori/produttori dei tuoi dispositivi. Fa parte del tuo lavoro di studente.
      Se siete interessati, possiamo offrirvi un servizio di consulenza a pagamento per risolvere questi problemi.

Lascia un commento