DFRobot je predstavio svoju novu STEM platformu baziranu na Rockchip RK3308 SoC-u. Ovaj interesantan čip smo susreli u Banana Pi BPI-P2 Pro čiju smo recenziju nedavno objavili. Za razliku od BPi-P2 Pro koji je razvojni sistem, DFRobot UNIHIKER je gotov proizvod i ovde istražujemo koliko i na koji način je DFRobot tim iskoristio mogućnosti ovog SoC-a.
Napomena 25.08.2024.: DFRobot je u sedmom mesecu izdao novu verziju operativnog sistema OS 0.3.6. Detaljno uputstvo za flešovanje dato je na njihovom Wiki sajtu. Pored nekoliko kozmetičkih promena, ažurirane su siot, pinpong, df-xfyun-speech biblioteke i korigovano je podešavanje takta CPU-a, koji je sada 1104 MHz umesto ranijih 816 MHz. Svi benčmarci su dopunjeni rezultatima sa novim OS-om.
Hardver
RK3308B je najslabiji Rockchip 64-bitni SoC sa ARMv8-A arhitekturom. U njemu se nalaze četiri Cortex-A35 jezgra koja po specifikacijama mogu raditi na 1,3 GHz. Takt je u RK3308 prvobitno bio postavljen na 816 MHz, ali je u reviziji kernela iz 2022, takt podignut na 1104 MHz. (Upravo smo ovu primedbu imali i kod BPI-P2 Pro, nakon čega je BPi tim isporučio novi OS imidž sa 1104 MHz i time podigao performanse za oko 30%).
Naši Sysbench CPU i openssl speed testovi potvrdili su da i UNIHIKER radi na osnovnom taktu od 816 MHz, iako u njegovim specifikacijama na sajtu navode da je u pitanju 1,2 GHz. Znamo iz ranijih testova da su Cortex-A35 jezgra izuzetno efikasna i da i pri 100% opterećenju bez hlađenja, čak i pri 1104 MHz ne dolazi do trotlovanja. Ovo otvara mogućnost da DFRobot tim podigne osnovni takt i time rad sa UNIHIKER platformom učini još glatkijim.
Rezultat podizanja takta može se videti i na drugim testovima.
* BPI-P2 Pro u našim testovima ima softverski problem sa drajverima za memoriju, te su FileCopy rezultati na grafiku „pogrešni“.
UNIHIKER na sebi ima 512 MB DDR3L-2133 (1066 MHz) memorije, a treba imati u vidu da RK3308 nema DDR4 podršku. Tu je i slot za SD karticu, kao i 16 GB eMMC HS400 5.1 memorije. Brzina direktnog upisa u eMMC memoriju je 42 MB/s, dok je brzina upisa na SD karticu duplo manja. Za ovakav sistem i njegovu namenu, ove brzine nisu krucijalne, ali svakako bi brži eMMC doprineo ukupnim performansama sistema.
Ono što je neobično za ovaj SoC je da u njemu nema integrisane grafike, pa je generisanje slike potpuno povereno Cortex-A35 jezgrima i integrisanom VOP-u (Video Output Processor). Generisani video signal je 1080p i dobija se preko paralelnog MCU interfejsa na pinovima SoC-a. UNIHIKER, stoga na sebi ima ugrađeni HSD028309 2,8″ 240×320 SPI TFT LCD ekran osetljiv na dodir sa IC drajverom na sebi. Ekran prekriva gotovo celu prednju stranu ovog STEM uređaja. Izbor ekrana verujemo da je kompromis između cene, zahteva za robusnošću i tehničkih karakteristika. Ono čime smo definitivno platili izborom TFT ekrana je mali ugao pod kojim se ekran može posmatrati, a da se ne izgubi tačna reprodukcija boja. Izbor rezistivnog, umesto kapacitivnog tač ekrana, čini da se njegova površina uvija prilikom dodira prsom ili plastičnim vrhom olovke.
Audio mogućnosti su ono po čemu se RK3308 inače izdvaja. UNIHIKER na sebi, iznad ekrana, ima jedan mikrofon. Iako u ovom trenutku nema detaljnih informacija o implementaciji, znamo da RK3308 ima 8 hardverskih audio kanala, koje nezavisno može da obrađuje i VAD (Voice Activity Detector) koji omogućava detekciju ljudskog glasa jednim mikrofonom, filtriranje frekventnog opsega glasa i detekciju njegove amplitude.
Za programiranje i napajanje koristi se USB-C konektor koji se nalazi sa gornje strane uređaja, dok je bočni USB-A 2.0 namenjen za povezivanje periferija.
Najzad, tu je i RTL8723DS Wi-Fi 2.4G / Bluetooth 4.2. Wi-Fi je na Speedtest testovima postizao oko 32 Mbps u dolaznom i 28 Mbps u odlaznom protoku.
Ovim se hardverska podrška koja se oslanja na RK3308 završava. Ipak, kada malo bolje pogledate UNIHIKER, videćete na njemu i dva I2C četvoropinska konektora, četiri tropinska konektora (struktura: I/O port, 3V3, GND) za 21, 22, 23, 24 I/O port, kao i ivični micro:bit konektor na samom dnu pločice na kome je 19 I/O signal (1 ×I2C, 1×UART, 2×SPI, 6×12-bit ADC, 5×10-bit PWM). Za lakši pristup signalima najbolje je koristiti neki od micro:bit breakout board-ova, a mi smo u našoj recenziji koristili Waveshare Edge Breakout for micro:bit koji nam je obezbedila firma Malina314 iz Beograda.
Ono što ćete otkriti već u prvoj upotrebi, ploča na sebi ima i LED diodu, buzzer, senzor intenziteta osvetljenja, 3-osni žiroskop i 3-osni akcelerometar. Sve ove I/O linije izvedene su preko dodatnog GD32VF103C8T6 RISC-V koprocesora. Koprocesor radi na 108MHz i ima sopstvenih 32 KB SRAM-a i 64 KB Flash-a. Koprocesor je direktno povezan sa SoC-om koji upravlja njegovim radom. Postojanje PingPong i Unihiker biblioteke programerima obezbeđuje lak rad sa ovako kombinovanim hardverom, tako da nema nikakvih teškoća u upotrebi.
Jedine dve deljenje tačke su dva dugmeta, označena sa A i B sa desne bočne strane uređaja, čija stanja mogu čitati i SoC i mikroprocesor.
Softverska podrška
Nakon povezivanja UNIHIKER-a sa računarom, pistup do kontrolnog panela se izvodi u browseru na uvek fiksnoj IP adresi 10.1.2.3. Pored linkova ka Wiki stranama sa detaljnim uputstvima prilagođenim čak i potpunim početnicima, tu su Wi-Fi podešavanja za povezivanje na lokalnu mrežu i strana na kojoj možete uključiti lokalni MQTT server i Jupyter notebook. Ova realizacija omogućava da korisnik formira sopstvenu mrežu u kojoj UNIHIKER ima ulogu servera sa IoT uređajima na njoj tako da pristup internetu nije neophodan za rad. Međutim, jasno je da je za ažuriranje sistema, instaliranje novih biblioteka i programa pristup internetu neophodan, što se takođe radi u Network Settings meniju.
Kompanija DFRobot je iskusno ponudila čak četiri softverska ekosistema za rad sa ovim STEM uređajem. Sam UNIHIKER radi na Debian 10 linux OS-u sa 4.4.143 Rockchip kernelom. I upravo je SSH pristup preko Wi-Fi IP adrese koja će mu biti dodeljena prilikom povezivanja na internet mrežu jedan od načina rada za one koji žele da koriste sistem iz terminala u stilu onoga kako bi koristili bilo koji drugi SBC.
Startovanjem Jupyter servisa, naćićete se u Jupyter notebook okruženju, veoma pogodnom za učenje i rad u Python jeziku.
U Jupyter notebooku pored pisanja i pokretanja Python 3 programa, možete kreirati klasičnu Jupyter Text datoteku, ali i pristupiti Debian terminalu kao root.
Za ljubitelje Python programiranja u Microsoft Visual Studio Code okruženju, dato je kompletno uputstvo na Wiki-u. I to bi bio treći ekosistem.
Najzad, tu je i nešto posebno, a pritom je delo DFRobot tima, četvrti ekosistem pod imenom: Mind+. Ovo je jedan od derivata Code Blocks IDE, koji je DFRobot tim prilagodio svojim proizvodima, pa i UNIHIKER-u. Pored pored Unihiker i PingPong biblioteka, tu su i biblioteke za gotovo sve DFRobot senzorske pločice, sem najnovijeg DFRobot Gravity: Offline Language Learning Voice Recognition senzora. U Mind+ možete programirati kucanjem koda u Python-u, ali verujemo da će učenici biti srećniji sa grafičkim à la Code::Blocks editorom sa svim potrebnim bibliotekama. Da bi ilustrovali koliko je lako realizovati projekat, povezali smo UNIHIKER i DFRobot Gravity Huskylens. Čak smo iskoristili jedan od tri navoja za 3,5 mm zavrtanj na UNIHIKER-u ne bi li montirali Huskylens sa svojim originalnim nosačem. Ova tri navoja su veoma zgodna, ne samo za montažu dodataka, već i za montažu samog STEM sistema za neku podlogu.
Program koji smo u par koraka napravili, detektuje crvenu boju Huskylens-om i boji ekran UNIHIKER-a u crvenu boju kada je ona uočena.
Veoma interesantna mogućnost je i instaliranje i pokretanje node-red-a na Unihiker-u. Iz terminala je na Unihiker-u potrebno pokrenuti instalaciju i ispratiti sva pitanja koja vam budu postavljena.
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Nakon instalacije potrebno je pokrenuti node-red pozivanjem node-red-start iz terminala i pristupiti aplikaciji na lokalnom serveru na portu 1880.
Izgled i kvalitet izrade DFRobot UNIHIKER STEM razvojnog sistema
UNIHIKER dolazi lepo spakovan u kvalitetnoj plastičnoj kutiji za čuvanje. Uz ploču, tu je i jedno kratko uputstvo, dovoljno da započetne sa radom i aktivirate Wi-Fi. Pohvaljujemo što je DFRobot u paket uključio sve potrebne kablove za rad: izuzetno kvalitetan USB C kabl, kao i četiri I/O i dva I2C Gravity upletena silikonska kabla.
Od kompanije DFRobot, smo uz osnovni paket, za potrebe ovog prikaza dobili i crnu silikonsku zaštitnu futrolu. Isti materijal je korišćen i za zaštitu Huskylens-a što nam se dopalo, posebno kada smo iskombinovali ova dva uređaja u našem malom demo projektu. Silikonska futrola se lako stavlja i skida i savršeno štiti ploču od dodira, a ujedno daje utisak skupog i završenog uređaja. Ukoliko se odlučite za nabavku UNIHIKER-a, mi vam bezrezervno preporučujemo da nabavite i ovu futrolu. U ponudi su i silikonske zaštite u drugim bojama, nismo probali, ali su možda one i bolji izbor, jer smo primetili da se crna veoma lako prlja prašinom.
Futrola je dvodelna. Veći deo koji obuhvata celu ploču ima sve potrebne otvore za konektore, ekran, mikrofon i senzor intenziteta svetlosti. On ima na sebi silikonsku dugmad za reset, A i B prekidač sa bočne strane. Drugi deo futrole je manji i navlači se po potrebi na ivični micro:bit konektor.
Za iskustvo pri korišćenju softvera i tu zaista nemamo nikakvih zamerki. Uputstva na Wiki-u, dodatne PingPong i Unihiker biblioteke za Python i integracija u Code::Blocks su gotovi proizvodi. Jupyter i Microsoft Visual Studio Code su vrhunski alati koji su opšte prihvaćeni. Izbor softvera za SSH pristup Debian OS-u možete uraditi po sopstvenoj preferenciji, mada mi standardno preporučujemo kao minimum Putty, a MobaXterm za najnaprednije mogućnosti. Naravno možete pristupiti i kroz Jupyter Notebook, ali i kroz DFRobot-ov Mind+, koji pored programiranja u Python-u i slaganja grafičkih blokova, omogućava i SSH pristup terminalu, ali i pristup Python konzoli i na UNIHIKER-u, ali i na vašem računaru.
Zaključak
Po ceni od 80 USD i dodatnih 5 USD za zaštitnu futrolu, dobija se uređaj kome se u funkcionalnom smislu može malo toga zameriti. Voleli bismo da tim razmisli o mogućoj implemetaciji baterije, kako bi uređaj postao prenosiv. Verujemo da je projektovana krajnja cena proizvoda uslovila izbor TFT rezistivnog ekrana i 2,4 GHz Wi-Fi-a. Ono što tim sigurno može uraditi bez dodatnih troškova je podizanje takta na 1,1 GHz, što bi samo doprinelo još ugodnijem radu.
Napomena 26.08.2027.: DFRobot je izdao ekstenzionu ploču koja omogućava povezivanje dva 3 A DC motora i ima izvedenih deset I/O PWM i četiri I2C linija, kao i tri RGB upravljive diode i retko viđen par: IR RX i IR TX. Ploča je izdata pod imenom 2x3A DC Motor Driver Carrier.
DFRobot UNIHIKER je dakle zaokruženo, dobro osmišljeno STEM učilo: u isto vreme je to platforma za Python programiranje i razvoj hardverskih projekata sa odličnim izborom DFRobot Grove senzora i softverskom podrškom. Ova platforma se pokazala kao izdržljiva, dobro osmišljena, celovita i atraktivna, odlično dokumentovana i sa velikim potencijalom te bi je mogli preporučiti kao kvalitetan STEM proizvod.
- Kako u samo 8 korakada angažujete robota u proizvodnji - 04/10/2024
- Melco-Buda: Novi HIOKI uređaji - 04/10/2024
- Toocaa L2 10W i 20W laser: uporedni test - 04/10/2024