SantyagoSantyago
Avatar

Witaj!
Blog archiwalny. Już niebawem nowy serwis!

YouTube RSS Facebook GitHub

Jeśli zastanawialiście się kiedyś nad bezprzewodowym zasilaniem własnych projektów, to najwyższy czas o tym pomyśleć. W ramach ciekawostki sprawdziłem, jak radzą sobie dostępne na naszym rynku dostępne moduły zasilające z zakresu 3.3V - 12V. Macie jakieś ciekawe pomysły zastsowania ich w praktyce?

Pełny artykuł: Bezprzewodowe moduły zasilania

Reklama

MarsBoard RK3066 oprócz współpracy z systemem operacyjnym Android, może działać również pod kontrolą Linuksa. Producent tego urządzenia przygotował swoją odmianę dystrybucji PicUntu oznaczonej numerem 0.9 RC2.2 (bazującej Ubuntu Qantal 12.10). Na stronie domowej MarsBoard możemy wybrać jedną z trzech jego odmian:

  • uruchamianą z pamięci NAND Flash z obsługą ekranu dotykowego HY070CTP-A
  • urcuhamianą z pamięci NAND Flash z obsługą HDMI
  • oraz uruchamianą z karty microSD z obsługą HDMI

Instalacja w pamięci NAND Flash z obsługą HDMI

Do wgrania PicUntu w wersji HDMI do pamięci NAND Flash będziemy potrzebować specjalnego narzędzia o nazwie upgrade_tool (do pobrania z tego miejsca)

  1. # mkdir marsboard
  2. # cd marsboard/
  3. # wget http://www.haoyuelectronics.com/service/RK3066/tools/linux/Linux_Upgrade_Tool_v1.16.zip
  4. # unzip Linux_Upgrade_Tool_v1.16.zip
  5. # chmod +x upgrade_tool

Rzecz jasna, będziemy również potrzebowali obrazu systemu w wersji HDMI:

  1. # wget http://bit.ly/1fRx81u -O picuntu-0.9-RC2.2-HDMI-NAND.img.7z
  2. # 7z x picuntu-0.9-RC2.2-HDMI-NAND.img.7z

Aby mieć możliwość wgrania obrazu do pamięci NAND Flash, musimy uruchomić płytkę w trybie Recovery. W tym celu podczas podłączania do portu USB OTG należy przytrzymać przycisk "SW1". Po tym zabiegu powinniśmy zobaczyć w naszym systemie urządzenie, wydając polecenie lsusb:

  1. # lsusb
  2. Bus 003 Device 012: ID 2207:300a

Kiedy wszystko jest gotowe, możemy przystąpić do "wypalenia" obrazu:

  1. # sudo ./upgrade_tool uf nazwa_naszego_obrazu.img

I gotowe! Po chwil powita nas pulpit GNOME, do którego logujemy się za pomocą hasła: marsboard.

Jak widzimy, rozmiar pamięci NAND nie pozwala nam na wiele manewrów - 2GB to odrobinę krucho jak na PicUntu. Ale o tym dalej. Na początek zajmiemy się konfiguracją połączenia sieciowego.

Konfiguracja Wi-Fi

MarsBoard RK3066 jest dostarczane razem z kartą sieciową USB Wi-Fi Mercury (RTL8188EU) w komplecie. Karta ta (co się komu trafi) może być wykryta jako interfejsy wlan0 - wlan3. Wypadałoby się więc dowiedzieć, pod jakim interfejsem jest dostępna nasza karta sieciowa wydając polecenie: sudo iwconfig. Mając już tą świadomość, możemy przystąpić do konfiguracji połączenia w programie wicd.

W polu "Wireless interface" wpisujemy nasz interfejs i zatwierdzamy przyciskiem OK. Wybierając zakładkę Refresh powinniśmy już widzieć otaczające nas punkty dostępowe sieci bezprzewodowych.

 

Instalacja na karcie pamięci uSD z obsługą HDMI

Jak wspomniałem wcześniej, 2GB pamięć NAND jest pewną przeszkodą, a bootloader dla układu RK3066  jest niestety oprogramowaniem zamkniętym, dlatego uruchomienie systemu musi odbywać się wyłącznie z pamięci NAND Flash. Można jednak odpowiednio skonfigurować start jądra systemu ze wskazaniem karty pamięci SD jako nośnika systemu plików rootfs. Będziemy potrzebowali tym razem dwóch obrazów. Jeden do "wypalenia" w pamięci NAND Flash oraz drugi, przeznaczony dla karty SD. Ponownie korzystamy z narzędzia upgrade_tool w trybie recovery.

  1. # wget http://bit.ly/1j04XCQ -O MarsBoard_RK3066_HDMI_boot_from_sdcard_rootfs_v1.1.img
  2. # wget http://bit.ly/NQ3Jho -O  MarsBoard_RK3066_PicUntu_sd_rootfs.img.tar.gz
  3. # tar -zxvf MarsBoard_RK3066_PicUntu_sd_rootfs.img.tar.gz

Wypalamy pamięć NAND Flash:

  1. # sudo ./upgrade_tool uf MarsBoard_RK3066_HDMI_boot_from_sdcard_rootfs_v1.1.img

a następnie kartę SD:

Uwaga! Należy zwrócić szczególną uwagę na urządzenie docelowe /dev/sdX, abyśmy przypadkiem nie wykasowali sobie ważnego dysku. Karta pamięci musi mieć minimum 4GB.

  1. # sudo dd if=marsboard-picuntu-linuxroot-0.9-RC2.2-lubuntu-desktop-rfs.img of=/dev/sdX

Kiedy wszystko przebiegnie sprawnie, wkładamy kartę microSD do slotu pamięci i odpalamy MarsBoarda.

Domyślnie partycja rootfs posiada rozmiar 3GB, jeśli mamy kartę pamięci o większej pojemności, w prosty sposób możemy zwiększyć jej powierzchnię wydając jedno polecenie:

  1. # sudo resize2fs /dev/mmcblk0

Jeśli mamy na to ochotę, możemy również zaktualizować nasz system:

  1. # sudo apt-get update
  2. # sudo apt-get upgrade

Nie zalecam jednak proponowanej aktualizacji systemu do wersji Ubuntu 13.10 Saucy Salamander.

Problemy z połączeniem Ethernet

W obecnej wersji PicUntu dla MarsBoard RK3066 występuje problem z działaniem portu Ethernet. Nie jest to wina ani systemu, ani jądra systemu. Obecny obraz zawiera bootloader w wersji 1.22, który ma kłopoty z jego inicjalizacją. Problem ten nie występuje podobno w bootloaderze w wersji 2.07. Jak sobie z tym poradzić? Jeszcze nie wiem :) Ale próby i rozmowy trwają.

Wgrywanie nie powiodło się?

Może zdarzyć się sytuacja, że wgrywanie nowego systemu do pamięci NAND Flash zakończy się niepowodzeniem, wyświetlając komunikat "Download Firmware Fail".

Najczęściej może się to przytrafić, gdy zapisujemy system po raz kolejny. Nie należy panikować - wystarczy uprzednio sformatować NAND-a wydając polecenie:

  1. # sudo ./upgrade_tool lf

Co dalej?

Jak to zwykle bywa z działaniem Linuksów z układem graficznym Mali 400 nie ma zaskoczenia. Akceleracja sprzętowa 3D OpenGL ES i dekodowanie materiałów filmowych nie jest jego mocną stroną. Co wcale nie czyni go produktem słabym, czy przeciętnym. Dwa rdzenie Cortex A9 1.6 GHz doskonale sprawdzą się w rozwiązaniach mini-serwera domowego do szerokiej gamy zastosowań (o czym będziecie mogli poczytać w kolejnych częściach). Dotykowy wyświetlacz pojemnościowy LCD za rozsądną cenę to także spory atut otwierający przed Marsem wiele drzwi do zastosowań bardziej wygustowanych. A wszystko to kosztem maksymalnie 5W. Podczas powyższych testów MarsBoard RK3066 przez zdecydowaną większość czasu zadowalał się poborem energii na poziomie jedynie 2.5W.

Oczywiście nie byłbym sobą, gdybym nie przygotował własnej dystrybucji, uzupełniającej obecne niedociągnięcia. Macie jakieś pomysły na nazwę kodową? :)

Kontakt z producentem na forum oceniam jako dobry. Zaangażowanie jest również OK - wiki jest ciągle aktualizowane o nowe poradniki, takie jak: kompilacja, konfiguracja czy wykorzystanie GPIO. Pamiętajmy, że przygotowane obrazy systemów są pierwszymi wersjam, więc należy dać im kredyt zaufania w oczekiwaniu na kolejne wydania.


Sprzęt do testu dostarczył sklep
ArduinoSolutions.

MarsBoard RK3066 to kolejna, niskobudżetowa platforma deweloperska oparta o układ SoC Rockchip RK3066, będący kolejną kombinacją dwurdzeniowego procesora ARM Cortex-A9 taktowanego zegarem 1.6GHz z układem graficznym Mali400.  Dzięki ponownej uprzejmości sklepu ArduinoSolutions mam okazję porównania jej  z innymi dostępnymi urządzeniami tego typu na naszym rynku.

MarsBoard RK3066

 

Nowy MarsBoard w budowie przypomina Iteaduduino Plus - składa się z płytki głównej i wymiennego moduł z układem SoC Rockchip RK3066, pamięcią 1GB DDR3 oraz pamięcią NAND Flash o rozmiarze 4GB, na której możemy zainstalować system operacyjny Android lub Linux. Układ graficzny Mali400 taktowany jest zegarem 533MHz oraz obsługuje standard OpenGL ES 2.0.

Na płycie głównej znajdziemy gniazdo HDMI 1.4a, port Ethernet (LAN8720A), cztery gniazda USB 2.0 oraz jedno microUSB pełniące funkcję OTG. Ciekawym rozwiązaniem jest dostępność dodatkowego gniazda microUSB, pełniącego funkcję portu szeregowego (za tą część odpowiada układ CP2102).

W przypadku, gdy rozmiar pamięci NAND Flash jest dla nas nie wystarczający, możemy skorzytać ze slotu kart pamięci Micro-SD SDXC, z którego również możemy uruchomić system operacyjny. Na płytce znalazły się również cztery przyciski sterujące: VOL+ (Recover Key), VOL-, ESC oraz Power KEY.

Na odwrocie znajdziemy złącze interfejsu LCD do którego możemy podłączyć dedykowany, pojemnościowy ekran dotykowy HY070CTP.

7" ekran TFT HY070CTP (800x480)

Akcesoria

Wraz z MarsBoard RK3066 otrzymamy bezprzewodową kartę sieciową Wi-FI USB Mercury (RTL8188EU), kabelek microUSB oraz zasilacz 5V/4A. W pudełku znalazłem również gustowną, różową podstawkę pod ekran LCD :]

  

Porównanie parametrów

  Raspberry Pi B Iteaduino Plus A10 MarsBoard RK3066 ODROID-X2
 
Procesor Broadcom BCM2835 Allwinner A10 Rockwell RK3066 Exynos 4412
Rodzina ARM v6  ARM Cortex A8 ARM Cortex A9  ARM Cortex A9
Zegar procesora 700 MHz  1,0 GHz 1,6 GHz  1,7 GHz
Liczba rdzeni 1  1  2 4
Układ graficzny VideoCore 4  ARM Mali-400  ARM Mali-400 ARM Mali-400
Zegar grafiki 400 MHz  400 MHz 533 MHz 533 MHz
OpenGL ES 2.0  2.0 2.0 2.0
 Pamięć RAM  512 MB  1024 MB    1024 MB 2048 MB
 USB 2.0  Tak (6x) Tak (2x)  Tak (4x) Tak (6x)  
USB 2.0 OTG Nie Tak (1x) Nie Nie
Serial NIe Tak (1x) Nie Nie
 HDMI Tak Tak Tak Tak
eMMC / NAND Nie Nie Tak
(wbudowana 4GB)
Tak
microSD Nie Tak Tak Nie
SD Tak Nie Nie Tak
SATA Nie Tak Nie Nie
10/100 Ethernet Tak  Tak Tak Tak
Akcesoria
w komplecie
Nie Kabel SATA
Zasilacz
Obudowa
Kabel USB
Zasilacz
Kabel USB
Podstawka LCD
Karta Wi-Fi USB
Nie
Wymiary   86 x 54 mm  109 x 76 mm 105 x 76 mm   90 x 94 mm
Cena ~ 165 zł ~ 235 zł ~ 245 zł ~ 445 zł

Android 4.1.1

Domyślnie w pamięci NAND FLASH zainstalowany jest  Android w wersji 4.1.1 w wersji do współpracy z pojemnościowym ekranem dotykowym LCD HY070CTP. Ekran ten obsługuje rozdzielczość 800x480 pikseli oraz 5 punktów dotykowych  Jak na ustaloną cenę 175 zł to całkiem nieźle!

Parametry systemu

Wydajność w programie Antutu

MarsBoard RK3066 w teście Antutu otrzymuje wynik 11.847 punktów. Przypomnę, że Iteaduino Plus A10 uzyskał wynik 3.962 punktów, natomiast ODROID-X2 zdobywa w tym teście 19.574 punktów.

  

Wydajność w programie 3D Mark

Do testu w programie 3D Mark konieczna była instalacja systemu Android w wersji 4.2.2 opartego o oprogramowanie R-BOX. Niestety system ten nie posiada roota i nie mogłem wykonać tradycyjnego zrzutu ekranu. Dlatego proszę o wybaczenie za popełnione zdjęcie :) Tak, czy inaczej MarsBoard RK3066 uzyskuje dobry wynik 2534 punktów vs. ODROID-X2 2612 punktów.

Podsumowanie

Nowy MarsBoard RK3066 to bardzo ciekawa pozycja, oferująca bardzo dobry wynik stosunku wydajności do ceny.

Dwurdzeniowy, szybki procesor, wbudowana pamięć NAND Flash oraz wydajny układ graficzny Mali 400 czyni go liderem w tym przedziale cenowym. Producent zadbał również o komplet obrazów NAND oraz SD systemów operacyjnych Android 4.1, Android 4.2 oraz PicUntu 0.9 RC2.2 (Ubuntu Qantal 12.10 + Lubuntu). Na stronie domowej znajdziemy także narzędzia do flashowania pamięci NAND dla systemów operacyjnych Linux i Windows oraz dokumentację.

Nie zapomniano również o poradnikach na temat instalacji, kompilacji oraz konfiguracji na specjalnie przygotowanym wiki Jeśli chodzi o samego Androida to działa płynnie, bez problemu odtwarza materiały filmowe w rozdzielczości 1080p. Obsługa taniego, dotykowego wyświetlacza LCD czyni go smakowitym kąskiem do zastosowań w automatyce.


Sprzęt do testu dostarczył sklep
ArduinoSolutions.

Dotarła do mnie w końcu nowa wersja ODROIDA oznaczona symbolem XU (Extreme + Ultimate), będąca następcą modelu X2.  Jednostka wyposażona jest w ośmiordzeniowy układ SoC Exynos 5410 z technologią big.LITTLE (Cortex A15 + Cortex A7), gdzie poszczególne rdzenie są aktywne w zależności od obciążenia systemu.

Odroid-XU wyposażony jest w 2GB LPDDR3 pamięci RAM, złącze HDMI, cztery porty USB 2.0 oraz dwa USB 3.0 (w tym jeden pracujący w trybie OTG). Na płytce znajdziemy również czytnik katy Micro-SD oraz slot pamięci eMMC w wersji 4.5.

W odróżnieniu od innych układów z serii Exynos 4xxx, znajdziemy tutaj układ graficzny PowerVR SGX 544MP. Co ciekawe, XU został wyposażony również w uniwersalny port DisplayPort, co powinno ucieszyć właścicieli monitorów z tym wejściem. Jestem tutaj zaskoczony, ponieważ w oryginalnych zdjęciach tego portu brak.

Rozmiarowo XU jest krótszy od swojego poprzednika aż o 3 cm, a także niższy dzięki nisko profilowemu chłodzeniu, które jest wyjątkowo ciche. W wersji X2 wentylator jest podłączony do portu USB, co przekłada się na większy hałas, ponieważ wentylator pracuję z maksymalną prędkością obrotową. XU z kolei inteligentnie steruje prędkością obrotową nawet do zera, gdy temperatura układu jest odpowiedni niska.

W ODROID-XU bardziej przemyślano rozmieszczenie wszystkich gniazd, wykorzystując jedynie przeciwległe sobie krawędzie płytki.  Z jednej strony znajdziemy gniazdo zasilania, porty USB 3.0, slot kart pamięci microSD, gniazdo HDMI oraz wyjście Audio. Z drugiej natomiast strony gniazdo Ethernet, porty USB 2.0 oraz DisplayPort. Bardzo dobrym pomysłem okazuje się również umieszczenie gniazda pamięci eMMC na górnej warstwie płytki PCB zamiast na dolnej, jak ma to miejsce w wersji X2.

Akcesoria

Oczywiście również do wersji XU dostępne są dodatkowe akcesoria. Nie mogło zabraknąć konwertera UART, dongla Wi-Fi oraz karty pamięci eMMC. Tutaj jest również zmiana - XU obsługuje pamięci eMMC w wersji 4.5 (X2 obsługuje wersję 4.21), co powinno przełożyć się na prędkość operacji I/O.

Bardzo cieszy zastosowanie zasilacza z "normalnym" wtykiem 2.1/5.5 mm. Do dziś pamiętam gorączkowe bieganie w poszukiwaniu 5V zasilacza z wtykiem 0.8/2.5mm dla X2.

Należy tutaj pochwalić producenta za standardowy zestaw, gdzie w podstawowej cenie znajduje się również odpowiedni zasilacz 5V/4A oraz zamykana obudowa. Koniec ze zbieraniem nadmiernej ilości kurzu :)

Porównanie parametrów

  ODROID-X ODROID-X2 ODROID-XU
   
Procesor Exynos 4412 Exynos 4412 Exynos 5410
Rodzina ARM Cortex A9 ARM Cortex A9 ARM Cortex A15
ARM Cortex A7 big.LITTLE
Zegar procesora 1,4 GHz  1,7 GHz  1,6G Hz
Liczba rdzeni 4 4 8
Układ graficzny ARM Mali-400
25 GFLOPS
ARM Mali-400
34 GFLOPS
PowerVR SGX 544MP
76 GFLOPS
Zegar grafiki 400 MHz 533 MHz 640 MHz
OpenGL ES 2.0 2.0 2.0
OpenVG 1.1 1.1 1.1
OpenCL Nie Nie 1.1
 Pamięć RAM  1024 MB 2048 MB  2048 MB
 USB 2.0  Tak (6x) Tak (6x)    Tak (4x)
USB 3.0 Nie Nie Tak (1x)
USB 3.0 OTG Nie Nie Tak (1x)
 HDMI Tak Tak Tak
DisplayPort Nie NIe Tak
eMMC Tak Tak Tak
microSD Nie Nie Tak
10/100 Ethernet Tak Tak Tak
Wymiary   90 x 94 mm   90 x 94 mm  69.80 x 94 mm

System operacyjny

Na chwilę obecną dostępny jest system operacyjny Android 4.2.2 z jądrem w wersji 3.4.5. Jak wygląda sprawa z dystrybucjami Linuksa zamierzam sprawdzić dopiero na dniach, przeprowadzając bardziej szczegółowe testy wydajności.

Antutu Benchmark

W programie Antutu ODROID-XU zdobywa 30.054 punktów, wyprzedzając tym samym Samsung Galaxy S4. ODROID-X2 uzyskuje wynik o 35% słabszy, otrzymując 19.574 punktów.

3D Mark Ice Storm

Bardzo interesujące są wyniki 3D Mark Ice Strom. Wersja X2 otrzymała w tym teście ogólny wynik 2612 punktów (Graphics test 1 - 6.9 FPS, Graphics test 2 - 14.2 FPS, Physics test - 35.1 FPS). Wersja XU nie otrzymała wyników, ponieważ pierwszy test był ograniczony częstotliwością odświeżania obrazu 60Hz (Graphics test 1 - 56.9 FPS, Graphics test 2 - 44.4 FPS, Physics test - 46.5 FPS).

Dopiero test Ice Strom Extreme oszacował liczbę punktów. Wersja X2 otrzymała w tym teście ogólny wynik 1947 punktów (Graphics test 1 - 5.8 FPS, Graphics test 2 - 8.4 FPS, Physics test - 34.5 FPS). Wersja XU zdobywa natomiast 7363 punktów (Graphics test 1 - 37.3 FPS, Graphics test 2 - 23.1 FPS, Physics test - 40.8 FPS).

Podsumowanie

Całość zapowiada się bardzo interesująco. ODROID-XU oferuje bardzo wysoką wydajność w systemie Android, pozwalając na uruchomienie bardzo wymagających aplikacji oraz gier. Specyfikacja techniczna jest również bardzo mocna. Co prawda, nie wiem jak sprawa wygląda pod kątem działania systemu operacyjnego Linuks, ale wszystkie powyższe cechy i tak wypływają na wielki plus. ODROID-XU cierpi oczywiście na problemy wieku młodzieńczego, takie jak współpraca z niektórymi modelami monitorów z wejściem HDMI, gdzie obsługa realizowana jest przez wewnętrzny konwerter DVI » HDMI (zamiast typowego sterownika HDMI) - ale nie są to problemy, nie do przeskoczenia.

W moim przypadku automatyczne wykrywanie sygnału pomiędzy gniazdami DVI, a HDMI jest trochę "kulawe", ponieważ mój monitor Iiyama ProLite E2271HDS stara się wykryć sygnał HDMI przez zbyt krótki czas, przełączając się automatycznie na DVI. Moim rozwiązaniem jest odłączenie DVI lub wybór na stałe wejścia HDMI, zamiast trybu automatycznego.

Pod telewizorem Samsung wykrycie sygnału HDMI jest niemal natychmiastowe. Ogoromą zaletą jest tutaj również spora społeczność skupiająca wokół platformy, a forum tętni życiem, wraz z aktywnym uczestnictwem producenta.Ten element jest tutaj szalenie ważny i kluczowy.

Tak jak w przypadku ODROID-X2, jestem przekonany, że wykryte problemy zostaną z czasem rozwiązane, a całość pokaże jeszcze większe pazury.

Zapraszam do wyczerpującego artykułu na temat wykorzystania technologii NFC oraz RFID w projektach Arduino. Znajdziecie w nim między innymi porównanie technologii oraz sposoby dostępu do pamięci EEPROM w kartach standardu MIFARE. Dowiecie  się również w jaki sposób zmienić klucze dostępowe oraz jak ustawić bardziej zaawansowane reguły dostępu do bloków pamięci.

Artykuł:
https://www.jarzebski.pl/arduino/komponenty/czytnik-rfid-nfc-nxp-pn532.html

Kalkulator Access Bits:
https://www.jarzebski.pl/arduino/narzedzia/bity-dostepu-do-pamieci-kart-mifare.html