Pironman ของ SunFounder เป็นกล่องเคส Raspberry Pi 4 ที่ได้รับแรงบันดาลใจจาก DIY Raspberry Pi 4 server ของ Michael Klement พร้อมจอ OLED และ ICE Tower ระบายความร้อน รวมถึงการปรับปรุงบางอย่าง เช่น วัสดุเคสเป็นอลูมิเนียมอัลลอยด์และอะคริลิก รองรับ M.2 SATA SSD , ปุ่มเปิด/ปิดสำหรับการปิดระบบอย่างปลอดภัย , ตัวรับสัญญาณแสงอินฟราเรด (IR Receiver) และแถบไฟ LED RGB
บริษัท SunFounder ได้ส่งชุดคิท Pironman ที่ไม่มี Raspberry Pi 4 มาให้ฉันเพื่อทดสอบ ฉันจะแกะกล่อง, ประกอบเคส, การติดตั้งซอฟต์แวร์ และตรวจสอบคุณลักษณะพิเศษต่าง ๆ ตามที่ระบุข้างต้น
แกะกล่อง Pironman
ข้อมูลสเปคหลักบางส่วนอยู่ที่ด้านข้างของกล่องบรรจุภัณฑ์
เคสมาพร้อมกับบอร์ด Pironman, แผงอลูมิเนียมและอะคริลิก, แถบไฟ LED RGB, จอ OLED, ฮีทซิงค์, พัดลม, อะแดปเตอร์, สายไฟแบน, สกรู, เสา standoffs และอื่นๆ
ด้านบนของบอร์ด Pironman (JMS580-V1.8) มาพร้อมกับ JMicron JMS580 เป็น bridge USB 3.2 Gen 2 to SATA 6Gb/s , ช่องเสียบ microSD card, พอร์ต USB สำหรับ SSD, พอร์ต USB สำหรับจ่ายไฟ เช่นเดียวกับตัวเชื่อมต่อ สำหรับตัวขยาย GPIO, OLED และ bridge microSD card รวมถึง headers เพื่อเชื่อมต่อพัดลม ปุ่มเปิดปิด และแถบ LED RGB
ด้านหลังประกอบด้วยซ็อกเก็ต M.2 SATA ที่เหมาะสำหรับไดรฟ์ 2230, 2242, 2260 และ 2280, ไฟ LED RGB 3 ดวงและ Pin-header GPIO 40 ขา
มีคู่มือการประกอบด้วย เป็นคู่มือที่ดีมาก ช่วยในการประกอบได้อย่างมาก
และยังมีเอกสารโดยละเอียดทางออนไลน์ด้วย
การประกอบ Pironman กับ Raspberry Pi 4 และ M.2 SATA SSD
เราจะต้องเตรียม Raspberry Pi 4 SBC และ MicroSD card ที่แฟลชด้วย Raspberry Pi OS และตัวเลือก M.2 SATA SSD
ขั้นตอนแรกคือการติดตั้งเสา standoffs ในรูของบอร์ด Pironman และต่อจอ OLED เข้ากับตัวคอนเนกเตอร์ เสียบสายเคเบิล FFC เข้ากับคอนเนกเตอร์ และตรวจสอบให้แน่ใจว่าใส่สายเคเบิล FFC อย่างถูกต้องตามภาพด้านล่าง
จากนั้นเราจะติดจอ OLED เข้ากับแผ่น B ของเคสและติดตั้งสวิตช์เปิด/ปิด
ตอนนี้เราสามารถเชื่อมต่อสายไฟสี่เส้นของสวิตช์ไฟเข้ากับ header 5V (สีแดง) และ GND (สีดำ) และสายสีเขียวสองเส้นเข้ากับ header ที่เหลือถัดจาก 5V/GND โดยไม่เรียงลำดับ เราจะทำเช่นเดียวกันกับบริดจ์ microSD บอร์ด, RGB LED และบอร์ดขยาย GPIO ด้วย
ทุกอย่างแน่นไปหน่อย ส่วนที่ยากที่สุดคือการติดตั้งสายเคเบิล FFC สำหรับ GPIO กับตัวคอนเนกเตอร์สีดำแทนที่จะตั้งขึ้นขึ้น และสายเคเบิล FFC หนาเกินไปหรือคอนเนกเตอร์แคบเกินไป ฉันจึงใช้คีมที่ปิดด้วยเทปพลาสติกหนาเพื่อดันบิตสีดำเข้าไป ทั้งบนบอร์ดอะแดปเตอร์ขนาดเล็กและบอร์ดหลัก pironman
สาย jumper ที่ใช้สำหรับปุ่มเปิด/ปิด, ไฟ LED RGB และพัดลมที่รู้สึกว่าหลวมเล็กน้อย ถ้าเคลื่อนย้ายหรือพกพาเคสไปที่อื่นสายอาจจะหลุดได้
เราสามารถเชื่อมต่อ GPIO และ microSD card ดังที่แสดงไว้ด้านบน และเพื่อป้องกัน Raspberry Pi 4 SBC สามารถติดตั้งอุปกรณ์ที่ให้มาในชุดตามภาพด้านล่าง
ขั้นตอนต่อไปคือการเตรียมฮีทซิงค์โดยการเชื่อมต่อส่วนรองรับทั้งสอง (หมายเหตุ: การวางตำแหน่งสำคัญมาก) และวางแผ่นระบายความร้อนทั้งสองไว้ใต้ฮีทซิงค์
ตอนนี้เราสามารถวางฮีทซิงค์ไว้บนบอร์ด Raspberry Pi แล้วยึดด้วยสกรูสี่ตัวได้
ขั้นตอนนี้เราสามารถเริ่มเพิ่มแผ่นอะคริลิกและแผ่นอลูมิเนียมได้ สามารถติดตั้งพัดลมบนแผ่นอะคริลิกได้ คู่มือแนะนำให้เราติดไว้ที่ฝาครอบผ่าน GPIO header
เราจะต้องติดตั้ง M.2 SATA SSD ก่อนติดตั้งฝาครอบด้านล่าง
เราเกือบจะเสร็จแล้วกับขั้นตอนสุดท้ายติดสติ๊กเกอร์แผ่นโฟมที่ฝาครอบด้านล่าง (ฉันน่าจะทำได้ดีกว่านี้)
อ่ะ ฉันพบว่าแถบ LED RGB ติดตั้งไม่ถูกต้อง ฉันไม่เข้าใจขั้นตอนที่ 16 อย่างชัดเจน ซึ่งบอกว่า“ควรติดแถบ RGB ที่ด้านล่างของแผ่นอลูมิเนียม A” ฉันไม่เห็นเทปกาวสองหน้าบนแถบ LED ดังนั้นในตอนแรกฉันจึงติดมันไว้ตรงกลางและหวังว่าจะได้สิ่งที่ดีที่สุด แต่แล้วฉันก็เห็นว่ามีเทปสีดำสองอันเหลืออยู่
ดังนั้นฉันจึงถอดฝาครอบด้านบนออกและยึดแถบ LED ที่ทั้งสองด้านของตัวเครื่อง
สุดท้าย ฉันเสียบ microSD card และ SSD ที่ด้านหนึ่ง และแผ่นอะคริลิกขนาดเล็กที่เหลือเพื่อปิด OLED ที่อีกด้านหนึ่ง
มันดูดี! และหวังว่าเราจะประกอบอย่างถูกต้อง
การติดตั้งซอฟต์แวร์และตรวจสอบคุณสมบัติ
ลองเชื่อมต่อคอมพิวเตอร์เข้ากับจอ HDMI และเปิดเครื่อง ดูดีและตรวจพบ SATA SSD ของฉันอย่างถูกต้องเป็น “NEO Storage”
อย่างไรก็ตามฉันทำบางอย่างที่ไม่ถูกต้อง สายสีแดงมาจากอะแดปเตอร์ USB และฉันไม่ได้เชื่อมต่อกับสายนี้กับพอร์ต USB-C แต่เชื่อมต่อกับ Raspberry Pi 4 โดยตรงแทน ดังนั้นในขั้นต้น ลังจากติดตั้งซอฟต์แวร์ตามที่แสดงด้านล่าง จอ OLED จะแสดงเฉพาะการใช้งาน CPU และหน่วยความจำในช่วงเวลาสั้น ๆ จากนั้นจะแสดง “Power OFF” ตลอดเวลา
จากนั้นฉันได้เชื่อมต่อแหล่งจ่ายไฟเข้ากับพอร์ต USB-C ที่ด้านหลังของคอมพิวเตอร์ และเราจะต้องปฏิบัติตามคำแนะนำออนไลน์ เพื่อติดตั้งซอฟต์แวร์และไดรเวอร์เพื่อรองรับ OLED, ตัวรับสัญญาณแสงอินฟราเรด , ปุ่มเปิด/ปิด และอื่นๆ…
ก่อนอื่น เราจะต้องแก้ไข /boot/config.txt โดยเพิ่มสองบรรทัดด้านล่างที่ท้ายไฟล์ เพื่อเพิ่มการรองรับสำหรับปุ่มเปิด/ปิดและตัวรับสัญญาณแสงอินฟราเรด :
1 2 |
dtoverlay=gpio-poweroff,gpio_pin=26,active_low=0 dtoverlay=gpio-ir,gpio_pin=13 |
จากนั้นเราจะต้องติดตั้งสคริปต์ pironman Python:
1 2 3 4 |
cd ~ git clone https://github.com/sunfounder/pironman.git cd ~/pironman sudo python3 install.py |
อาจต้องมีการรีบูตเพื่อให้ทุกอย่างทำงานได้อย่างถูกต้อง แต่นี่คือนี่คือภาพที่แสดงหลังจากติดตั้งสคริปต์
OLED แสดง IP address, การใช้งาน CPU, อุณหภูมิ CPU ตลอดจนการใช้หน่วยความจำและที่เก็บข้อมูล (storage)
เราสามารถตรวจสอบการกำหนดค่าปัจจุบันได้ดังนี้:
1 2 3 4 5 6 7 8 9 10 |
pi@raspberrypi:~ $ pironman -c config file:/home/pi/.config/pironman/config.txt temp_unit = C fan_temp = 50 screen_always_on = False screen_off_time = 60 rgb_switch = True rgb_style = breath rgb_color = 0a1aff rgb_blink_speed = 50 |
สคริปต์ pironman มีหลายตัวเลือกสำหรับการเปลี่ยนอุณหภูมิทริกเกอร์เปิดพัดลม, สีและโหมด RGB LED และลักษณะการทำงานของหน้าจอ คุณยังสามารถสลับไปมาระหว่างเซลเซียสและฟาเรนไฮต์
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 |
pi@raspberrypi:~ $ pironman config file: /home/pi/.config/pironman/config.txt Usage: pironman <OPTION> <input> Options: start start pironman service stop stop pironman service restart restart pironman service -h,--help help, show this help -c,--check show all configurations -a,--auto [ on ],enable auto-start at boot [ off ], disable auto-start at boot -u,--unit [ C/F ], set the unit of temperature, C or F (Celsius/Fahrenheit) -f,--fan [ temp ], Temperature at which the fan switches on, in celsius (default 50),in range (30 ~ 80) -al,--always_on [on/off], whether the screen is always on, default False -s,--staty_time [time], screen display duration in second, in second, default 30 -rw,--rgb_sw [on/off], rgb strip switch -rs,--rgb_style rgb strip display style, default: breath, in [breath / leap / flow / raise_up / colorful] -rc,--rgb_color [(HEX)color], set the color of rgb strip, default: 0a1aff -rb,--rgb_speed [speed], rgb blink speed (0 ~ 100, default 50) |
คุณยังสามารถปรับแต่งสคริปต์ได้ เพราะเขียนโปรแกรมด้วย Python และอาจจะใช้สคริปต์อื่นได้ เนื่องจากเป็นหน้าจอ OLED มาตรฐาน นี่คือตัวอย่างสั้นๆ ที่แสดงการทำงานของไฟ LED RGB และพัดลม
เราได้เห็นไฟ LED RGB, จอ OLED และพัดลมแล้ว ฉันยังสามารถใช้ปุ่มนี้เพื่อเปิดจอ OLED ด้วยการกดสั้นๆ และปิด Raspberry Pi ด้วยการกด 2 วินาที ฉันยังสามารถเปิดคอมพิวเตอร์โดยกดปุ่มอีกครั้ง
มาทดสอบตัวรับสัญญาณแสงอินฟราเรด ด้วย LIRC:
1 |
$ sudo apt install lirc |
เมื่อติดตั้ง LIRC แล้ว เราสามารถตรวจสอบว่าสามารถรับคำสั่งจากรีโมทคอนโทรลของทีวีได้หรือไม่:
1 2 3 4 5 6 7 8 9 |
$ mode2 -d /dev/lirc0 Using driver devinput on device /dev/lirc0 Trying device: /dev/lirc0 Using device: /dev/lirc0 code: 0xffffff003096a2007800000103570003 code: 0xffffff0077887900cd0f00019a0f0000 code: 0x28020001cd07000029020001cf070000 code: 0x26020001cd07000028020001cd070000 code: 0x29020001e603000028020001cc070000 |
ตัวรับสัญญาณแสงอินฟราเรดยังทำงานอยู่ เราควรจะสามารถใช้กับ Kodi และ media centerอื่น ๆ ได้
จะเห็นว่าฮาร์ดดิสก์ SATA ถูกตรวจพบแล้ว แต่เรายังไม่ได้ทดสอบประสิทธิภาพ เราจะติดตั้ง iozone3 :
1 2 3 4 5 |
wget http://www.iozone.org/src/current/iozone3_494.tgz tar xvf iozone3_494.tgz cd iozone3_494/src/current/ make -j4 linux-arm sudo cp iozone /usr/local/bin/ |
ฉันไปที่จุดเชื่อมต่อ (/mediap/pi/NEO Storage) ก่อนทำ benchmark iozone3:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
pi@raspberrypi:/media/pi/NEO Storage $ iozone -e -I -a -s 1000M -r 16384k -i 0 -i 1 Iozone: Performance Test of File I/O Version $Revision: 3.494 $ Compiled for 32 bit mode. Build: linux-arm Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 1024000 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 1000M -r 16384k -i 0 -i 1 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 1024000 16384 85561 293438 325212 325262 iozone test complete. |
ความเร็วในการอ่าน (~325MB/s) ดูดีเมื่อเทียบกับ USB 3.0 และความเร็วในการแก้ไขก็เช่นกัน แต่ความเร็วในการเขียน (~85MB/s) อยู่ในระดับต่ำ ฉันพยายามหลายครั้งแล้วได้ผลลัพธ์เดียวกัน ฉันไม่เคยเจอปัญหาเมื่อทดสอบ SSD ใน USB-C dock ใน Windows หมายเหตุไดรฟ์ได้รับการฟอร์แมตด้วยระบบไฟล์ exFAT:
1 2 |
$ mount | grep NEO /dev/sda1 on /media/pi/NEO Storage type exfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,iocharset=utf8,errors=remount-ro,uhelper=udisks2) |
เรายังสามารถเห็นไดรเวอร์ uas (สำหรับการรองรับ UASP) ที่ใช้งานอยู่ในอุปกรณ์:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
pi@raspberrypi:/media/pi/NEO Storage $ lsusb Bus 002 Device 002: ID 152d:0580 JMicron Technology Corp. / JMicron USA Technology Corp. USB to ATA/ATAPI Bridge Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 1c4f:0003 SiGma Micro HID controller Bus 001 Device 003: ID 1a2c:0002 China Resource Semico Co., Ltd USB Keykoard Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub pi@raspberrypi:/media/pi/NEO Storage $ lsusb -t /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 3: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 3: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 4: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |
สุดท้าย ฉันต้อง รัน SBC bench เพื่อยืนยันความสามารถในการระบายความร้อนของโซลูชัน:
1 2 3 4 5 6 7 |
$ sudo ./sbc-bench.sh -c Average load and/or CPU utilization too high (too much background activity). Waiting... Too busy for benchmarking: 10:23:07 up 44 min, 3 users, load average: 0.52, 0.50, 0.30, cpu: 4% Too busy for benchmarking: 10:23:12 up 44 min, 3 users, load average: 0.48, 0.50, 0.30, cpu: 4% Too busy for benchmarking: 10:23:18 up 44 min, 3 users, load average: 0.44, 0.49, 0.30, cpu: 5% |
แต่สคริปต์ไม่ให้เริ่มใช้งาน CPU แม้จะเพิ่มขึ้นเล็กน้อยในขณะที่ไม่ได้ใช้งาน!
นั่นเป็นเพราะสคริปต์ Pironman การใช้งาน CPU 4 ถึง 5% เมื่อเปิดจอ OLED อยู่, โหมด sleep สำหรับ main loop มีค่าประมาณ 0.5 วินาที, แต่เมื่อแสดงผล OLED อยู่ มีการ loop สำหรับแสดงผลด้วยค่า sleep ประมาณ 0.01 วินาที เพื่อตรวจสอบปุ่ม ฉันได้ตั้งค่าให้แสดงผล OLED เปิดตลอดเวลาเพื่อตรวจสอบอุณหภูมิและการใช้งาน CPU แต่ฉันได้เปลี่ยนนี้เป็นการตั้งค่าเริ่มต้นเพื่อให้จอแสดงผลปิดโดยอัตโนมัติหลังจากผ่านไประยะหนึ่ง ฉันสามารถรัน สคริปต์ SBC-bench.sh:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Checking cpufreq OPP again. Done (20 minutes elapsed). It seems neither throttling nor frequency capping has occured. Memory performance memcpy: 2566.6 MB/s memset: 3399.8 MB/s 7-zip total scores (3 consecutive runs): 5400, single-threaded: 1655 OpenSSL results: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-128-cbc 61461.41k 75719.87k 82240.51k 84407.30k 84751.70k 84683.43k aes-128-cbc 61748.61k 76364.71k 82733.91k 84307.29k 84789.93k 84781.74k aes-192-cbc 55657.62k 66900.16k 71660.20k 72982.53k 73187.33k 73405.78k aes-192-cbc 55676.30k 66874.01k 71821.48k 72860.67k 73444.01k 73220.10k aes-256-cbc 50343.01k 59848.85k 63227.48k 64422.57k 64432.81k 64574.81k aes-256-cbc 50459.91k 59570.86k 63347.20k 64332.12k 64476.50k 64623.96k Full results uploaded to http://ix.io/4jVw. Please check the log for anomalies (e.g. swapping or throttling happenend). |
กราฟอุณหภูมิโดยพื้นฐานแล้วเป็นเส้นตรงเนื่องจากฮีทซิงค์ขนาดใหญ่และพัดลมที่จะเปิดเป็นครั้งคราวระหว่างการวัดประสิทธิภาพ single-core benchmarks และ7-zip multi-core benchmark
ฉันยืนยันได้ว่าสิ่งนี้ได้บนจอแสดงผล OLED ระหว่างการทดสอบด้วย 7-zip
ฉันจะไม่ทำการทดสอบมากกว่านี้ เนื่องจากฉันเคยตรวจสอบ ICE Tower แบบมีพัดลมและไม่มีพัดลม และเมื่อโอเวอร์คล็อกของ Raspberry Pi 4 เป็น 2.0 GHz วิธีการนี้เพียงพอที่จะรักษาอุณหภูมิ Raspberry Pi 4 ในเงื่อนไขต่าง ๆ แม้แต่โอเวอร์คล็อกที่ 2.x GHz
สรุป
Pironman เป็นเคสที่ดีสำหรับ Raspberry Pi 4 มีคู่มือการใช้งานที่แนะนำมีรายละเอียด, การรองรับซอฟต์แวร์ก็เพียงพอ และมันดูน่ารัก สวยงาม แต่มีบางอย่างสามารถแก้ไขได้ เช่น ฉันมีปัญหาในการติดตั้งสายเคเบิล FFC สำหรับอะแดปเตอร์ GPIO และสาย jumper หลวมระหว่างการขนส่ง นอกจากนี้ยังมีคำถามกับการทดสอบ benchmark ความเร็วในการเขียนอยู่ในระดับต่ำ (แต่ไม่ใช่การเขียนซ้ำ) ด้วยไดรฟ์ M.2 SATA
ฉันขอขอบคุณ SunFounder ที่ส่งเคส Pironman มาให้ตรวจสอบ คุณสามารถซื้อชุดที่รีวิวนี้ในราคา $63.99 (~2,200฿) รวมค่าจัดส่ง หรือซื้อชุดคิทที่พร้อม Raspberry Pi 4 2GB RAM และ MicroSD card 32GB ในราคา $237.97(~8,200฿)
แปลจากบทความภาษาอังกฤษ : Pironman review – A Raspberry Pi 4 enclosure with M.2 SATA, safe power off, RGB LED strip, and more
บรรณาธิการข่าวและบทความภาษาไทย CNX Software ได้มีความสนใจในด้านเทคโนโลยี โดยเฉพาะ Smart Home และ IoT