SantyagoSantyago
Avatar

Witaj!
Blog archiwalny. Już niebawem nowy serwis!

YouTube RSS Facebook GitHub

Na temat specyfikacji technicznej o Raspberry Pi 2 w sieci można znaleźć wiele informacji, dlatego nie będę bezsensownie powielał tych informacji. Bardziej zależy mi na ponownym porównaniu nowej maliny z jej poprzednią wersją oraz bezpośrednim konkurentem jakim jest ODROID C1. Dzięki uprzejmości sklepu elty.pl mam dziś taką możliwość.

Odnoszę nieodparte wrażenie, że Raspberry Pi 2 z jednej strony pojawił się zbyt późno, a z drugiej zbyt wcześnie. Nie da się ukryć faktu, że specyfikacja RPi 2 nie zachwyca niczym szczególnym w dzisiejszych czasach - owszem mogła wywołać ona pożądany efekt, ale rok temu.

Osobiście więc uważam, że model Raspberry Pi 2 został wepchnięty na rynek na siłę, jako reakcja na zaprezentowany przez Hardkernel komputerek ODROID C1.

Oczywiście zdaję sobie sprawę, że za Raspberry Pi 2 przemawia silna i prężna społeczność, bez której nawet największy gigant ma gliniane nogi. Mam jednak to szczęście, że z maliną pożegnałem się, gdy rozpocząłem swoją przygodę z modelem ODROID-X2.

W tamtych czasach społeczność ODROID-a dopiero się budowała, dlatego marka nie była zbyt popularna w Polsce. Dziś jest zupełnie inaczej, bowiem nazwa ODROID jest bardzo dobrze rozpoznawana, a społeczność coraz większa i silniejsza. Nie przesadzę jeśli stwierdzę, że jest to druga społeczność pod względem wielkości, zaraz po "malinowcach", gdzie nie ma już problemu z uzyskaniem odpowiedzi na trapiące nas problemy.

Nie chcę wywoływać zbędnego hejtu i jestem bardzo od tego daleki, ale będąc użytkownikiem maliny, czułbym się najzwyczajniej zawiedziony nowym wydaniem, a całą sytuację opisałbym zapytaniem "jak to? to już wszystko?".

Fundacja Raspberry Pi mogła sobie jednak na to pozwolić i delikatnie odświeżyć specyfikację, ponieważ przyzwyczajenie użytkowników jest bardzo silne - a to kwestia łatwego przeniesienia obecnego oprogramowania, a to istniejąca już społeczność i szereg rozwiązań. Niestety dalej uważam, że została wybrana droga przez łatwiznę, dlatego też ponownie wybieram w tym przedziale budżetowym ODROID-a C1.

Poniżej wyniki w starciu z ODROID-C1 oraz poprzednią generacją maliny, natomiast tutaj znajdziecie zestawienie wszystkich testowanych na łamach mojego Bloga mini-komputerków.

Reklama

Raspberry Pi Foundation przedstawiła "dopakowaną" wersję Raspberry Pi 2, będącą następcą modelu Raspberry Pi B+. Nowa płytka została wyposażona w czterordzeniowy procesor ARMv7 Cortex-A7 Broadcom BCM2836 900MHz (ARMv7 Cortex-A7) oraz 1GB pamięci RAM, co pozwoli uzyskać sześciokrotną przewagę nad B+.

Jednostka BCM2836 jest bardzo podobna do swojego poprzednika BCM2835, dlatego też stare oprogramowanie nie będzie wymagało praktycznie żadnych modyfikacji, aby działało prawidłowo na Raspberry Pi 2. Biorąc jednak pod uwagę, że BCM2836 obsługuje instrukcje NEON, rekompilacja będzie wskazana. Według testów SunSpider wydajność pojedynczego rdzenia jest trzykrotnie większa od poprzedniego modelu. Produkcja modelu RaspberryPi B+ będzie dalej kontynuowana, ale szacuje się, że będzie stanowiła jedynie 20% całej produkcji. Cena ma pozostać bez zmian, czyli 35$.

Pełna specyfikacja:

  • Broadcom BCM2836 quad core Cortex A7 @ 900MHz
  • Układ graficzny VideoCore IV
  • Pamięć 1GB SDRAM
  • Czytnik kart pamięci micro SD
  • Wyjście HDMI oraz AV (3.5mm jack)
  • Karta sieciowa Ethernet 10/100M
  • 4x porty USB 2.0, 1x micro USB
  • Rozszerzenia: 40 pinowe złącze GPIO, złącze kamery, złącze wyświetlacza
  • Zasilanie 5V z portu micro USB

Jak myślicie? Jest to pstryczek w nos dla Hardkernela i jego ODROID-C1? Czy może jednak model RPi 2 i tak miał się pojawić?

Hardkernel wydaje się mieć chrapkę na segment, który zdominował Raspberry Pi, uderzając w niego swoim budżetowym produktem ODROID-C1. Nowe dziecko koreańskiego producenta wyposażone zostało w czterordzeniowy układ SoC Amlogic Cortex-A5 (ARMv7) taktowany częstotliwością 1.5Ghz. Układ graficzny stanowi popularny Mali-450 MP2 z obsługą standardów OpenGL ES 2.0/1.1.

Jednostka ta została wyposażona w pamięć DDR3 SDRAM o rozmiarze 1GB, gigabitowy port Ethernet, 40-pinowe złącze GPIO, cztery porty USB 2.0 oraz odbiornik podczerwieni. System operacyjny (Linux lub Android) może być uruchomiony z karty pamięci MicroSD lub pamięci eMMC 4.5.

ODROID-C1 wyposażony jest również w odbiornik podczerwieni, który bez problemu powinien obsłużyć wszystkie nadajniki pracujące w standardzie 37.9kHz wykorzystując do tego celu specjalnie przygotowany program odroid_remote. Oprócz wspomnianych 4 portów USB 2.0, dostępny jest również pojedyncze gniazdo Micro USB pracujące w trubie OTG, które możemy w razie konieczności wykorzystać jako dodatkowy port. Należy jednak pamiętać, że nie możemy zasilać z niego ODROIDa.

Zastanawiacie się ile przyjdzie nam zapłacić za te cudeńko? ODROID-C1 został wyceniony na kwotę 35$, czyli w takiej samej cenie jak Raspberry Pi. W polskim sklepie dostaniemy go bez problemu za 209 zł

40-pinowe gniazdo GPIO

Do dyspozycji dostajemy także 40-pinowe gniazdo rozszerzeń, na którym znajdziemy wyprowadzania GPIO/I2C/SPI/UART/ADC. Do obsługi wystarczy nam jedynie znajomość języka C/C++ lub Pythona. Z pomocą przychodzi również przeportowana biblioteka WiringPi, która jest doskonale znana przez "malinowców". Projektując urządzenie pamiętajcie, że ten port rozszerzeń nie jest zgodny z portem rozszerzeń z Raspberry Pi B+ (piny #37, #38, #40 pracują tutaj jako wejścia analogowe o dopuszczalnym poziomie 1.8V).

WiringPi GPIO# Export GPIO# ODROID-C PIN Label HEADER Label ODROID-C PIN Export GPIO# WiringPi GPIO#
        3V3 1 2 5V0        
  74   I2CA_SDA SDA1 3 4 5V0        
  75   I2CA_SCL SCL1 5 6 GND        
7 83   GPIOY.BIT3 #83 7 8 TXD1 TXD_B   113  
        GND 9 10 RXD1 RXD_B   114  
0 88   GPIOY.BIT8 #88 11 12 #87 GPIOY.BIT7   87 1
2 116   GPIOX.BIT19 #116 13 14 GND        
3 115   GPIOX.BIT18 #115 15 16 #104 GPIOX.BIT7   104 4
        3V3 17 18 #102 GPIOX.BIT5   102 5
12 107 MOSI GPIOX.BIT10 MOSI 19 20 GND        
13 106 MISO GPIOX.BIT9 MISO 21 22 #103 GPIOX.BIT6   103 6
14 105 SCLK GPIOX.BIT8 SCLK 23 24 CE0 GPIOX.BIT20 CE0 117 10
        GND 25 26 #118 GPIOX.BIT21   118 11
  76   I2CB_SDA SDA2 27 28 SCL2 I2CB_SCL   77  
21 101   GPIOX.BIT4 #101 29 30 GND        
22 100   GPIOX.BIT3 #100 31 32 #99 GPIOX.BIT2   99 26
23 108   GPIOX.BIT11 #108 33 34 GND        
24 97   GPIOX.BIT0 #97 35 36 #98 GPIOX.BIT1   98 27
      ADC.AIN1 AIN1 37 38 1V8 1V8      
        GND 39 40 AIN0 ADC.AIN0      

Znacząca przewaga nad Raspberry Pi

ODROID-C1 znacznie przewyższa możliwościami "malinę", biorąc pod uwagę głównie czynnik finansowy. Różnice są ogromne - zarówno pod względem sprzętowym jak i wydajnościowym. Spójrzmy na małe porównanie, które mówi wręcz za siebie:

  ODROID-C1 RPi Model-B+
Procesor Amlogic S805 Broadcom BCM28351
Rodzina ARMv7 @28nm ARM11 @40nm
Liczba rdzeni 4 1
RAM 1GB 32bit DDR3 512MB 32bit LP-DDR2
Układ graficzny 2x ARM® Mali 450MP 1 x VideoCore IV
Taktowanie procesora 1.5GHz 700Mhz
Taktowanie rdzenia graficznego 600MHz 250MHz
Taktowanie pamięci 792MHz 400MHz
Pamięć FLASH Micro-SD UHS-1
100Mhz/SDR50
Micro-SD
50Mhz/SDR25
Pamięć eMMC Tak Nie
USB 2.0 4 4
USB 2.0 OTG 1 Nie
Ethernet 10/100/1000 Mbit/s 10/100 Mbit/s
Wyjście wideo HDMI HDMI / Composite RCA
Wyjście audio HDMI HDMI / 3.5mm Jack
Wejście kamery USB 720p MIPI CSI 1080p
Zegar RTC Tak Nie
Odbiornik podczerwieni Tak Nie
Port rozszerzeń 40pin
GPIO/UART/SPI/I2C/ADC
40pin
GPIO/UART/SPI/I2C/I2S
ADC 2 kanały po 10-bitów Nie
Rozmiar 85 x 56mm 85 x 56mm
Waga 40g 42g

A jak z wydajnością w starciu z "maliną"? Tutaj również walka wydaję się być zbędna. W zależności od przeprowadzonych testów, ODROID-C1 osiąga od 4x do 8x lepsze wyniki, niżeli konkurent.

Ubuntu i porównanie z innymi platformami

Na chwilę obecną dostępny jest standardowy Ubuntu 14.04 w wersji 1.2 z jądrem 3.10.64, którego znamy już z poprzednich ODROID-ów. Oczywiście nie zapomniano o narzędziu ODROID Utility i odtwarzaczu Kodi, który dobrze sobie radzi z materiałem wideo kodowanym z bitrate 120Mbps!

Prędkość pamięci eMMC również jest na zadowalającym poziomie. Zapis kształtuje się na poziomie 46MB/s, a odczyt na poziomie 81MB/s. Są to wyniki porównywalne jakie osiąga Jetson TK1.

time sh -c "dd if=/dev/zero of=/home/file bs=4k count=200000 && sync"

200000+0 records in
200000+0 records out
819200000 bytes (819 MB) copied, 17.788 s, 46.1 MB/s

real    0m18.741s
user    0m0.290s
sys    0m7.030s

sync ; sh -c 'echo 3 > /proc/sys/vm/drop_caches'
time sh -c "dd if=/home/file of=/dev/zero bs=4k count=200000"

200000+0 records in
200000+0 records out
819200000 bytes (819 MB) copied, 10.0623 s, 81.4 MB/s

real    0m10.103s
user    0m0.080s
sys    0m2.670s

Zobaczmy jak wygląda to dokładniej w pojedynku z innymi platformami:

 

Powyższe wyniki jasna pokazują, że pomimo tego, że ORDOID-C1 jest najsłabszy ze swojej rodziny, to jest zdecydowanie lepszym wyborem niż platformy wykorzystujące układy Allwinner A10/A20 czy RK3066. Pamiętajmy jednak o bardzo niskiej cenie C1 jako bezpośredniego konkurenta dla RaspberryPi.

Rzućmy jeszcze okiem na wyniki glmark2 dla OpenGL ES:

=======================================================
    glmark2 2012.08
=======================================================
    OpenGL Information
    GL_VENDOR:     ARM
    GL_RENDERER:   Mali-450 MP
    GL_VERSION:    OpenGL ES 2.0
=======================================================
[build] use-vbo=false: FPS: 159 FrameTime: 6.289 ms
[build] use-vbo=true: FPS: 184 FrameTime: 5.435 ms
[texture] texture-filter=nearest: FPS: 184 FrameTime: 5.435 ms
[texture] texture-filter=linear: FPS: 190 FrameTime: 5.263 ms
[texture] texture-filter=mipmap: FPS: 189 FrameTime: 5.291 ms
[shading] shading=gouraud: FPS: 146 FrameTime: 6.849 ms
[shading] shading=blinn-phong-inf: FPS: 140 FrameTime: 7.143 ms
[shading] shading=phong: FPS: 117 FrameTime: 8.547 ms
[bump] bump-render=high-poly: FPS: 95 FrameTime: 10.526 ms
[bump] bump-render=normals: FPS: 186 FrameTime: 5.376 ms
[bump] bump-render=height: FPS: 173 FrameTime: 5.780 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 104 FrameTime: 9.615 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 56 FrameTime: 17.857 ms
[pulsar] light=false:quads=5:texture=false: FPS: 198 FrameTime: 5.051 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 52 FrameTime: 19.231 ms
[desktop] effect=shadow:windows=4: FPS: 146 FrameTime: 6.849 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: Unsupported
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 35 FrameTime: 28.571 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: Unsupported
[ideas] speed=duration: FPS: 99 FrameTime: 10.101 ms
[jellyfish] <default>: FPS: 98 FrameTime: 10.204 ms
[terrain] <default>: Unsupported
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 197 FrameTime: 5.076 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 115 FrameTime: 8.696 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 195 FrameTime: 5.128 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 149 FrameTime: 6.711 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 99 FrameTime: 10.101 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 144 FrameTime: 6.944 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 142 FrameTime: 7.042 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 138 FrameTime: 7.246 ms
=======================================================
                                  glmark2 Score: 138
=======================================================

oraz w trybie offscreen:

=======================================================
    glmark2 2012.08
=======================================================
    OpenGL Information
    GL_VENDOR:     ARM
    GL_RENDERER:   Mali-450 MP
    GL_VERSION:    OpenGL ES 2.0
=======================================================
[build] use-vbo=false: FPS: 205 FrameTime: 4.878 ms
[build] use-vbo=true: FPS: 280 FrameTime: 3.571 ms
[texture] texture-filter=nearest: FPS: 351 FrameTime: 2.849 ms
[texture] texture-filter=linear: FPS: 294 FrameTime: 3.401 ms
[texture] texture-filter=mipmap: FPS: 305 FrameTime: 3.279 ms
[shading] shading=gouraud: FPS: 193 FrameTime: 5.181 ms
[shading] shading=blinn-phong-inf: FPS: 192 FrameTime: 5.208 ms
[shading] shading=phong: FPS: 157 FrameTime: 6.369 ms
[bump] bump-render=high-poly: FPS: 106 FrameTime: 9.434 ms
[bump] bump-render=normals: FPS: 337 FrameTime: 2.967 ms
[bump] bump-render=height: FPS: 357 FrameTime: 2.801 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 136 FrameTime: 7.353 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 70 FrameTime: 14.286 ms
[pulsar] light=false:quads=5:texture=false: FPS: 406 FrameTime: 2.463 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 71 FrameTime: 14.085 ms
[desktop] effect=shadow:windows=4: FPS: 200 FrameTime: 5.000 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: Unsupported
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 40 FrameTime: 25.000 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: Unsupported
[ideas] speed=duration: FPS: 122 FrameTime: 8.197 ms
[jellyfish] <default>: FPS: 128 FrameTime: 7.812 ms
[terrain] <default>: Unsupported
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 352 FrameTime: 2.841 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 171 FrameTime: 5.848 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 323 FrameTime: 3.096 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 220 FrameTime: 4.545 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 137 FrameTime: 7.299 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 206 FrameTime: 4.854 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 206 FrameTime: 4.854 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 217 FrameTime: 4.608 ms
=======================================================
                                  glmark2 Score: 214
=======================================================

Mówcie co chcecie, ale współczynnik wydajności całej platformy do ceny jest zdumiewający. W stresie bez radiatora, główna jednostka nie przekroczyła temperatury 50 stopni Celsjusza:

A co Androidem?

Oczywiście jest dostępny jest Adnroid 4.4.2, który działa bardzo przyzwoicie, osiągając wynik 14989 punktów w programie AnTuTu. Na tle top smartfonów wypada trochę blado, ale i tak jest bardzo dobrze i sprawdzi się również w roli domowego centrum rozrywki.

Dla osób ciekawych wrażeń, jest również osiągalny Android 5.0.2 Lollipop:

Po dwóch latach od premiery modelu Raspberry Pi Model B, postanowiono przgotować jej odświeżony wariant oznaczony jako model B+. Producent wyjaśnia, że w żadnym wypadku nie jest to wyczekiwany Raspberry Pi 2, lecz końcowa wersja tejże linii, zawierająca naniesione sugestie społeczności.

Wśród zmian znajdziemy :

  • zwiększoną liczbę GPIO do 40 pinów przy zachowaniu zgodności z wyprowadzeniami 26 pinów z wersją modelu B,
  • dodano dwa kolejne porty USB 2.0 (w sumie 4 porty),
  • wymienione gniazdo SD na microSD,
  • zmniejszony pobór mocy, dzięki wymienionym regulatorom napięcia, co pozwala na osiągnięcie wyniku pomiędzy 0.5W do 1W,
  • ulepszono segment audio poprzez zastosowania oddzielnego, dedykowanego zasilania,
  • przeniesiono porty USB na krawędź płytki,
  • kompozytowe wyjście wideo przerzucono na 3.5 mm wtyk typu Jack,
  • dodano otwory montażowe,

Jeśli chodzi o procesor to nadal jest to układ BCM2835. Nie zwiększyła się również dostępna pamięć o rozmiarze 512MB. Cena pozostała bez zmian, czyli 35$. Wymiar PCB Raspberry Pi B+ to 85 x 56 mm

Specyfikacja mechaniczna oraz diagram GPIO

Więcej informacji: http://www.raspberrypi.org/blog/#introducing-raspberry-pi-model-b-plus


UDOO to kolejny projekt miniaturowego komputera, który jest w stanie uruchomić system operacyjny Linux lub Android. Jego moc ma być 4x większa niż w przypadku Raspberry Pi oraz oferować to samo co platforma Arduino DUE, umożliwiając podłączenie dodatkowych shieldów.

UDOO jak przystało na tego typ sprzęt, będzie otwartym rozwiązaniem wyposażonym w procesor ARM i.MX6 Freescale oraz ARM SAM3X znanym z Arduino DUE. Wymiary płytki to zaledwie 11 x 8.5 cm, a więc mniej niż standardowe pudełko na płytę CD.

Sugerowane ceny to 110$ i 130$ za wersję kolejno dwu- i czterordzeniową.

Pełna specyfikacja przestawia się następująco:

  • Dwu- lub czterordzeniowy procesor Freescale i.MX 6 ARM Cortex-A9 1GHz,
  • Zintegrowana grafika z oddzielnymi, trzema akceleratorami 2D, OpenGL® ES2.0 3D i OpenVG™,
  • Procesor Atmel SAM3X8E ARM Cortex-M3,
  • 1GB pamięci DDR3,
  • 54 cyfrowe I/O + analogowe wejście,
  • HDMI oraz LVDS + Touch (I2C),
  • Złącze Ethernet RJ45 (10/100/1000 MBit)
  • Moduł WiFi,
  • Mini USB oraz USB OTG,
  • Dwa porty USB 2.0,
  • Analogowe wyjście Audio oraz wejście mikrofonowe,
  • Port SATA (tylko w wersji czterordzeniowej)
  • Slot kamery,
  • Slot Micro SD,
  • Zasilanie z gniazda 5-12 V lub złącza baterii,

Pierwsze egzemplarze mają trafić do zainteresowanych już we wrześniu 2013.

 

Więcej informacji na Kickstarterze.