สวัสดีครับ วันนี้ผมจะมารีวิว single-board computer หรือ SBC ที่ชื่อว่า Purple Pi OH จาก Wireless-Tag ครับ อุปกรณ์นี้เป็นบอร์ดพัฒนาที่เข้ากันได้กับ Raspbery Pi ถูกออกแบบมาให้สามารถนำไปใช้งานได้หลายด้าน ทั้งการใช้งานอินเตอร์เน็ตทั่วไป หรือนำไปประยุกต์สร้างเป็นอุปกรณ์อัจฉริยะต่าง ๆ รวมถึงยังสามารถนำไปใช้งานด้าน Artificial Intelligence Internet of Things (AIOT) ได้อีกด้วย โดยผู้ผลิตส่งอุปกรณ์มาให้ผมทดสอบ 2 ชุด คือ Purple Pi OH รุ่นหน่วยความจำ 2GB ที่มี storage ขนาด 16GB รองรับ Wi-Fi 2.4G (ในรีวิวนี้จะเรียกย่อว่า Purple Pi OH) และ Purple Pi OH Pro รุ่นหน่วยความจำ 4GB ที่มี storage ขนาด 32GB รองรับ Wi-Fi 2.4G และ Wi-Fi 5G (ในรีวิวนี้จะเรียกย่อว่า Purple Pi OH Pro)
คุณสมบัติทั่วไปของทั้งสองบอร์ดนี้จะคล้ายกันแทบทุกอย่าง นั่นคือใช้ชิป Rockchip RK3566 ซึ่งมี Coretex-A55 ที่เป็นหน่วยประมวลผล quad-core แบบ 64 bit มีความเร็วสัญญาณนาฬิกาหลักสูงสุดที่ 1.8 GHz, ใช้ GPU ของ Mali-G52 1-core-2EE สำหรับการเร่งความเร็วการแสดงผลกราฟิกส์ นอกจากนั้นยังมี NPU (neural processing unit) สำหรับการเร่งการทำงานด้านปัญญาประดิษฐ์ที่มีประสิทธิภาพการประมวลผลได้สูงสุดที่ 1 TOPS สำหรับคุณสมบัติอื่น ๆ สามารถอ่านเพิ่มเติมได้จากเว็บไซต์ของผู้ผลิตครับ
แกะกล่อง
ผู้ผลิตส่งส่งพัสดุมาจากประเทศจีน ภายในมีกล่องกระดาษลูกฟูก 2 กล่อง แต่ละกล่องจะบรรจุบอร์ดและอุปกรณ์อื่น ๆ เหมือนกัน นั่นคือภายในจะมีบอร์ดหลัก, สายอากาศ dual-band สำหรับ Wi-Fi แบบ 2.4G/5.8G, แบตเตอรี่สำหรับ RTC, heat sink, debug serial port line, สาย USB Type-C, ขาตั้งจอ (พลาสติก), จอภาพขนาด 7 นิ้วแบบ MIPI และกล้อง OV5648 ความละเอียด 5 ล้านพิกเซลแบบ MIPI ซึ่งหลังจากผมประกอบอุปกรณ์ต่าง ๆ เรียบร้อยแล้ว และทดลองเปิดใช้งานก็พบว่าผู้ผลิตได้ติดตั้งระบบปฏิบัติการมาแล้วทั้งสองบอร์ด พร้อมทำงานได้ทันที
ภาพมุมอื่น ๆ ของบอร์ดชุดนี้
ติดตั้งระบบปฏิบัติการ
เว็บไซต์ของผู้ผลิตแจ้งว่าบอร์ดรองรับระบบปฏิบัติการหลายแบบ ทั้ง Android 11, Debian 10, Ubuntu 20.04, OpenHamony และ Kylin OS โดยอุปกรณ์ที่ผมได้รับมานั้นติดตั้งระบบปฏิบัติการมาให้แล้ว แต่ในการรีวิวนี้ผมจะติดตั้ง Ubuntu 20.04 ใหม่ครับ
โดยในเบื้องต้นผู้ผลิตได้เตรียมเอกสารต่าง ๆ ไว้ให้ในเว็บไซต์แล้ว สำหรับเอกสารเกี่ยวกับการติดตั้ง Ubuntu นั้นอ่านได้จาก Purple-Pi-OH RK3566-Firmware and burning instructions ครับ โดยหลัก ๆ แล้วเราจะต้องเตรียมบอร์ดและสาย USB Type-C สำหรับการเชื่อมต่อระหว่างคอมพิวเตอร์กับบอร์ดให้พร้อม สำหรับ image file ของ firmware และเครื่องมือสำหรับการ burn firmware นั้นผู้ผลิตได้เตรียมไว้ให้ใน Cloud ของ Baidu (URL และรหัสผ่านเข้าใช้งานอยู่ในคู่มือการติดตั้ง) ซึ่งขั้นตอนคร่าว ๆ ก็คือ เราต้องติดตั้ง driver และ tool ต่าง ๆ ให้เรียบร้อย (เช่น DriverAssitant, RkDevTool) เสร็จแล้วจึงทำให้บอร์ดเข้าสู่ Loader Mode เสร็จแล้วใช้โปรแกรม RkDevTool เปิด image file เสร็จแล้วกดปุ่ม Upgrade เพื่อ burn ใช้เวลาไม่นานการติดตั้งก็จะเรียบร้อย ตามตัวอย่างในภาพด้านล่างนี้
โดยรวม ๆ แล้วการติดตั้งต่าง ๆ ทำได้สะดวก เพียงแต่ผมมีปัญหาอยู่บ้าง อย่างแรกที่พบอย่างแรกคือ UI ของโปรแกรมที่ต้องใช้เป็นภาษาจีน แต่เราก็สามารถเปลี่ยน UI ของโปรแกรมจากภาษาจีนเป็นภาษาอังกฤษได้ด้วยการเปิดไฟล์ config.ini ของโปรแกรม RkDevTool แล้วค้นหา Section [Langauge] จากนั้นกำหนดค่า Selected=2 เมื่อเปิดโปรแกรมใหม่ก็จะได้ UI ภาษาอังกฤษ
ประเด็นต่อมาคือ Cloud ที่ผู้ผลิตเตรียมไว้นั้นอยู่บนเว็บไซต์ Baidu และเราจำเป็นต้องสมัครสมาชิกให้เรียบร้อยจึงจะสามารถ download ข้อมูลได้ ซึ่ง ณ วันที่ผมทดลองใช้งานนั้นยังไม่เปิดให้ผู้ใช้ที่อยู่ต่างประเทศสมัครสมาชิกได้ (จำเป็นต้องใช้หมายเลขโทรศัพท์ในการยืนยันการใช้งาน) ดังนั้นในการติดตั้งจริงผมจึงต้องขอ URL ของ Cloud อื่นจากผู้ผลิตมาใหม่จึงจะสามารถ download firmware และเครื่องมือต่าง ๆ มาใช้งานได้
ปัญหาอีกอย่างหนึ่งคือ การเข้าสู่ Loader Mode นั้นทำได้ 2 วิธี คือการกดปุ่ม Recovery บนบอร์ดและการใช้ซอฟต์แวร์ ในการรีวิวนี้ผมใช้การกดปุ่ม Recovery โดยถ้าอ้างอิงตามภาพประกอบในเอกสารก็คือปุ่ม SW1 ซึ่งผมจะสับสนนิดหน่อยเนื่องจากตำแหน่งของปุ่ม SW1 ที่แสดงในเว็บไซต์และคู่มือ (เวอร์ชัน 2022/04/06) กับบนบอร์ดจริงนั้นไม่ตรงกัน โดยภาพด้านล่างซ้ายเป็นตำแหน่งของปุ่ม SW1 ในเอกสารและภาพประกอบบนเว็บไซต์ แต่ด้านล่างภาพขวาจะเป็นตำแหน่งของปุ่ม SW1 ในบอร์ดจริง ดังนั้นถ้าเราจะกดก็ต้องตรวจสอบให้ดี
หลังจากทุกอย่างเรียบร้อย เราก็จะได้ Ubuntu 20.04 (Focal Fossa) โดยใช้ LXQt 0.14.1 ซึ่งเมื่อใช้คำสั่ง inxi ตรวจสอบรายละเอียดต่าง ๆ ของทั้งสองบอร์ดก็ได้จะผลลัพธ์ดังนี้ครับ
System Information ของบอร์ด Purple Pi OH
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
ido@ido:~$ inxi -Fc0 System: Host: ido Kernel: 4.19.232 aarch64 bits: 64 Desktop: LXQt 0.14.1 Distro: Ubuntu 20.04.3 LTS (Focal Fossa) Machine: Type: ARM Device System: Rockchip RK3566 Purple Pi OH-3566 V1 Board serial: c448f480018ea206 CPU: Topology: Quad Core model: N/A variant: cortex-a55 bits: 64 type: MCP Speed: 1800 MHz min/max: 408/1800 MHz Core speeds (MHz): 1: 1800 2: 1800 3: 1800 4: 1800 Graphics: Device-1: display-subsystem driver: rockchip_drm v: N/A Device-2: mali-bifrost driver: mali v: N/A Display: x11 server: X.Org 1.20.8 driver: modesetting resolution: 800x1280~60Hz OpenGL: renderer: llvmpipe (LLVM 12.0.0 128 bits) v: 4.5 Mesa 21.0.3 Audio: Device-1: simple-audio-card driver: N/A Device-2: simple-audio-card driver: asoc_simple_card Sound Server: ALSA v: k4.19.232 Network: Device-1: rk3568-gmac driver: rk_gmac_dwmac IF: eth0 state: down mac: 5a:6c:19:cf:9a:88 Device-2: wlan-platdata driver: wlan_platdata IF-ID-1: wlan0 state: up mac: e8:fb:1c:86:ea:dd Drives: Local Storage: total: 14.56 GiB used: 7.18 GiB (49.3%) ID-1: /dev/mmcblk0 model: AJTD4R size: 14.56 GiB Partition: ID-1: / size: 13.94 GiB used: 7.18 GiB (51.5%) fs: ext4 dev: /dev/mmcblk0p8 Sensors: Message: No sensors data was found. Is sensors configured? Info: Processes: 190 Uptime: 26m Memory: 1.93 GiB used: 667.5 MiB (33.8%) Shell: bash inxi: 3.0.38 |
System Information ของบอร์ด Purple Pi OH Pro
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
System: Host: ido Kernel: 4.19.232 aarch64 bits: 64 Desktop: LXQt 0.14.1 Distro: Ubuntu 20.04.3 LTS (Focal Fossa) Machine: Type: ARM Device System: Rockchip RK3566 Purple Pi OH-3566 V1 Board serial: 65442c043c42255b CPU: Topology: Quad Core model: N/A variant: cortex-a55 bits: 64 type: MCP Speed: 1800 MHz min/max: 408/1800 MHz Core speeds (MHz): 1: 1800 2: 1800 3: 1800 4: 1800 Graphics: Device-1: display-subsystem driver: rockchip_drm v: N/A Device-2: mali-bifrost driver: mali v: N/A Display: x11 server: X.Org 1.20.8 driver: modesetting resolution: 800x1280~60Hz OpenGL: renderer: llvmpipe (LLVM 12.0.0 128 bits) v: 4.5 Mesa 21.0.3 Audio: Device-1: simple-audio-card driver: N/A Device-2: simple-audio-card driver: asoc_simple_card Sound Server: ALSA v: k4.19.232 Network: Device-1: rk3568-gmac driver: rk_gmac_dwmac IF: eth0 state: down mac: 1a:8e:b0:55:33:b0 Device-2: wlan-platdata driver: wlan_platdata IF-ID-1: wlan0 state: up mac: 10:68:38:21:c9:fb Drives: Local Storage: total: 29.12 GiB used: 4.60 GiB (15.8%) ID-1: /dev/mmcblk0 model: SPeMMC size: 29.12 GiB Partition: ID-1: / size: 28.50 GiB used: 4.60 GiB (16.2%) fs: ext4 dev: /dev/mmcblk0p8 Sensors: Message: No sensors data was found. Is sensors configured? Info: Processes: 197 Uptime: 2h 20m Memory: 3.81 GiB used: 1.08 GiB (28.3%) Shell: bash inxi: 3.0.38 |
ทดสอบประสิทธิภาพด้วย sbc-bench
ผมเริ่มทดสอบการทำงานของทั้งสองบอร์ดด้วยการรันสคริปต์ sbc-bench ของ Thomas Kaiser ซึ่งได้ผลลัพธ์ตามรายละเอียดด้านล่างนี้
ผลลัพธ์ของบอร์ด Purple Pi OH
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
ido:~/Desktop/PPI/Tools/sbc-bench$ sudo ./sbc-bench.sh -r Starting to examine hardware/software for review purposes... ... sbc-bench v0.9.63 Installing needed tools: apt-get -f -qq -y install, updating cpufetch. Done. Checking cpufreq OPP. Done. Executing tinymembench. Done. Executing RAM latency tester. Done. Executing OpenSSL benchmark. Done. Executing 7-zip benchmark. Done. Throttling test: heating up the device, 5 more minutes to wait. Done. Checking cpufreq OPP again. Done (16 minutes elapsed). Results validation: * Measured clockspeed not lower than advertised max CPU clockspeed * Background activity (%system) OK Full results uploaded to http://sprunge.us/96JoCE # Rockchip RK3566 Purple Pi OH-3566 V1 Board Tested with sbc-bench v0.9.63 on Thu, 29 Feb 2024 14:04:05 +0700. Full info: [http://sprunge.us/96JoCE](http://sprunge.us/96JoCE) ### General information: Rockchip RK3566 (35662000), Kernel: aarch64, Userland: arm64 CPU sysfs topology (clusters, cpufreq members, clockspeeds) cpufreq min max CPU cluster policy speed speed core type 0 0 0 408 1800 Cortex-A55 / r2p0 1 0 0 408 1800 Cortex-A55 / r2p0 2 0 0 408 1800 Cortex-A55 / r2p0 3 0 0 408 1800 Cortex-A55 / r2p0 1972 KB available RAM ### Governors/policies (performance vs. idle consumption): Original governor settings: cpufreq-policy0: performance / 1800 MHz (conservative ondemand userspace powersave interactive performance / 408 600 816 1104 1416 1608 1800) dmc: performance / 1056 MHz (rknpu_ondemand dmc_ondemand vdec2_ondemand venc_ondemand userspace powersave performance simple_ondemand / 324 528 780 1056) fde40000.npu: performance / 900 MHz (rknpu_ondemand dmc_ondemand vdec2_ondemand venc_ondemand userspace powersave performance simple_ondemand / 200 297 400 600 700 800 900) fde60000.gpu: performance / 800 MHz (rknpu_ondemand dmc_ondemand vdec2_ondemand venc_ondemand userspace powersave performance simple_ondemand / 200 300 400 600 700 800) fdf40000.rkvenc: performance / 400 MHz (rknpu_ondemand dmc_ondemand vdec2_ondemand venc_ondemand userspace powersave performance simple_ondemand / 297 400) fdf80200.rkvdec: performance / 400 MHz (rknpu_ondemand dmc_ondemand vdec2_ondemand venc_ondemand userspace powersave performance simple_ondemand / 297 400) Tuned governor settings: cpufreq-policy0: performance / 1800 MHz dmc: performance / 1056 MHz fde40000.npu: performance / 900 MHz fde60000.gpu: performance / 800 MHz fdf40000.rkvenc: performance / 400 MHz fdf80200.rkvdec: performance / 400 MHz Status of performance related policies found below /sys: /sys/devices/platform/fde60000.gpu/power_policy: [coarse_demand] always_on ### Clockspeeds (idle vs. heated up): Before at 41.2°C: cpu0 (Cortex-A55): OPP: 1800, Measured: 1791 After at 72.2°C: cpu0 (Cortex-A55): OPP: 1800, Measured: 1764 (-2.0%) ### Performance baseline * memcpy: 2849.1 MB/s, memchr: 3142.0 MB/s, memset: 7754.8 MB/s * 16M latency: 181.9 185.7 181.9 183.5 181.2 182.9 244.4 451.7 * 128M latency: 198.3 198.6 193.6 196.4 196.3 196.5 252.3 467.5 * 7-zip MIPS (3 consecutive runs): 4579, 4578, 4541 (4570 avg), single-threaded: 1338 * `aes-256-cbc 157355.90k 400690.82k 661750.87k 786019.33k 832268.97k 835589.46k` * `aes-256-cbc 157278.01k 399711.51k 657654.02k 784094.89k 830868.14k 834093.06k` ### Storage devices: * 14.6GB "Samsung AJTD4R" HS200 eMMC 5.1 card as /dev/mmcblk0: date 03/2023, manfid/oemid: 0x000015/0x0100, hw/fw rev: 0x0/0x0600000000000000 ### Software versions: * Ubuntu 20.04.3 LTS (focal) * Compiler: /usr/bin/gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 / aarch64-linux-gnu * OpenSSL 1.1.1f, built on 31 Mar 2020 ### Kernel info: * `/proc/cmdline: storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal androidboot.verifiedbootstate=orange rw rootwait earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0 root=PARTUUID=614e0000-0000` * Vulnerability Spectre v1: Mitigation; __user pointer sanitization * Kernel 4.19.232 / CONFIG_HZ=300 Kernel 4.19.232 is not latest 4.19.307 LTS that was released on 2024-02-23. See https://endoflife.date/linux for details. It is somewhat likely that a lot of exploitable vulnerabilities exist for this kernel as well as many unfixed bugs. But this version string doesn't matter since this is not an official LTS Linux from kernel.org. This device runs a forward ported Rockchip vendor/BSP kernel. All known settings adjusted for performance. Device now ready for benchmarking. Once finished stop with [ctrl]-[c] to get info about throttling, frequency cap and too high background activity all potentially invalidating benchmark scores. All changes with storage and PCIe devices as well as suspicious dmesg contents will be reported too. Time CPU load %cpu %sys %usr %nice %io %irq Temp 14:04:06: 1800MHz 3.30 48% 1% 46% 0% 0% 0% 60.6°C 14:05:06: 1800MHz 1.21 0% 0% 0% 0% 0% 0% 50.6°C 14:06:06: 1800MHz 0.44 0% 0% 0% 0% 0% 0% 46.7°C 14:07:06: 1800MHz 0.16 0% 0% 0% 0% 0% 0% 44.4°C 14:08:06: 1800MHz 0.06 0% 0% 0% 0% 0% 0% 42.5°C 14:09:06: 1800MHz 0.08 0% 0% 0% 0% 0% 0% 41.2°C 14:10:06: 1800MHz 0.08 0% 0% 0% 0% 0% 0% 40.6°C ^C Cleaning up. Done. Checking cpufreq OPP again. Done. Clockspeeds now at 43.8°C: cpu0 (Cortex-A55): OPP: 1800, Measured: 1789 ... |
ผลลัพธ์ของบอร์ด Purple Pi OH Pro
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
Starting to examine hardware/software for review purposes... Average load and/or CPU utilization too high (too much background activity). Waiting... ... sbc-bench v0.9.63 ... Results validation: * Measured clockspeed not lower than advertised max CPU clockspeed * Background activity (%system) OK # Rockchip RK3566 Purple Pi OH-3566 V1 Board ... ### General information: Rockchip RK3566 (35662000), Kernel: aarch64, Userland: arm64 CPU sysfs topology (clusters, cpufreq members, clockspeeds) cpufreq min max CPU cluster policy speed speed core type 0 0 0 408 1800 Cortex-A55 / r2p0 1 0 0 408 1800 Cortex-A55 / r2p0 2 0 0 408 1800 Cortex-A55 / r2p0 3 0 0 408 1800 Cortex-A55 / r2p0 3905 KB available RAM ### Governors/policies (performance vs. idle consumption): Original governor settings: cpufreq-policy0: performance / 1800 MHz (conservative ondemand userspace powersave interactive performance / 408 600 816 1104 1416 1608 1800) dmc: performance / 1056 MHz (rknpu_ondemand dmc_ondemand vdec2_ondemand venc_ondemand userspace powersave performance simple_ondemand / 324 528 780 1056) fde40000.npu: performance / 900 MHz (rknpu_ondemand dmc_ondemand vdec2_ondemand venc_ondemand userspace powersave performance simple_ondemand / 200 297 400 600 700 800 900) fde60000.gpu: performance / 800 MHz (rknpu_ondemand dmc_ondemand vdec2_ondemand venc_ondemand userspace powersave performance simple_ondemand / 200 300 400 600 700 800) fdf40000.rkvenc: performance / 400 MHz (rknpu_ondemand dmc_ondemand vdec2_ondemand venc_ondemand userspace powersave performance simple_ondemand / 297 400) fdf80200.rkvdec: performance / 400 MHz (rknpu_ondemand dmc_ondemand vdec2_ondemand venc_ondemand userspace powersave performance simple_ondemand / 297 400) Tuned governor settings: cpufreq-policy0: performance / 1800 MHz dmc: performance / 1056 MHz fde40000.npu: performance / 900 MHz fde60000.gpu: performance / 800 MHz fdf40000.rkvenc: performance / 400 MHz fdf80200.rkvdec: performance / 400 MHz Status of performance related policies found below /sys: /sys/devices/platform/fde60000.gpu/power_policy: [coarse_demand] always_on ### Clockspeeds (idle vs. heated up): Before at 48.3°C: cpu0 (Cortex-A55): OPP: 1800, Measured: 1860 (+3.3%) After at 59.4°C: cpu0 (Cortex-A55): OPP: 1800, Measured: 1862 (+3.4%) ### Performance baseline * memcpy: 2826.4 MB/s, memchr: 3241.7 MB/s, memset: 7495.4 MB/s * 16M latency: 180.8 184.1 180.3 181.8 179.4 181.4 241.6 447.2 * 128M latency: 196.7 195.6 191.4 195.9 191.2 194.5 252.1 462.1 * 7-zip MIPS (3 consecutive runs): 4836, 4779, 4822 (4810 avg), single-threaded: 1390 * `aes-256-cbc 162279.43k 415338.52k 687460.10k 819039.23k 868196.35k 871940.10k` * `aes-256-cbc 161383.75k 417960.73k 687332.35k 819466.92k 868843.52k 872781.14k` ### Storage devices: * 29.1GB "SPeMMC" HS200 eMMC 5.1 card as /dev/mmcblk0: date 06/2021, manfid/oemid: 0x0000ea/0x010e, hw/fw rev: 0x0/0x3035303530380000 ### Software versions: * Ubuntu 20.04.3 LTS (focal) * Compiler: /usr/bin/gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 / aarch64-linux-gnu * OpenSSL 1.1.1f, built on 31 Mar 2020 ### Kernel info: * `/proc/cmdline: storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal androidboot.verifiedbootstate=orange rw rootwait earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0 root=PARTUUID=614e0000-0000` * Vulnerability Spectre v1: Mitigation; __user pointer sanitization * Kernel 4.19.232 / CONFIG_HZ=300 ... Time CPU load %cpu %sys %usr %nice %io %irq Temp 03:11:06: 1800MHz 4.05 47% 1% 45% 0% 0% 0% 50.0°C 03:12:06: 1800MHz 1.48 0% 0% 0% 0% 0% 0% 39.4°C 03:13:06: 1800MHz 0.54 0% 0% 0% 0% 0% 0% 37.2°C 03:14:06: 1800MHz 0.24 1% 0% 0% 0% 0% 0% 38.3°C 03:15:06: 1800MHz 0.09 0% 0% 0% 0% 0% 0% 36.7°C ^C Cleaning up. Done. Checking cpufreq OPP again. Done. Clockspeeds now at 40.0°C: cpu0 (Cortex-A55): OPP: 1800, Measured: 1878 (+4.3%) ... |
การทดสอบข้างบนนี้ทำในช่วงที่อุณหภูมิห้องอยู่ที่ประมาณ 26°C โดยการทดสอบความเร็วสัญญาณนาฬิกาเมื่อมีการเพิ่มอุณหภูมิบอร์ดให้สูงขึ้นนั้น บอร์ด Purple Pi OH มีอุณหภูมิของบอร์ดเมื่อเริ่มทดสอบประมาณ 41°C วัดความเร็วสัญญาณนาฬิกาได้ 1791 MHz และอุณหภูมิเพิ่มไปจนถึงประมาณ 72°C วัดความเร็วสัญญาณนาฬิกาได้ที่ 1764 MHz ในขณะที่บอร์ด Purple Pi OH Pro นั้นอุณหภูมิเพิ่มขึ้นไปน้อยกว่ากรณีแรกและวัดความเร็วสัญญาณนาฬิกาเมื่อเริ่มทดสอบได้ที่ 1860 MHz และวัดได้ 1862 MHz เมื่อจบการทดลอง
สำหรับประสิทธิภาพของการดำเนินการกับหน่วยความจำนั้น อุปกรณ์ทั้งสองตัวทำได้ค่อนข้างใกล้เคียงกัน โดยบอร์ด Purple Pi OH ทำได้ดีกว่าเล็กน้อย
เปรียบเทียบประสิทธิภาพการอ่านและเขียน storage device
ลำดับต่อมาเป็นการทดสอบและเปรียบเทียบประสิทธิภาพการอ่านและเขียน storage device โดยการรีวิวนี้ผมใช้โปรแกรม IOZone3 ซึ่งผมทดสอบกับไฟล์ข้อมูลขนาด 512MB รวมทั้งผมได้กำหนดพารามิเตอร์ -I เพื่อบังคับให้โปรแกรมอ่าน/เขียนข้อมูลโดยไม่ใช้แคช และกำหนดค่าพารามิเตอร์อื่น ๆ ตามผลลัพธ์ด้านล่างนี้ครับ
ผลลัพธ์ของ IOZone3 บนบอร์ด Purple Pi OH
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux ... Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 524288 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 512M -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 524288 1024 53586 54298 136851 136444 135645 54183 524288 16384 55061 55075 156190 154180 153423 52958 |
ผลลัพธ์ของ IOZone3 บนบอร์ด Purple Pi OH Pro
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux ... Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 524288 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 512M -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 524288 1024 122779 121618 164453 164805 162214 111418 524288 16384 121198 120461 166699 167023 166970 119274 |
ผลลัพธ์ความเร็วในการอ่านข้อมูลจาก storage device ของบอร์ด Purple Pi OH ที่มีความจุ 16 GB นั้นอยู่ที่ประมาณ 156MB/s และการเขียนอยู่ที่ประมาณ 55MB/s และสำหรับกรณีของบอร์ด Purple Pi OH Pro นั้นความเร็วในการอ่านข้อมูลและเขียนข้อมูลอยู่ที่ประมาณ 166MB/s และประมาณ 121MB/s ตามลำดับ
จะเห็นว่ากรณีของบอร์ด Purple Pi OH Pro นั้นความเร็วของการเขียนข้อมูลมีค่าประมาณ 70% ของความเร็วในการอ่านข้อมูล แต่เมื่อพิจารณาผลลัพธ์ของบอร์ด Purple Pi OH จะเห็นว่าความเร็วในการเขียนข้อมูลนั้นมีค่าเพียง 37% ของความเร็วในการอ่านข้อมูล ซึ่งแตกต่างกับกรณีแรกมาก ผมจึงค้นหาข้อมูลเพิ่มเติมในอินเตอร์เน็ตและพบรายงานฉบับหนึ่งจาก WiKi ของบอร์ด ODROID ที่มีรายงานผลการทดสอบการอ่านเขียนข้อมูลของ Samsung eMMC 5.1 ขนาดความจุ 8GB และ 16GB ที่มีลักษณะประสิทธิภาพการอ่านเขียนข้อมูลที่คล้ายกับผลที่ผมทดลองได้ นั่นคือการเขียนข้อมูลนั้นทำได้เพียงประมาณ 33% ของการอ่านข้อมูล ดังนั้นผมจึงสรุปว่าความแตกต่างนี้น่าจะเป็นไปตามคุณสมบัติของอุปกรณ์รุ่นที่เลือกมาใช้ในบอร์ด Purple Pi OH
ทดสอบประสิทธิภาพของอุปกรณ์เครือข่าย
ผมทดสอบประสิทธิภาพของอุปกรณ์เครือข่ายด้วยโปรแกรม iperf3 โดยแยกการทดสอบระหว่างเครือข่ายใช้สายและเครือข่ายไร้สาย ดังนี้
ทดสอบรับส่งข้อมูลบน Gigabit Ethernet
ผมทดสอบประสิทธิภาพของ Gigabit Ethernet port ในแต่ละบอร์ดกับระบบเครือข่าย LAN ในที่ทำงานโดยใช้คอมพิวเตอร์อีกเครื่องรันคำสั่ง iperf3 -s เพื่อใช้เป็น server และทดสอบบอร์ด Purple Pi OH ทั้งสองด้วยการรับส่งข้อมูลเป็นเวลา 60 วินาที ได้ผลลัพธ์ดังนี้ครับ
Purple Pi OH: ส่งข้อมูล
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
ido@ido:~$ iperf3 -c 10.2.1.201 -t 60 -i 10 Connecting to host 10.2.1.201, port 5201 [ 5] local 10.2.1.86 port 37266 connected to 10.2.1.201 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 1.09 GBytes 940 Mbits/sec 0 220 KBytes [ 5] 10.00-20.00 sec 1.10 GBytes 941 Mbits/sec 0 220 KBytes [ 5] 20.00-30.00 sec 1.10 GBytes 942 Mbits/sec 0 220 KBytes [ 5] 30.00-40.00 sec 1.09 GBytes 941 Mbits/sec 0 220 KBytes [ 5] 40.00-50.00 sec 1.09 GBytes 939 Mbits/sec 0 220 KBytes [ 5] 50.00-60.00 sec 1.09 GBytes 937 Mbits/sec 0 220 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 6.56 GBytes 940 Mbits/sec 0 sender [ 5] 0.00-60.00 sec 6.56 GBytes 940 Mbits/sec receiver iperf Done. |
Purple Pi OH Pro: ส่งข้อมูล
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
ido@ido:~$ iperf3 -c 10.2.1.201 -t 60 -i 10 Connecting to host 10.2.1.201, port 5201 [ 5] local 10.2.1.87 port 33802 connected to 10.2.1.201 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 1.05 GBytes 902 Mbits/sec 104 211 KBytes [ 5] 10.00-20.00 sec 1.08 GBytes 931 Mbits/sec 0 211 KBytes [ 5] 20.00-30.00 sec 1.09 GBytes 935 Mbits/sec 0 211 KBytes [ 5] 30.00-40.00 sec 1.09 GBytes 935 Mbits/sec 0 211 KBytes [ 5] 40.00-50.00 sec 1.09 GBytes 934 Mbits/sec 0 211 KBytes [ 5] 50.00-60.00 sec 1.09 GBytes 936 Mbits/sec 0 211 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 6.49 GBytes 929 Mbits/sec 104 sender [ 5] 0.00-60.00 sec 6.49 GBytes 929 Mbits/sec receiver iperf Done. |
Purple Pi OH: รับข้อมูล
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
ido@ido:~$ iperf3 -c 10.2.1.201 -t 60 -i 10 -R Connecting to host 10.2.1.201, port 5201 Reverse mode, remote host 10.2.1.201 is sending [ 5] local 10.2.1.86 port 37258 connected to 10.2.1.201 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 1.10 GBytes 942 Mbits/sec [ 5] 10.00-20.00 sec 1.09 GBytes 938 Mbits/sec [ 5] 20.00-30.00 sec 1.10 GBytes 943 Mbits/sec [ 5] 30.00-40.00 sec 1.10 GBytes 942 Mbits/sec [ 5] 40.00-50.00 sec 1.09 GBytes 939 Mbits/sec [ 5] 50.00-60.00 sec 1.09 GBytes 940 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-60.00 sec 6.57 GBytes 940 Mbits/sec sender [ 5] 0.00-60.00 sec 6.57 GBytes 940 Mbits/sec receiver iperf Done. |
Purple Pi OH Pro: รับข้อมูล
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
ido@ido:~$ iperf3 -c 10.2.1.201 -t 60 -i 10 -R Connecting to host 10.2.1.201, port 5201 Reverse mode, remote host 10.2.1.201 is sending [ 5] local 10.2.1.87 port 33878 connected to 10.2.1.201 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 1.10 GBytes 943 Mbits/sec [ 5] 10.00-20.00 sec 1.10 GBytes 941 Mbits/sec [ 5] 20.00-30.00 sec 1.10 GBytes 943 Mbits/sec [ 5] 30.00-40.00 sec 1.10 GBytes 943 Mbits/sec [ 5] 40.00-50.00 sec 1.10 GBytes 943 Mbits/sec [ 5] 50.00-60.00 sec 1.10 GBytes 943 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-60.00 sec 6.59 GBytes 943 Mbits/sec sender [ 5] 0.00-60.00 sec 6.59 GBytes 943 Mbits/sec receiver iperf Done. |
จะเห็นว่าประสิทธิภาพการทำงานของ Gigabit Ethernet port ของทั้งสองบอร์ดนั้นค่อนข้างใกล้เคียงกัน มีอัตราการส่งข้อมูลประมาณ 940Mb/s และมีอัตราการรับข้อมูลประมาณ 929, 943 Mb/s ซึ่งแม้ว่าจะต่ำกว่าเป้าหมายที่ควรจะเป็น 1000Mb/s แต่ก็อยู่ในช่วงที่น่าพอใจ
ทดสอบรับส่งข้อมูลบน Wi-Fi 2.4G
สำหรับการทดสอบการสื่อสารไร้สายนั้น ความเร็วที่ทดสอบได้ทั้งหมดนี้อาจจะเปลี่ยนไปตามคุณสมบัติแลการตั้งค่าของ router/access point ที่ใช้ในการทดลอง, ตำแหน่งของอุปกรณ์ระหว่างการทดสอบ, อายุของอุปกรณ์, และจำนวนของอุปกรณ์ที่ให้บริการในบริเวณนั้นด้วย สำหรับการทดลองด้านล่างนี้ผมได้ทดลองกับเครือข่าย Wi-Fi อีกที่หนึ่งซึ่งผมใช้สภาพแวดล้อมที่เหมือนการทำงานและการใช้งานประจำวัน เพียงแต่ผมได้สร้าง SSID ใหม่สำหรับใช้ในการทดลองครั้งนี้โดยเฉพาะและปิด SSID อื่นทั้งหมด คอมพิวเตอร์และบอร์ดทั้งสองชุดอยู่ห่างจาก router ประมาณ 3 เมตร โดยเมื่อผมรันคำสั่ง iperf3 บน Wi-Fi 2.4G ก็ได้ผลลัพธ์ตามข้อมูลด้านล่างนี้ครับ
Purple Pi OH: ส่งข้อมูล
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
ido@ido:~$ iperf3 -c 192.168.1.16 -t 60 -i 10 Connecting to host 192.168.1.16, port 5201 [ 5] local 192.168.1.19 port 54120 connected to 192.168.1.2 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 32.3 MBytes 27.1 Mbits/sec 10 199 KBytes [ 5] 10.00-20.00 sec 32.9 MBytes 27.6 Mbits/sec 3 263 KBytes [ 5] 20.00-30.00 sec 32.4 MBytes 27.2 Mbits/sec 0 363 KBytes [ 5] 30.00-40.00 sec 32.7 MBytes 27.5 Mbits/sec 7 188 KBytes [ 5] 40.00-50.00 sec 32.1 MBytes 26.9 Mbits/sec 9 144 KBytes [ 5] 50.00-60.00 sec 32.4 MBytes 27.2 Mbits/sec 4 168 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 195 MBytes 27.3 Mbits/sec 33 sender [ 5] 0.00-60.00 sec 194 MBytes 27.2 Mbits/sec receiver iperf Done. |
Purple Pi OH Pro: ส่งข้อมูล
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
ido@ido:~$ iperf3 -c 192.168.1.16 -t 60 -i 10 Connecting to host 192.168.1.16, port 5201 [ 5] local 192.168.1.6 port 50126 connected to 192.168.1.2 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 43.3 MBytes 36.3 Mbits/sec 0 718 KBytes [ 5] 10.00-20.00 sec 45.0 MBytes 37.7 Mbits/sec 0 1.04 MBytes [ 5] 20.00-30.00 sec 44.2 MBytes 37.1 Mbits/sec 0 1.04 MBytes [ 5] 30.00-40.00 sec 43.0 MBytes 36.1 Mbits/sec 0 1.04 MBytes [ 5] 40.00-50.00 sec 41.6 MBytes 34.9 Mbits/sec 0 1.04 MBytes [ 5] 50.00-60.00 sec 43.7 MBytes 36.6 Mbits/sec 0 1.04 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 261 MBytes 36.5 Mbits/sec 0 sender [ 5] 0.00-60.00 sec 258 MBytes 36.1 Mbits/sec receiver iperf Done. |
Purple Pi OH: รับข้อมูล
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
ido@ido:~$ iperf3 -c 192.168.1.16 -t 60 -i 10 -R Connecting to host 192.168.1.16, port 5201 Reverse mode, remote host 192.168.1.16 is sending [ 5] local 192.168.1.19 port 54198 connected to 192.168.1.2 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 40.5 MBytes 34.0 Mbits/sec [ 5] 10.00-20.00 sec 35.5 MBytes 29.7 Mbits/sec [ 5] 20.00-30.00 sec 40.4 MBytes 33.9 Mbits/sec [ 5] 30.00-40.00 sec 40.3 MBytes 33.8 Mbits/sec [ 5] 40.00-50.00 sec 36.7 MBytes 30.7 Mbits/sec [ 5] 50.00-60.00 sec 36.2 MBytes 30.4 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-60.00 sec 233 MBytes 32.6 Mbits/sec sender [ 5] 0.00-60.00 sec 230 MBytes 32.1 Mbits/sec receiver iperf Done. |
Purple Pi OH Pro: รับข้อมูล
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
ido@ido:~$ iperf3 -c 192.168.1.16 -t 60 -i 10 -R Connecting to host 192.168.1.16, port 5201 Reverse mode, remote host 192.168.1.16 is sending [ 5] local 192.168.1.6 port 50142 connected to 192.168.1.2 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 48.0 MBytes 40.3 Mbits/sec [ 5] 10.00-20.00 sec 45.3 MBytes 38.0 Mbits/sec [ 5] 20.00-30.00 sec 44.6 MBytes 37.5 Mbits/sec [ 5] 30.00-40.00 sec 45.6 MBytes 38.2 Mbits/sec [ 5] 40.00-50.00 sec 47.1 MBytes 39.5 Mbits/sec [ 5] 50.00-60.00 sec 44.9 MBytes 37.6 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-60.00 sec 279 MBytes 39.1 Mbits/sec sender [ 5] 0.00-60.00 sec 275 MBytes 38.5 Mbits/sec receiver iperf Done. |
จากข้อมูลข้างบนจะเห็นว่าบอร์ด Purple Pi OH นั้นมีอัตราการส่งและรับข้อมูลประมาณ 27.2 Mb/s และ 32.3Mb/s ตามลำดับ ในขณะที่บอร์ด Purple Pi OH Pro นั้นมีอัตราการส่งและรับข้อมูลเท่ากับ 36.3 Mb/s และ 38.8Mb/s ตามลำดับ จะเห็นว่าโดยรวมแล้วการทำงานบน Wi-Fi 2.4 ของบอร์ด Purple Pi OH Pro นั้นค่อนข้างดีกว่ามาก โดยการส่งข้อมูลของบอร์ด Purple Pi OH Pro นั้นสูงกว่าบอร์ด Purple Pi OH ประมาณ 33% เลยทีเดียว ในขณะที่ประสิทธิภาพการรับข้อมูลนั้นก็ยังสูงกว่าประมาณ 20% นอกจากนั้นแล้วระหว่างการทดสอบไม่ว่าผมจะเปลี่ยนตำแหน่งในการทดสอบไปอยู่ตรงไหนก็มักจะพบการ retransmissions บนบอร์ด Purple Pi OH อยู่เสมอ มากบ้างน้อยบ้าง แต่ในขณะที่บอร์ด Purple Pi OH Pro นั้นก็มีค่า retransmission น้อยกว่ามากครับ
ทดสอบรับส่งข้อมูลบน Wi-Fi 5G
เนื่องจากบอร์ด Purple Pi OH นั้นไม่รองรับ Wi-Fi 5G ดังนั้นผมจึงทดสอบ Wi-Fi 5G กับบอร์ด Purple Pi OH Pro โดยเมื่อทดสอบด้วยโปรแกรม iperf3 ด้วยพารามิเตอร์แบบเดิมแล้วได้ผลลัพธ์ตามที่แสดงด้านล่างนี้ ซึ่งความเร็วของการรับข้อมูลบน Wi-Fi 5G นั้นสูงกว่าการส่งข้อมูลประมาณ 25% และโดยรวมแล้วก็มีความเร็วของการรับส่งข้อมูลสูงกว่าบน Wi-Fi 2.4G ประมาณ 3 เท่าตัวครับ
Purple Pi OH Pro: ส่งข้อมูล
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
ido@ido:~$ iperf3 -c 192.168.1.2 -t 60 -i 10 Connecting to host 192.168.1.2, port 5201 [ 5] local 192.168.1.6 port 50390 connected to 192.168.1.2 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 129 MBytes 108 Mbits/sec 0 660 KBytes [ 5] 10.00-20.00 sec 134 MBytes 112 Mbits/sec 0 1.16 MBytes [ 5] 20.00-30.00 sec 131 MBytes 110 Mbits/sec 0 1.16 MBytes [ 5] 30.00-40.00 sec 134 MBytes 112 Mbits/sec 0 1.16 MBytes [ 5] 40.00-50.00 sec 132 MBytes 111 Mbits/sec 0 1.16 MBytes [ 5] 50.00-60.00 sec 132 MBytes 111 Mbits/sec 0 1.16 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 792 MBytes 111 Mbits/sec 0 sender [ 5] 0.00-60.00 sec 790 MBytes 110 Mbits/sec receiver iperf Done. |
Purple Pi OH Pro: รับข้อมูล
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
ido@ido:~$ iperf3 -c 192.168.1.2 -t 60 -i 10 -R Connecting to host 192.168.1.2, port 5201 Reverse mode, remote host 192.168.1.2 is sending [ 5] local 192.168.1.6 port 50398 connected to 192.168.1.2 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 151 MBytes 127 Mbits/sec [ 5] 10.00-20.00 sec 171 MBytes 144 Mbits/sec [ 5] 20.00-30.00 sec 181 MBytes 152 Mbits/sec [ 5] 30.00-40.00 sec 170 MBytes 143 Mbits/sec [ 5] 40.00-50.00 sec 157 MBytes 131 Mbits/sec [ 5] 50.00-60.00 sec 155 MBytes 130 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-60.00 sec 988 MBytes 138 Mbits/sec sender [ 5] 0.00-60.00 sec 985 MBytes 138 Mbits/sec receiver iperf Done. |
โดยสรุปแล้วการทดลองครั้งนี้ผมพบว่าทั้งสองบอร์ดสามารถสื่อสารไร้สายได้ดีตามประสิทธิภาพของเครือข่ายที่ใช้งาน โดยบอร์ด Purple Pi OH Pro ทำงานได้ค่อนข้างดีกว่า ค่า retransmissions นั้นน้อยมากจนเรียกว่าแทบจะไม่มีเลยเมื่อเทียบกับกรณีของบอร์ด Purple Pi OH ไม่ว่าจะเป็นบน Wi-Fi 2.4G หรือ Wi-Fi 5G ครับ
ทดสอบประสิทธิภาพของเว็บเบราเซอร์
สำหรับผลลัพธ์การทดสอบการทำงานของเว็บเบราเซอร์ของทั้งสองบอร์ดด้วย speedometer นั้น ผมทดลองโดยใช้ Chromium เวอร์ชัน 92.0.4515.159 (64-bit) ที่มากับระบบปฏิบัติการอยู่แล้วและติดตั้ง Firefox 122.0.1 (64-bit) เพิ่มเข้าไปใหม่ โดยมีผลลัพธ์ตามที่แสดงด้านล่างนี้ครับ ซึ่งโดยรวมแล้ว Firefox ทำคะแนนได้ดีกว่า Chromium ประมาณ 11 – 12% และการทำงานของเว็บเบราเซอร์บนบอร์ด Purple Pi OH Pro ก็เร็วกว่าเล็กน้อย อย่างไรก็ตามการเปรียบเทียบประสิทธิภาพนี้อาจจะเปลี่ยนแปลงไปได้ขึ้นอยู่กับเวอร์ชันของ Chromium และ Firefore ครับ
ทดสอบประสิทธิภาพ OpenGL (ES)
การทดสอบต่อมาคือทดสอบประสิทธิภาพของ OpenGL (ES) โดยเริ่มแรกผมตั้งใจจะใช้ glmark2-es2-wayland ในการทดสอบ แต่เมื่อผมติดตั้ง glmark2-es2-wayland และพบว่าไม่สามารถรันได้ จึงตรวจสอบด้วยคำสั่ง echo $XDG_SESSION_TYPE พบว่าระบบปฏิบัติการใช้ X11 ซึ่งไม่สามารถใช้งาน glmark2-es2-wayland ได้ ดังนั้นในการรีวิวครั้งนี้ผมจึงใช้คำสั่ง glmark2-es2 แทน โดยรันจากไอคอนที่มีมาให้แล้วบนหน้าจอ ซึ่งผลลัพธ์คือได้คะแนนเท่ากับ 57 คะแนนเท่ากันทั้งสองบอร์ด โดยผลการทดสอบของบอร์ด Purple Pi OH Pro นั้นจะมีทำได้ดีกว่า Purple Pi OH เล็กน้อยอยู่ 3 – 4 จุด เช่น การทดสอบ [terrain] และ [shadow] แต่ส่วนอื่น ๆ นั้นได้ผลลัพธ์แทบจะไม่ต่างกัน
การทดสอบประสิทธิภาพของ OpenGL (ES) บน Purple Pi OH
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
ido@ido:~$ glmark2-es2 ======================================================= glmark2 2021.02 ======================================================= OpenGL Information GL_VENDOR: ARM GL_RENDERER: Mali-G52 GL_VERSION: OpenGL ES 3.2 v1.g2p0-01eac0.327c41db9c110a33ae6f67b4cc0581c7 ======================================================= [build] use-vbo=false: FPS: 50 FrameTime: 20.000 ms [build] use-vbo=true: FPS: 60 FrameTime: 16.667 ms [texture] texture-filter=nearest: FPS: 59 FrameTime: 16.949 ms [texture] texture-filter=linear: FPS: 60 FrameTime: 16.667 ms [texture] texture-filter=mipmap: FPS: 60 FrameTime: 16.667 ms [shading] shading=gouraud: FPS: 60 FrameTime: 16.667 ms [shading] shading=blinn-phong-inf: FPS: 60 FrameTime: 16.667 ms [shading] shading=phong: FPS: 60 FrameTime: 16.667 ms [shading] shading=cel: FPS: 60 FrameTime: 16.667 ms [bump] bump-render=high-poly: FPS: 60 FrameTime: 16.667 ms [bump] bump-render=normals: FPS: 60 FrameTime: 16.667 ms [bump] bump-render=height: FPS: 60 FrameTime: 16.667 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 60 FrameTime: 16.667 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 60 FrameTime: 16.667 ms [pulsar] light=false:quads=5:texture=false: FPS: 60 FrameTime: 16.667 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 59 FrameTime: 16.949 ms [desktop] effect=shadow:windows=4: FPS: 60 FrameTime: 16.667 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 60 FrameTime: 16.667 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 60 FrameTime: 16.667 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 60 FrameTime: 16.667 ms [ideas] speed=duration: FPS: 60 FrameTime: 16.667 ms [jellyfish] <default>: FPS: 60 FrameTime: 16.667 ms [terrain] <default>: FPS: 30 FrameTime: 33.333 ms [shadow] <default>: FPS: 60 FrameTime: 16.667 ms [refract] <default>: FPS: 30 FrameTime: 33.333 ms [conditionals] fragment-steps=0:vertex-steps=0: FPS: 60 FrameTime: 16.667 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 60 FrameTime: 16.667 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 60 FrameTime: 16.667 ms [function] fragment-complexity=low:fragment-steps=5: FPS: 60 FrameTime: 16.667 ms [function] fragment-complexity=medium:fragment-steps=5: FPS: 60 FrameTime: 16.667 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 60 FrameTime: 16.667 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 60 FrameTime: 16.667 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 60 FrameTime: 16.667 ms ======================================================= glmark2 Score: 57 |
ทดสอบประสิทธิภาพ WebGL บนเว็บเบราเซอร์
ต่อมาผมได้ทดสอบประสิทธิภาพการทำงานของ WebGL Aquarium ในเว็บเบราเซอร์ Chromium โดยการรีวิวนี้ผมได้ทดลองกำหนดจำนวนปลาต่าง ๆ กันตั้งแต่ 1 ตัวไปจนถึง 30000 ตัวและเปรียบเทียบอัตราการแสดงผลของทั้งสองบอร์ด ได้ผลลัพธ์ดังนี้
ตารางด้านล่างนี้เปรียบเทียบค่า framerate การแสดงผล WebGL Aquarium ที่จำนวนปลาต่าง ๆ กัน ซึ่งจากตารางจะเห็นว่าประสิทธิภาพของการแสดงผล WebGL บนเว็บเบราเซอร์ทั้งสองตัวบนทั้งสองบอร์ดนั้นได้ผลลัพธ์ที่แทบจะไม่ต่างกันครับ โดยอัตราการแสดงผลของทั้งสองบอร์ดจะเริ่มมีค่าต่ำลงอย่างเห็นได้ชัดเมื่อกำหนดจำนวนปลาให้มีค่าตั้งแต่ 5000 ตัวขึ้นไป
(หน่วย: fps)
1 | 100 | 500 | 1000 | 5000 | 10000 | 15000 | 20000 | 30000 | |
---|---|---|---|---|---|---|---|---|---|
Purple Pi OH | 37 | 35 | 27 | 20 | 8 | 4 | 3 | 3 | 2 |
Purple Pi OH Pro | 40 | 34 | 27 | 21 | 8 | 5 | 3 | 3 | 2 |
ประสิทธิภาพการเล่นวิดีโอบน YouTube
ผมทดสอบการเล่นวิดีโอบน YouTube ด้วยการเชื่อมต่อผ่าน Gigabit Ethernet port โดยผมตั้งค่าให้เว็บเบราเซอร์แสดงผลแบบเต็มจอ เปิดการแสดงค่า Stats for Nerds แล้วทดสอบเปลี่ยนค่าความละเอียดตั้งแต่ 720p ไปจนถึง 2160p ซึ่งโดยรวมแล้วทั้งสองบอร์ดสามารถแสดงผลที่ความละเอียด 1080p และต่ำกว่านั้นได้อย่างราบรื่น สังเกตด้วยสายตาแล้วไม่พบอาการสะดุด ซึ่งเท่าที่ดูนั้นผมพบว่า droprate อยู่ที่ประมาณ 1% เท่านั้น ซึ่งส่วนใหญ่จะพบในช่วงเริ่มต้นเล่นวิดีโอ
แต่เมื่อเพิ่มความละเอียดเป็น 1440p จะเริ่มเห็นการสะดุดเพิ่มมากขึ้นอย่างเห็นได้ชัดเจน และเมื่อทดลองเล่นที่ความละเอียด 2160p ก็แทบจะไม่สามารถดูวิดีโออย่างต่อเนื่องได้เลย เนื่องจาก droprate ของทั้งสองบอร์ดนั้นสูงเกิน 60% ทั้งคู่ ตามรายละเอียดในภาพและตารางด้านล่างนี้ครับ
ตารางด้านล่างนี้เปรียบเทียบ droprate โดยบอร์ด Purple Pi OH Pro นั้นมี droprate ที่ 2160p ดีกว่าเล็กน้อย แต่ถึงอย่างนั้นก็ยังถือว่าสูงมากและไม่สามารถใช้ดูวิดีโอความละเอียดระดับนี้ได้เลย
(หน่วย: %)
720p | 1080p | 1440p | 2160p | ||
---|---|---|---|---|---|
Purple Pi OH | 0.7 | 0.8 | 37.6 | 66.9 | |
Purple Pi OH Pro | 0.2 | 1.0 | 37.1 | 61.5 |
ทดสอบการใช้งาน NPU และปัญญาประดิษฐ์
สำหรับการทดสอบ NPU นั้น ผมใช้คลังโปรแกรม RKNN-Toolkit2 และ RKNPU2 จาก GitHub ของ rockchip-linux โดยการรีวิวนี้ผมจะทดลองใช้งานโมเดล Yolov5 จากตัวอย่าง rknn_yolov5_demo ที่มีมาให้แล้ว ซึ่งผมเริ่มด้วยการ Clone RKNPU2 มาไว้ในบอร์ด จากนั้นจึงรัน ./build-linux_RK3566_RK3568.sh เพื่อ build โปรแกรม ซึ่งการคอมไพล์โปรแกรมบนทั้งสองบอร์ดนั้นทำได้ง่าย ใช้เวลาไม่นาน และไม่พบปัญหาใด ๆ
การทดสอบการทำงานนั้น ผมรันโปรแกรม rknn_yolov5_demo ที่สร้างได้โดยกำหนดให้โปรแกรมใช้โมเดล yolov5s-640-640.rknn ที่มีมาให้พร้อมโค๊ดตัวอย่างแล้ว พร้อมกับระบุภาพที่จะใช้ทดสอบซึ่งเป็นภาพสำนักงาน และภาพคนเดินถนนที่ผม download มาจาก Wikipedia แล้วจึง crop และปรับขนาดภาพให้ได้ขนาด 640×640 พิกเซลให้ตรงกับขนาดภาพอินพุตที่โมเดลต้องการ ได้ผลลัพธ์ดังนี้ครับ
ทดสอบ yolov5 บน Purple Pi OH
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
post process config: box_conf_threshold = 0.25, nms_threshold = 0.45 Loading mode... sdk version: 1.5.2 (c6b7b351a@2023-08-23T15:28:22) driver version: 0.8.2 model input num: 1, output num: 3 index=0, name=images, n_dims=4, dims=[1, 640, 640, 3], n_elems=1228800, size=1228800, w_stride = 640, size_with_stride=1228800, fmt=NHWC, type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003922 index=0, name=output, n_dims=4, dims=[1, 255, 80, 80], n_elems=1632000, size=1632000, w_stride = 0, size_with_stride=1638400, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003860 index=1, name=283, n_dims=4, dims=[1, 255, 40, 40], n_elems=408000, size=408000, w_stride = 0, size_with_stride=409600, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003922 index=2, name=285, n_dims=4, dims=[1, 255, 20, 20], n_elems=102000, size=102000, w_stride = 0, size_with_stride=122880, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003915 model is NHWC input fmt model input height=640, width=640, channel=3 Read office.jpg ... img width = 640, img height = 640 once run use 60.780000 ms loadLabelName ./model/coco_80_labels_list.txt .... loop count = 10 , average run 60.645700 ms |
ทดสอบ yolov5 บน Purple Pi OH Pro
1 2 3 4 5 |
post process config: box_conf_threshold = 0.25, nms_threshold = 0.45 Loading mode... sdk version: 1.5.2 (c6b7b351a@2023-08-23T15:28:22) driver version: 0.8.2 ... loop count = 10 , average run 52.298700 ms |
ในภาพมีวัตถุที่โมเดลรู้จำได้ประมาณ 40 ชิ้น ซึ่งจากข้อมูลด้านบนจะเห็นว่าบอร์ด Purple Pi OH ใช้เวลาประมวลผลไปประมาณ 60ms (ประมาณ 16 fps) ในขณะที่บอร์ด Purple Pi OH Pro ประมวลผลได้เร็วกว่า โดยใช้เวลาไปประมาณ 52ms (ประมาณ 19 fps) หรือเร็วกว่าประมาณ 16%
สำหรับการทดสอบ benchmark นั้นผมใช้โปรแกรม rknn_benchmark จากตัวอย่างเช่นเดิม โดยเมื่อ build โปรแกรมเรียบร้อยแล้วผมรันโปรแกรมโดยใช้โมเดลและภาพทดสอบภาพเดิมเหมือนขั้นตอนก่อนหน้านี้ ได้ผลลัพธ์ตามข้อมูลด้านล่างนี้ ซึ่งผมพบว่าบอร์ด Purple Pi OH Pro ก็ยังคงทำงานได้ดีกว่าเล็กน้อย โดยใช้เวลาประมวลผลประมาณ 50 ms หรือประมาณ 20 fps ซึ่งสูงกว่าบอร์ด Purple Pi OH ที่ทำได้ประมาณ 19 fps
ทดสอบ RKNN benchmark บน Purple Pi OH
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
rknn_api/rknnrt version: 1.5.2 (c6b7b351a@2023-08-23T15:28:22), driver version: 0.8.2 total weight size: 7308672, total internal size: 6144000 total dma used size: 21528576 model input num: 1, output num: 3 input tensors: index=0, name=images, n_dims=4, dims=[1, 640, 640, 3], n_elems=1228800, size=1228800, w_stride = 640, size_with_stride=1228800, fmt=NHWC, type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003922 output tensors: index=0, name=output, n_dims=4, dims=[1, 255, 80, 80], n_elems=1632000, size=1632000, w_stride = 0, size_with_stride=1638400, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003860 index=1, name=283, n_dims=4, dims=[1, 255, 40, 40], n_elems=408000, size=408000, w_stride = 0, size_with_stride=409600, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003922 index=2, name=285, n_dims=4, dims=[1, 255, 20, 20], n_elems=102000, size=102000, w_stride = 0, size_with_stride=122880, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003915 custom string: Warmup ... 0: Elapse Time = 52.64ms, FPS = 19.00 1: Elapse Time = 52.91ms, FPS = 18.90 2: Elapse Time = 53.65ms, FPS = 18.64 3: Elapse Time = 53.17ms, FPS = 18.81 4: Elapse Time = 52.37ms, FPS = 19.09 Begin perf ... 0: Elapse Time = 52.70ms, FPS = 18.97 1: Elapse Time = 52.77ms, FPS = 18.95 2: Elapse Time = 52.66ms, FPS = 18.99 3: Elapse Time = 52.90ms, FPS = 18.90 4: Elapse Time = 52.71ms, FPS = 18.97 5: Elapse Time = 52.38ms, FPS = 19.09 6: Elapse Time = 53.48ms, FPS = 18.70 7: Elapse Time = 53.21ms, FPS = 18.79 8: Elapse Time = 53.79ms, FPS = 18.59 9: Elapse Time = 53.52ms, FPS = 18.69 Avg Time 53.01ms, Avg FPS = 18.863 |
ทดสอบ RKNN benchmark บน Purple Pi OH Pro
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
... Warmup ... 0: Elapse Time = 49.83ms, FPS = 20.07 1: Elapse Time = 48.92ms, FPS = 20.44 2: Elapse Time = 48.76ms, FPS = 20.51 3: Elapse Time = 50.00ms, FPS = 20.00 4: Elapse Time = 49.70ms, FPS = 20.12 Begin perf ... 0: Elapse Time = 49.74ms, FPS = 20.10 1: Elapse Time = 49.60ms, FPS = 20.16 2: Elapse Time = 49.69ms, FPS = 20.12 3: Elapse Time = 49.90ms, FPS = 20.04 4: Elapse Time = 49.88ms, FPS = 20.05 5: Elapse Time = 50.57ms, FPS = 19.78 6: Elapse Time = 50.24ms, FPS = 19.90 7: Elapse Time = 50.22ms, FPS = 19.91 8: Elapse Time = 48.84ms, FPS = 20.47 9: Elapse Time = 53.48ms, FPS = 18.70 Avg Time 50.22ms, Avg FPS = 19.914 |
ทดสอบ MIPI Camera และ USB Camera
กล้องแบบ MIPI Camera ที่ให้มานั้นสามารถใช้งานกับระบบปฏิบัติการที่ติดตั้งมากับบอร์ดได้โดยไม่มีปัญหา แต่หลังจากลงระบบปฏิบัติการใหม่เป็น Ubuntu 20.04 แล้วผมพบว่าใช้งานมอดูลกล้องนี้ไม่ได้ครับ แต่ผมก็ได้ทดลองนำ USB Camera มาเชื่อมต่อดูก็พบว่าสามารถใช้งานได้ปกติ ซึ่งการทดลองนี้ผมใช้กล้องความละเอียด Full HD ซึ่งเมื่อลอง list รายละเอียดด้วยโปรแกรม v4l2-ctl ก็พบว่าสามารถแสดงฟอร์แมตต่าง ๆ รวมถึงสามารถควบคุมพารามิเตอร์อย่างเช่น contrast และ brightnessของกล้องได้ และสามารถรันโปรแกรม fswebcam เพื่อบันทึกภาพได้ปกติ ตามตัวอย่างด้านล่างนี้
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
v4l2-ctl -d /dev/video9 --all Streaming Parameters Video Capture: Capabilities : timeperframe Frames per second: 30.000 (30/1) Read buffers : 0 brightness 0x00980900 (int) : min=0 max=255 step=1 default=137 value=120 contrast 0x00980901 (int) : min=0 max=255 step=1 default=129 value=255 saturation 0x00980902 (int) : min=0 max=255 step=1 default=128 value=255 hue 0x00980903 (int) : min=0 max=255 step=1 default=103 value=103 white_balance_temperature_auto 0x0098090c (bool) : default=1 value=1 gamma 0x00980910 (int) : min=0 max=255 step=1 default=130 value=100 gain 0x00980913 (int) : min=0 max=255 step=1 default=0 value=0 power_line_frequency 0x00980918 (menu) : min=0 max=2 default=1 value=1 0: Disabled 1: 50 Hz 2: 60 Hz white_balance_temperature 0x0098091a (int) : min=2800 max=6500 step=1 default=4600 value=4600 flags=inactive sharpness 0x0098091b (int) : min=0 max=255 step=1 default=240 value=255 backlight_compensation 0x0098091c (int) : min=0 max=2 step=1 default=1 value=1 exposure_auto 0x009a0901 (menu) : min=0 max=3 default=3 value=1 1: Manual Mode 3: Aperture Priority Mode exposure_absolute 0x009a0902 (int) : min=3 max=2047 step=1 default=166 value=266 focus_absolute 0x009a090a (int) : min=0 max=255 step=1 default=0 value=0 flags=inactive focus_auto 0x009a090c (bool) : default=0 value=1 |
ความร้อนของบอร์ด
ลำดับต่อมาเป็นการวัดอุณหภูมิของบอร์ดตอนอยู่สถานะ idle เทียบกับขณะที่กำลังพยายามเล่นวิดีโอ 4K ใน YouTube โดยผมเปิดวิดีโอไว้ประมาณ 5 นาทีแล้วใช้ Thermal Camera จับภาพไว้ ได้ผลตามภาพด้านล่างนี้ครับ โดยอุณหภูมิเฉลี่ยของทั้งสองบอร์ดในสถานะ idle นั้นไม่ค่อยต่างกันคืออยู่ที่ประมาณ 38 – 40°C ส่วนที่ร้อนที่สุดมีค่าประมาณ 40 – 42°C นั่นคือบริเวณของชิป Rockchip RK809-5 ที่อยู่ด้านล่างซ้ายของแต่ละภาพ ในขณะที่อุณหภูมิของบอร์ดทั้งสองเมื่อพยายามเล่นวิดีโอ 4K บน YouTube นั้นขึ้นไปถึงประมาณ 62°C บริเวณ heat sink ของทั้งสองบอร์ดครับ
เปรียบเทียบการใช้พลังงาน
การทดสอบสุดท้ายเป็นการทดสอบการใช้พลังงานของทั้งสองบอร์ด โดยผมตั้งค่าความสว่างของหน้าจอให้มีค่าสูงสุด เชื่อมต่ออินเตอร์เน็ตด้วย Wi-Fi จากนั้นเปิด YouTube แล้วเล่นวิดีโอที่ความละเอียด 4 ค่า คือ 720p, 1080p, 1440p และ 2160p แต่ละแบบจะเปิดวิดีโอไว้ประมาณ 30 วินาทีแล้วอ่านค่าจาก USB voltage and current meter ได้ผลตามตารางด้านล่างนี้ ซึ่งก็เป็นไปตามที่คาดนั่นคือบอร์ด Purple Pi OH Pro ใช้พลังงานสูงกว่าบอร์ด Purple Pi OH ประมาณ 10 – 25% ซึ่งอาจจะเนื่องมาจากบอร์ด Pro มีหน่วยความจำและหน่วยสำรองข้อมูลที่มีขนาดใหญ่กว่า
(หน่วย: Watts)
Board | 720p | 1080p | 1440p | 2160p |
---|---|---|---|---|
Purple Pi OH | 3.61 | 4.78 | 5.06 | 5.25 |
Purple Pi OH Pro | 4.53 | 5.31 | 5.55 | 5.62 |
จากนั้นผมก็ได้ทดสอบตั้งค่าความสว่างหน้าจอน้อยสุดและมากสุด โดยพยายามปิดโปรแกรมต่าง ๆ ที่รันอยู่ให้หมด ทิ้งไว้สักครู่แล้วจึงวัดค่า ได้ผลลัพธ์ตามตารางด้านล่างนี้ จะเห็นว่าการตั้งความสว่างสูงสุดนั้นใช้พลังงานมากกว่าการตอนตั้งความสว่างให้น้อยที่สุดเกือบเท่าตัว และในการทดลองบอร์ด Purple Pi OH Pro ก็ยังใช้พลังงานสูงกว่าบอร์ด Purple Pi OH แต่สูงกว่าเพียงเล็กน้อยครับ
(หน่วย: Watts)
Board | สว่างน้อยสุด | สว่างมากสุด |
---|---|---|
Purple Pi OH | 1.43 | 2.68 |
Purple Pi OH Pro | 1.43 | 2.77 |
สรุป
เท่าที่ผมได้ลองทดสอบใช้งานทั้งสองบอร์ดก็พบว่าโดยรวมแล้วบอร์ดชุดนี้ตัวบอร์ดผลิตมาดี และถ้าตัดเรื่องความสับสนเล็ก ๆ น้อย ๆ ที่พบในช่วงการติดตั้งระบบปฏิบัติการแล้วก็ถือว่าอุปกรณ์ชุด Purple Pi OH จาก Wireless-Tag สามารถทำงานได้ดี โดยเฉพาะตัวบอร์ด Purple Pi OH 4GB/32GB ที่มี storage มาให้มากถึง 32GB รวมทั้งการใช้งาน NPU ผ่าน RKNN-Toolkit2/RKNPU2 นั้นก็ทำได้ง่ายและมีประสิทธิภาพดี ส่วนประสิทธิภาพการเล่นวิดีโอบน YouTube นั้นทั้งสองบอร์ดยังไม่สามารถแสดงผลที่ความละเอียด 4K ให้ราบรื่นได้ สำหรับประสิทธิภาพการสื่อสารไร้สายตามที่รีวิวไปด้านบนนั้นก็ทำด้วยสภาพแวดล้อมที่ผมใช้ทำงานปกติ ยังคงต้องการการทดสอบที่ละเอียดและ optimize การตั้งค่าให้ดีกว่านี้จึงจะทราบประสิทธิภาพที่แท้จริงอีกครั้งครับ
ผมต้องขอขอบคุณ Wireless-Tag อีกครั้งที่ส่งอุปกรณ์มาให้ทดสอบ ผู้ที่สนใจก็สามารถสั่งซื้อบอร์ด Purple Pi OH และ Purple Pi OH Pro ได้จาก Alibaba โดยบอร์ด Purple Pi OH จำหน่ายที่ราคา $50.05 (~1,800฿) และบอร์ด Purple Pi OH Pro จำหน่ายที่ราคา $82.5 (~2,900฿)
I am an assistant professor in surveying engineering and geographic information systems at Rambhai Barni Rajabhat University. My primary research areas include digital image/audio processing, digital photogrammetry, AI, IoT, and UAV. I am open to other subjects as well.