Avtor: dr. Simon Vavpotič
Epošta: simon.vavpotic@gmail.com
Raspberry Pi 5 je odličen računalnik. Pa je s 40-polno razširitveno vtičnico res boljši od mini PC-ja z Arduino ali podobnim razvojnim modulom prek USB? Primerjali smo Raspberry Pi 5, AAEON UP7000 in klasične mini PC-je.
Raspberry Pi je gotovo najbolj priljubljen goli računalnik na eni tiskanini, saj skoraj ni podobnega, ki ga ne bi posnemal; kar lahko razberemo celo iz imen proizvajalcev: Orange Pi, Rock Pi, … in njihovih paradnih konjev, od katerih so mnogi prehiteli Raspberry Pi petico (Orange Pi 5, Rock Pi 5, …). Vsekakor, nam za domače razvojne projekte nihče ne brani, da uporabimo tudi klasične mini PC-je, do katerih imajo mnogi še veliko zmogljivejše Intelove in AMD-jeve procesorje, kot sta Intel Core i7 in AMD Ryzen 7.
Ta vsebina je samo za naročnike
AAEON UP7000 proti Raspberry Pi 5
UP7000 je nekaj posebnega, saj je na videz zelo podoben Raspberry Pi in tudi približno enakih dimenzij. Razlikuje se predvsem po tem, da je vanj vgrajen sodobni Intelov Procesor N, izdelan z 10-nanometrsko tehnologijo, ki mu omogoča približno dvakrat do štirikrat večjo procesorsko in grafično zmogljivost, medtem ko BCM2712, srce Raspberry Pi 5, izdelujejo s 16-nanometrsko tehnologijo. Na voljo so različice UP7000 s procesorji: N50, N97, N100 in N200, pri čemer je slednja pri večini opravil razen pri delu s pomnilnikom najzmogljivejša. Namesto ležišča za SD kartico imajo fiksno vgrajeno kartico eMMC z 32 GB ali s 64 GB prostora. Slednje sicer ni idealno, saj Raspberry Pi 5 lahko uporablja tudi mikro SD kartice z nekajkrat večjo zmogljivostjo, zato pa se UP7000 oddolži z ležiščem za pogon SSD prek PCIe s standardno vtičnico M.2. Tako kot pri Raspberry Pi, lahko uporabljamo tudi mikro SD – USB vmesnike. Vendar moramo za Raspberry Pi 5 dokupiti posebno razširitveno kartico, če želimo uporabiti SSD pogon prek vodila PCIe. Posebnost UP7000 v primerjavi s klasičnimi mini PC-ji pa ni samo Intelov procesor, ampak tudi 40-polni razširitveni priključek, ki je tudi po funkcionalnosti na moč podoben tistemu, ki je vgrajen v skoraj vse modele Raspberry Pi.
Zakaj je AAEON UP7000 tako poseben?
Če si želite namesto katere od različic Linuxov, še posebej Raspberry Pi OS, pri svojem projektu uporabljati Windows 11 ali novejši, je naravnost idealen, saj vsebuje tudi modul zaupanja vredne platforme TPM 2.0 (angl. trusted platform module). Ta omogoča namestitev Windows 11, ali letos prihajajoče različice z delovnim imenom Windows 12, brez kakršnihkoli omejitev, saj ima na voljo tudi 8 GB SDRAM-a, prav toliko kot je največ pri Raspberry Pi 4 in 5. Njegova posebnost je tudi 40-polna razširitvena vtičnica, ne toliko zaradi skoraj enakega razporeda in funkcionalnosti priključkov, ki omogoča uporabo podobnih ali celo enakih razširitvenih kartic (t.i. »klobukov«) kot za Raspberry Pi, ampak tudi zato, ker so Intelovi procesorji samo procesorji, ne pa mikrokontrolerji ali sistemi v enem čipu s številnimi splošno-namenskimi vhodno/izhodnimi priključki (GPIO). Za implementacijo GPIO so morali snovalci UP7000 osnovni PC arhitekturi dodati CPLD čip (angl. complex programable logic device, programljiva kompleksna naprava s strojno logiko), ki so ga sprogramirali tako, da deluje kot PCIe naprava z GPIO priključki; kar pa je poleg vgrajene eMMC kartice, ki jo lahko uporabimo kot sistemski pogon, bolj ali manj vse, po čemer se UP7000 razlikuje od klasične PC arhitekture.
Kot zanimivost omenimo še, da so tudi snovalci Raspberry Pi 5 uporabili podoben princip ob začetku njegovega razvoja, tako da so s klasičnim PC povezali RP1 čip in periferijo prek PCIe vodila, obenem pa neodvisno razvijali arhitekturo BCM2712 sistema v enem čipu. Kasneje so oboje združili in nastal je Raspberry Pi 5, kot ga poznamo. No, UP7000 se v tem pogledu zdi le nekoliko pomanjšan in optimiziram klasični mini PC, ki s CPLD do neke mere posnema periferijo Raspberry Pi.
AAEON UP7000 podobni PC-ji
Čeprav se zdi UP7000 najsodobnejši dizajn Raspberry Pi 5 podobnega računalnika z Intelovim procesorjem, ima veliko vzornikov, ki v glavnem temeljijo na starejših Intelovih procesorjih za mini PC-je in prenosne računalnike, med katerimi je veliko Celeronov, ki se po zmogljivostih bolj enakovredno merijo z Raspberry Pi 5.
A takoj dodajmo, da so pri Intelu že davnega leta 2013 predstavili tudi sistem v enem čipu Quark in mini računalnik Galilleo za razvijalce strojne opreme, podobnih dimenzij kot Raspberry Pi. Žal so že po nekaj letih razvoj obeh opustili. Je pa zanimivo, da je imel Galilleo tudi vtičnico za mikro SD kartice, ki jo pri večini golih mini PC, kot je UP7000, pogrešamo. Posebnost Raspberry Pi podobnih PC-jev je tudi fiksno vgrajena eMMC kartica, ki jo lahko uporabimo za sistemski disk namesto pogona SSD pri manj zahtevnih projektih. Omenimo še, da je UEFI BIOS povsem PC-jevski in še zdaleč ni poenostavljen, kot pri Raspberry Pi, pri katerem ga moramo naložiti na sistemski pogon, če želimo poganjati Windows. Bi bilo pa gotovo bolje, če bi se vsi novodobni PC-ji zgledovali po Raspberry Pi, saj bi tako odpadla nevarnost, da nam kak heker v UEFI BIOS EEPROM čip vrine zlonamerno kodo in s tem praktično uniči računalnik, saj proizvajalci osnovnih plošč pogosto ne omogočajo obnove njegove celotne vsebine, ampak le njene nadgradnje.
Mini PC namesto namenskega računalnika
Čeprav je mini PC namenjen predvsem domači pisarni in večpredstavnosti, je pogosto še vedno nekajkrat cenejši od industrijskih PC-jev, katerih cene dosežejo tudi več kot 1.500 USD. Navadno ima tudi zmogljivejšo ali vsaj primerljivo grafiko. Cene industrijskih PC z zapletenimi dizajni z nešteto opcijami letijo v nebo predvsem zaradi majhnih serij, medtem ko danes dobimo novega minija za domačo pisarno in multimedijo že za okoli 130 USD. Če se namesto tega odločimo za obnovljen star računalnik, bomo pri Amazonu zanj odšteli skoraj za polovico manj (okoli 80 USD), a bo morda v njem še zmogljivejši procesor od Intel Processorja N100.
Mnogi mislijo, da je klasični (mini) PC težko uporabiti v domačih projektih, a če pomislimo na kopico Arduino projektov, ki jih lahko upravljamo in programiramo prek USB priključka je jasno, da 40-polnega razširitvenega priključka pogosto sploh ne potrebujemo.
GPIO priključke lahko naredimo sami!
Ena izmed možnosti za samograditelje je tudi še vedno popularna Vellemanova krmilna plošča, ki jo lahko naročimo pod novo kodo, WSI8055N (prej K8055N), ki temelji na Microchip-ovem PIC18F24J50 mikrokontrolerju in omogoča tako krmiljenje relejev, kot tudi analogne in digitalne vhode. Čeprav je mikrokontroler na krmilni plošči predprogramiran, ga lahko nadomestimo z lastnim ali pa ga reprogramiramo (ob tem izgubimo originalno kodo) z Microchip MPLAB X ali drugimi razvojnimi programskimi orodji; za kar potrebujemo ustrezen programator (npr. PICkit 4). Na spletni strani PCUSBProjects.com najdete tudi načrt za samogradnjo programatorja.
No, za začetnike je morda bolje, da preprosto uporabijo v mikrokontroler že vgrajeno kodo in se raje posvetijo programiranju krmilnih aplikacij v katerem od višjih programskih jezikov. Za komunikacijo plošče z računalnikom skrbijo v Windows serijsko vgrajeni Microsoftovi gonilniki za naprave za interakcijo računalnika s človekom in Vellemanova DLL programska knjižnica, ki je po novem na voljo tudi v 64-bitni različici. Namesto nje lahko uporabite tudi katero do programskih knjižnic, ki so na voljo na spletnem portalu PCUSBProjects.com.
Drugo možnost, predvsem za tiste, ki ste pripravljeni izdelati lastno razvojno ploščo po meri, pa je Microchip-ov serijsko predprogramiran MCP2200 mikrokontroler. Čeprav je prvenstveno namenjen delovanju kot zaporedni vmesnik prek USB vrat, ga lahko nastavimo tudi tako, da deluje kot 8 neodvisnih digitalnih vhodov-izhodov. No, to pa je za enostavne projekte že podobna funkcionalnost, kot jo ponuja Raspberry Pi 40-polna razširitvena vtičnica.
Pri zahtevnejših projektih, pri katerih potrebujemo tudi strojno implementacijo različnih protokolov kot so: SPI, I2C, I2S, RS-232, CAN, … , si je namesto tega bolje omisliti katero od z Arduino IDE združljivih razvojnih plošč. Za tiste, ki potrebujejo komunikacijo prek USB, so še posebej zanimive ChipKit razvojne plošče, medtem ko razvojne plošče na osnovi ESP32 modulov s PC v glavnem komunicirajo prek serijske povezave in (vgrajenega) zaporednega vmesnika na USB. Nekatere dražje (kot je LiliGo) imajo vgrajene Ethernet vmesnike, medtem ko ESP32 moduli že v osnovi omogočajo hitro Wi-Fi komunikacijo.
Neštete možnosti in obilica novih idej!
Goli Raspberry Pi 5 uporabnika kar sili k razvijanju, razen če poleg računalnika približno še enkrat toliko odšteje za ohišje, napajalnik, mikro SD kartico, kable in ostalo nujno potrebno opremo. Seveda, lahko namesto naštetega prebrskamo omaro s staro elektroniko in gotovo se bo kje našlo ohišje starega modema ali podobne naprave, ki je že davno ne uporabljamo več, in ga je enostavno predelati za Raspberry Pi …
A zakaj bi vse to počeli, če v primerjavi z nakupom novega poceni mini PC z 2-kratko ali 3-kratno zmogljivostjo ne bomo (dosti) prihranili, morda celo plačali več? Novi mini PC-ji so v ličnih ohišjih s priloženimi napajalniki in navadno tudi HDMI kablom za monitor. Zunanjih USB vtičnic je navadno dovolj, oziroma ravno toliko kot pri Raspberry Pi (ima 4 vtičnice). Poleg tega imamo že vgrajeno ležišče za NVMe M.2. SSD pogon, vgrajen pa je tudi Wi-Fi komunikacijski modul, ki pogosto deluje prek enega od notranjih USB priključkov. Nemalokrat je na voljo tudi ležišče za mikro SD kartico, kar je na moč podobno Raspberry Pi.
Mnoštvo mikrokontrolerskih razvojnih ploščic prek USB, ki jih lahko nabavimo prek interneta, tako ponuja obilico možnosti za uporabnike vsakršnih računalnikov z USB priključki in ustrezno razvojno programsko opremo. Vsekakor so med priljubljenimi razvojnimi moduli tudi ploščice z mikrokontrolerjem RP2040 podjetja Raspberry Pi, ki je edini, ki ga lahko kupimo v prosti podaji in ima podobno zasnovo kot naprednejši in zmogljivejši RP1, ki skrbi za periferijo Raspberry Pi 5.
Zanimivo, da so RP2040 čip v preteklosti uporabili tudi snovalci nekaterih razvojnih računalnikov, temelječih a Intelovih procesorjih, kot je Radxa X2L s procesorjem Intel Celeron Processor J4125, ki je sicer nekoliko manj zmogljiv od novejših Intel Processor N in je po zmogljivosti približno enak BCM2712, vendar ploščica nekoliko večjega formata od Raspberry Pi in ponudi podobne priključke, kot jih najdemo na Raspberry Pi 5. Ne manjka pa niti ležišče za 3-voltno baterijo za pogon ure realnega časa. Prav zato ne preseneča, da so pri AAEON za UP7000 izbrali CPLD čip, ki je dozdevno zmogljivejši od RP2040.
Ali sploh potrebujemo zmogljiv čip s periferijo po vzoru Raspberry Pi RP1?
Čeprav se morda zdi presenetljivo, trdim da ne, saj klasični mini PC ponudi vse, razen GPIO in strojne podpore že omenjenim komunikacijskim protokolom, za kar pa ne potrebujemo več enega USB priključka na standardnem naboru čipov za klasični PC, za kar pa z lahkoto uporabimo katerega od Microchip-ovih mikrokotrolerjev PIC ali SAM.
RP1 čip mora biti zmogljiv predvsem zato, ker podpira hitre USB 3.0 priključke in hitro komunikacijo prek Wi-Fi. Vse to je pri mini PC-jih že rešeno na druge načine, medtem ko za podporo razširitvenemu priključku z GPIO (navadno) ne potrebujemo posebej zmogljivega mikrokontrolerja. Za slednje lahko uporabimo celo Raspberry Pi Zero.
Zanimiva je tudi kombinacija starejših modelov Raspberry Pi 1, 2 in 3 z Ethernet priključki in klasičnega (mini PC), saj v primeru, da Raspberry Pi deluje kot suženj prek Ethernet vmesnika, dobimo vse manjkajoče funkcionalnosti.
Čeprav sta Raspberry Pi 4 in 5 všečna, ker ju lahko uporabljamo tudi kot namizna računalnika, so Rapberry Pi 3 in starejši modeli primernejši za vlogo sužnja prek Ethernet vmesnika, saj z glavnimi pomnilniki do 1 GB ne ponujajo zadostnih zmogljivosti za udobno delo z namizjem in sodobnimi operacijskimi sistemi. To je pravzaprav natančno to, kar potrebujemo, da lahko s klasičnim PC krmilimo doma izdelano elektroniko. Omenjen način delovanja že dolgo omogoča tudi razvojno okolje Arduino IDE, s katerim lahko Raspberry Pi sprogramiramo podobno kot ESP32 module in druge Arduino razvojne ploščice.
Kaj torej kupiti?
Morda ni odveč premislek o sorazmerno zmogljivem klasičnem (mini) PC in poceni Raspberry Pi z Ethernet priključkom, ki ga uporabimo kot zunanji krmilni modul brez monitorja, tipkovnice in miške… Tak sklop navadno omogoča kakovostnejšo in bistveno hitrejšo grafiko ter nekajkrat hitrejše procesiranje, obenem pa tudi podobne strojne funkcionalnosti, kot jih imajo originalne Raspberry Pi. Več na spletni strani: PCUSBProjects.com in YouTube kanalu: PCUSBProjects.