รีวิว DSOM-020 PX30 Development Board ที่ใช้ Industrial grade CPU แบบพลังงานต่ำ

DSOM-020 PX30 Development Board จากบริษัท Dusun IoT ประกอบด้วย SOM DSOM-020 PX30 สำหรับงาน Industrial  ที่เน้นความสเถียรและประหยัดพลังงาน โดยใช้ชิป PX30K จาก Rockchip ซึ่งเป็นหน่วยประมวลผลแบบกินพลังงานต่ำแบบ 64-bit จำนวนสี่คอร์ สถาปัตยกรรมเป็น Arm Cortex-A35 ความเร็วสูงสุดของสัญญาณนาฬิกา 1.3 GHz  รองรับระบบปฎิบัติการที่หลากหลาย และยังมาพร้อมกับความสามารถในการเชื่อมต่ออุปกรณ์ภายนอกที่ครบครันตั้งแต่จอภาพ,ไมโครโฟนไปจนถึงการเชื่อมต่อเซ็นเซอร์ต่าง ๆ และ carrier board เรียกรวมกันทั้งหมดเป็น DSOM-020 PX30 Development Board เพื่อให้ทำต้นแบบอุปกรณ์ต่าง ๆ และหากต้องการผลิตเชิงพานิชย์ก็สามารถที่จะซื้อเฉพาะ SOM DSOM-020 PX30 ไปผลิตได้

ซึ่งในเว็บไซต์ของ Dusun IoT เองแนะนำว่า DSOM-020 PX30 นั้นเหมาะกับงานต่างดังนี้

  • อุปกรณ์ AIOT
  • การควบคุมยานพาหนะ
  • อุปกรณ์เครื่องเล่นเกม
  • อุปกรณ์แสดงผลเชิงพานิยช์
  • อุปกรณ์ทางการแพทย์
  • ตู้จำหน่ายสินค้า
  • คอมพิวเตอร์ในงานอุตสาหกรรม

เรามาลองแกะกล่องแล้วทำความรู้จัก DSOM-020 PX30 Development Board ไปพร้อม ๆ กันเลยดีกว่า

แกะกล่อง DSOM-020 PX30 development board

ทาง Dusun IoT ได้ส่งชุด DSOM-020 PX30 Development Board  มาให้ทำการทดสอบและ รีวิวโดยในกล่องจะประกอบไปด้วย carrier board , โมดูล DSOM-020 PX30 , USB2Serial , สาย USB และ adaptor 12V 2A ซึ่งตอนแรกก็ตกใจว่าทำไม โมดูล DSOM-020 PX30  ถึงไม่ได้ประกอบลงบน carrier board แต่ไม่เป็นไรเราสามารถบัดกรีลงเองได้อยู่แล้ว

DSOM-020 Development Board with PX30K before soldering

DSOM-020 PX30 Development Board  ตอนแกะจากกล่อง

DSOM-020 with PX30 system-on-module

ด้านหลังของ DSOM-020 PX30

หลังจากบัดกรีเจ้า DSOM-020 PX30  เข้ากับ carrier board เรียบร้อยก็เอามาจับถ่ายรูปรวม ให้ดูว่าในกล่อง ถ้าเราสั่งซื้อ DSOM-020 PX30 Development Board เราจะได้อุปกรณ์อะไรบ้าง

DSOM-020 PX30 Development Board unboxing

สิ่งที่ส่งมาด้วยในชุด DSOM-020 PX30 Development Board

แนะนำฮาร์ดแวร์

จากชุด DSOM-020 PX30 Development Board นี้จะเห็นว่าบนบอร์ดจะมี SOM  DSOM-020 PX30 อยู่ ซึ่งหัวใจการทำงานของบอร์ดอยู่ที่ตรงนี้

โดยเราจะมาดูคุณสมบัติที่น่าสนใจของ  PX30K กันก่อน โดยอย่างที่เล่าไปแล้วข้างต้นว่า PX30K เป็นชิปจาก Rockship ที่มุ่งเน้นงานที่ต้องการการประหยัดพลังงานและใช้งานอย่างต่อเนื่องแบบ 24/7 ซึ่ง PX30K ได้เตรียมทั้ง connectivity ที่หลากหลายทั้ง GPIO, I2C x 4, UART x6, I2S X2, SPI x2 และอื่น ๆ อีกในส่วนของการเชื่อมต่อจอภาพและกล้องก็ให้มาครบทั้ง LVDS, MIPI-DSI,RGB และ MPIP-CSI สำหรับต่อกล้อง ซึ่งทาง Dusun IoT ก็จับเอาเจ้า PX30K มาประกอบร่างเป็น SOM DSOM-020 PX30 ซึ่งง่ายต่อการเอาไปใช้งานเพราะใส่ทุกอย่างมาให้หมดแล้วทั้ง CPU,RAM และ EMMC เราสามารถออกแบบ carrier board ได้ตามที่ต้องการ

px30k main chip block diagram

ไดอะแกรมของ CPU PX30K

คุณสมบัติของ DSOM-020 PX30 SOM

  • CPU PX30K ของ บริษัท Rockchip ซึ่งเป็นหน่วยประมวลผลแบบกินพลังงานต่ำเกรดอุตสาหรรมแบบ 64 bit  จำนวน 4 คอร์ โดยสถาปัตยกรรมเป็น ARM Cortex-A35 ความเร็วสูงสุดของสัญญาณนาฬิกา 1.3 GHz
  • GPU เป็น  Mail-G31-2EE  แบบ dual-core สนับสนุนการใช้งาน OpenGL ES 1.1/2.0/3.2, DirectX 11 FL9_3, OpenCL 2.0, และ Vulkan 1.0
  • สนับสนุน eMMC สูงสุดถึง 128GB
  • สนับสนุน RAM สูงสุด 2GB
  • มีขา GPIO ให้ใช้งานถึง 144 ขา
  • รองรับการสื่อสาร หลากหลาย คือI2C, UART, SPI, SPIO 3.0, USB2.0, PWN, RMII, I2S
  • รองรับการเชื่อมต่อจอภาพทั้งแบบ RGB, LVDS และ  MIPI DSI
  • รองรับการต่อกล้องผ่าน MIPI CSI
  • สนับสนุนการ sleep  และ wake-up
  • ใช้ซิป PMU เบอร์ RK809 ในการจัดการพลังงานบนบอร์ด
  • ความเร็ว Ethernet สูงสุด  100M
  • ออกแบบมาสำหรับใช้งานในงานอุตสาหกรรมแบบ 24/7
  • ขนาดของ SOM คือ 45mm x 45mm
  • ช่วงอุณหภูมิทำงานอยู่ที่ -20 °C ~85 °C

จากนั้นเราจะมาดูส่วนของ carrier board กันบ้างว่ามีอะไรให้ใช้งานได้บ้าง

DSOM-020 PX30 ports

ภาพแสดงส่วนประกอบของ carrier board

คุณสมบัติของ carrier board

  • คอนเน็คเตอร์ต่อจอภาพ แบบ DSI สำหรับต่อจอภาพแบบ MIPI หรือ LVDS
  • คอนเน็คเตอร์ต่อจอภาพ แบบ RGB
  • ภาครับสัญญาณ IR
  • บัซเซอร์
  • คอนเน็คเตอร์ต่อ battery สำหรับ RTC
  • LED สำหรับการแสดงสถานะแบบกำหนดค่าเองได้จำนวน 4 ดวง
  • คอนเน็คเตอร์ UART จำนวน 3 ช่อง
  • ไมโครโฟนสำหรับรับเสียง
  • ช่องต่อหูฟัง 3.5mm
  • คอนเน็คเตอร์ต่อลำโพงภายนอก
  • คอนเน็คเตอร์ CSI MIPI สำหรับต่อกล้อง
  • Ethernet 100M
  • พอร์ต USB 3 พอร์ต
  • พาร์ต Micro USB OTG สำหรับแฟลช image
  • ปุ่มกดจำนวน 6 ปุ่ม  4 ปุ่มสำหรับผู้ใช้สามารถโปรแกรมการทำงานได้ 1  ปุ่ม power และ 1 ปุ่ม  reset
  • ช่องต่อ Micro SD Card
  • ช่องต่อ SIM card
  • คอนเน็คเตอร์ Mini PCI-E สำหรับ โมดูล 3G, 4G
  • WiFi 2.4GHz  และ  Bluetooth
  • SMA คอนเน็คเตอร์ สำหรับต่อเสา WiFi/Bluetooth
  • ช่องต่อไฟ DC 12V

การติดตั้งระบบปฎิบัติการ

เราจะมาลองติดตั้ง image Ubuntu 16.04 สำหรับ PX30K จากเว็บไซต์ของ Dusun IoT โดยใช้โปรแกรม RKDevTool V2.93 กันเพราะว่า Rockchip มักจะให้ติดตั้งด้วยวิธีนี้ ซึ่งก็สามารถให้ PX30K เข้าสู่ flash mode ด้วยการกดปุ่ม K1/Recovery ค้างไว้แล้วกดปุ่ม Reset จากนั้น Chip PX30K จะเข้าสู่ flash mode  โดยสังเกตว่าที่โปรแกรมจะแสดงข้อความ “Found One LOADER Device” จากนั้นเราสามารถกดที่ tab “Upgrade Firmware” เพื่อเลือก image ที่ดาวน์โหลดมาและทำการกดที่ปุ่ม “Upgrade” ได้เลย

write image to DSOM-020 PX30 board

การติดตั้งระบบปฎิบัติการด้วยโปรแกรม RKDevTool V2.93

หลังจากติดตั้งเรียบร้อยแล้วแล้วเราจะสามารถเชื่อมต่อไปยังบอร์ดผ่าน USB2Serial ที่ให้มาในชุดโดยต่อเข้ากับคอนเน็คเตอร์ UART2 ตั้งค่า baudrate เป็น 115200 ก็จะสามารถใช้งานได้ทันที โดยบอร์ดใช้เวลาบูตจนถึงหน้า console ใช้เวลาราว ๆ 11 วินาทีเท่านั้น

boot time px30K

ภาพแสดงเวลาในการบูตเข้าระบบ

โดยเราจะทำการตรวจสอบเบื้องต้นว่าได้โมดูลตรงรุ่นกับที่ Dusun IoTแจ้งมาหรือไม่คือ RAM 2GB และ  eMMC 32GB ซึ่งจะพบว่าขอมูลที่แสดงถูกต้อง โดยขนาดของ /dev/root อยู่ที่ 4.9GB และ /dev/mmcblk2p9 ที่เป็น /userdata  มีขนาด 24G ถ้าจะติดตั้งโปรแกรมอะไรเพิ่มก็ต้องไปทำที่   /userdata แล้วทำ symbolic link ชี้ไป

disk ram check DSOM-020 PX30 development board

ภาพแสดงข้อมูลของ RAM และเนื้อที่ของพาร์ติชั่นใน eMMC

ทดสอบการทำงานของ DSOM-020 PX30 development board

เราจะทำการทดสอบการทำงานเบืองต้นเช่นตรวจสอบข้อมูลของโมดูล ทดลองอ่านเขียนเพื่อดูความเร็วของ eMMC ทดสอบความเร็วของ Ethernet และทดลองใช้งานทำให้ DSOM-020 PX30 Development Board  ทำงานเป็น Zigbee gateway สำหรับงาน IoT

การทดสอบประสิทธิภาพทั่วไป

การทดสอบประสิทธิภาพบน Ubuntu เราจะเริ่มจาก sbc-bench.sh จาก Github

จากข้อมูลที่ได้จาก sbc-bence เราจะพบว่ามี  RAM ขนาด 1.9G และ CPU 4 คอร์ที่ความเร็ว 1.248 Ghz โดย SoC ที่เจอคือ  PX30 จาก Rockchip

ข้อมูลของ DSOM-020 PX30 SOM

จากข้อมูลการทำงานของ CPU ที่ full load  จะพบว่าอุณหภูมิของ CPU ขึ้นไปที่ 68.1 °C โดยที่ขณะทดสอบไม่ได้มีการติดตั้งระบบระบายความร้อนลงไปแต่อย่างใดและระบบก็ทำงานได้โดยไม่มีการค้างหยุดทำงาน

ข้อมูล อุณหภูมิของ CPU ที่การทำงาน 91%

โดยมีผลารทดสอบเพิ่มเติมจะพบว่าอุณหภูมิของ CPU จะอยู่ระหว่าง 58°C ไปจนถึง 68.8°C


สามารถดูผลการทดสอบแบบสมบูรณ์ได้ที่ http://ix.io/4IT1

จากนั้น ก็ทำการทดสอบด้วย IOZONE3  เพื่อทดสอบความเร็วอ่านเขียนของ Flash Memory กัน ด้วยการใช้พารามิเตอร์ -i เพื่อให้ทำการอ่านค่าจากดิสก์โดยตรงไม่ต้องอ่านจาก  cache

ผลการทดสอบด้วยโปรแกรม IOZONE3

ซึ่งค่าความเร็วในการอ่านอยู่ที่ประมาณ 118 MB/S และความเร็วในการเขียนอยู่ที่ 100 MB/S  ซึ่งความเร็วถือว่าดีมาก ซึ่งจาก Chip จะเป็นเบอร์ klmbg2jetd-b041 ผลิตโดย Samsungซึ่งเป็น eMMC 5.1  https://semiconductor.samsung.com/estorage/emmc/emmc-5-1/klmbg2jetd-b041/

การทดสอบประสิทธิภาพของเครือข่าย

ในการทดสอบประสิทธิภาพของเครือข่ายเราจะทำการทดสอบความเร็วของ LAN โดยการทดสอบด้วยโปรแกรม iperf3 ว่าจะได้ความเร็วตรงกับที่แจ้งไว้ที่ 100M หรือไม่

iperf3 บน ETH0

จากคุณสมบัติของบอร์ดที่แจ้งว่า Ethernet port เป็น 100M เมื่อเราทดสอบที่ port ETH0 ก็พบว่าความเร็วในการส่งข้อมูลทำได้ที่ 94.2 Mbits ต่อวินาที ก็ถือว่าทำความเร็วได้ดีมาก เพราะตอนทดสอบได้การต่อระหว่างเครื่อง server และ client ของ iperf3 ผ่าน router ที่แถมมากับอินเตอร์เน็ตของAIS

ผลการทดสอบความเร็วของ Ethernet DSOM-020 PX30 Development Board

การทดลองใช้งาน

ทดลองปุ่มกด

บนบอร์ด DSOM-020 PX30 Development Board นั้นมีปุ่มกดที่เราสามารถอ่านค่าและนำไปใช้ในการสั่งงานโปรแกรมต่าง ๆ ได้ 4 ปุ่มอิสระ นั่นคือปุ่ม K1, K2, K3 และ K4 ซึ่งทั้ง 4 ปุ่มเชื่อมต่อกับขา ADC2 ของ PX30 โดยเชื่อมต่อกับตัวต้านทานที่ค่าต่างกันทำให้เมื่อกดปุ่มเราสามารถอ่านค่าแรงดันที่แตกต่างกันได้และรู้ว่าเป็นปุ่มอะไรที่ถูกกด

dsom 20 px30 button

schematic diagram แสดงการต่อปุ่มกดเข้ากับขา ADC2

ซึ่งเราจะทดลองอ่านค่าการกดปุ่มจากโค๊ดตัวอย่างนี้

ไฟล์ key.c สำหรับทดสอบการทำงานอ่านค่าปุ่มกด

ทำการทดลอง compile ด้วย gcc ดังนี้ gcc key.c -o key -lpthread จากนั้นทดลอง run และกดปุ่มได้ผลลัพธ์ดังด้านล่าง

ทดลองใช้งานเป็น Zigbee gateway

เพื่อทดสอบความทนทานในการใช้งานของ DSOM-020 PX30 Development Board เลยจะทำการตั้งค่าให้เป็น Zigbee gateway ซึ่งทดสอบโดยใช้  Sonoff Zigbee 3.0 USB Dongle Plus  ซึ่งเมื่อเสียบเข้ากับช่อง USB ของบอร์ดก็ตรวจพบ Sonoff Zigbee 3.0 USB Dongle Plus ได้ทันทีดังรูป

การตรวจสอบการตรวจเจอ Zigbee 3.0 USB Dongle ด้วยคำสั่ง dmesg

หลังจากนั้นก็เราก็ทดลองติดตั้ง Node.js เพื่อเตรียมติดตั้ง Zigbee2MQTT โดยติดตั้งตาม https://github.com/nodesource/distributions

การติดตั้ง Node.js และ npm สำหรับ Ubuntu 16.04

ขั้นตอนต่อมาคือการติดตั้งไฟล์ Zigbee2MQTT จาก github ตั้งค่าและทดสอบใช้งาน

การติดตั้ง โปรแกรม zigbee2mqtt

จากนั้นเราก็ทำการทดสอบสั่งให้ Zigbee2MQTT เริ่มทำงานซึ่งสามารถทำงานได้โดยไม่แจ้งปัญหาใด ๆ

การทำงานของ Zigbee2MQTT

จากนั้นเราสามารถเปิดหน้าเว็บไซต์ไปที่ IP address ของบอร์ด และระบุพอร์ตเป็น 8080 ก็จะพบกับหน้าจัดการของ Zigbee2MQTTซึ่งเมื่อเปิดให้ระบบทำการ permit join ก็สามารถตรวจพบกับอุปกรณ์ zigbee ที่อยู่ใน paring mode ได้ทันที

zigbee2mqtt on DSOM-020 PX30 SBC

รายการอุปกรณ์ zigbee ที่ตรวจพบ

หลังจากนั้นเมื่อเราลองกดไปที่หน้า “Map” ก็จะพบว่าอุปกรณ์ zigbee ทั้ง 2 ตัวได้เชื่อมต่อโดยตรงเข้ากับ DSOM-020 PX30 Development Board เป็นที่เรียบร้อย

zigbee2mqtt map on DSOM-020 PX30 board

ภาพแสดงการเชื่อมต่อระหว่างอุปกรณ์ zigbee  และ DSOM-020 PX30 Development Board

หลังจากนั้นเราก็ลองกดไปที่รายการอุปกรณ์ในหน้า “Devices” เลือกเป็น IAQ sensor จาก  IKEA รุ่น VINDSTYRKA ที่แท็ป “Exposes” ก็พบว่าข้อมูลอุณหภูมิ ความชื้น และค่า PM2.5 ได้ถูกอ่านและนำมาแสดงได้เป็นที่เรียบร้อย

zigbee2mqtt data expose on px30k

ข้อมูลจาก VINDSTYRKA  IAQ sensor จาก IKEA

จากนั้นก็ทำการเปิด MQTT client เพื่อดูว่า Zigbee2MQTTสามารถอ่านค่าและส่งต่อขึ้นไปยัง MQTT broker ได้เรียบร้อยดีหรือไม่ก็พบว่าข้อมูลถูกส่งมาอย่างต่อเนื่องทุกๆ 10 วินาที

VINDSTYRKA send data to MQTT broker

ภาพแสดงข้อมูลการ subscribe ข้อมูลจาก IAQ sensor ผ่านการส่งจาก Zigbee2MQTT

ทดสอบการใช้พลังงาน

เนื่องจาก Rockchip PX30 เป็นตัวประมวลผลที่ใช้พลังงานต่ำ เราได้วัดการใช้พลังงานของบอร์ดด้วยเครื่องวัดไฟฟ้าแบบหลายฟังก์ชัน

DSOM PX30K power consumption SBC BENCH

ผลลัพธ์ที่ 12V DC:

  • ปิดเครื่อง – 24 mA หรือ 288 mW
  • Idle – 110mA หรือ 1.32 วัตต์
  • ทดสอบ SBC bench (7-zip multi-thread) – 257mA หรือ 3.088 วัตต์

สรุปผล

จากการทดสอบใช้งานมาเป็นระยะเวลากว่า 1 เดือนพบว่าการทำงานของ DSOM-020 PX30 Development Board ทำงานได้สเถียรมากและกินพลังงานต่ำโดยใช้งานงานบน adaptor 12V 2A โดยไม่พบปัญหาใด ๆ ในการทำงาน และใน datasheet ของ DSOM-020 PX30 ระบุว่าเฉพาะ SOM DSOM-020 PX30 นั้นกินพลังงานเพียง 7.5W เท่านั้น ซึ่งหากในงานที่ต้องมีการใช้งานเป็น edge computing จำนวนมาก ๆ การใช้พลังงานโดยรวมของทั้งระบบจะต่ำกว่าและผลิตความร้อนน้อยกว่า น่าเสียดายที่ข้อมูลของ DSOM-020 PX30 Development Board นั้นมีอยู่ค่อนข้างน้อย เนื่องจาก Dusun IoT เน้น community ที่ FAE จะมาช่วยตอบคำถามต่าง ๆ ที่ผู้ใช้ติดปัญหามากกว่า ซึ่งเหมาะกับผู้ใช้กลุ่มมืออาชีพที่เน้นการนำไปพัฒนาเป็นผลิตภัณฑ์เชิงพานิชย์

ซึ่งก็ต้องขอขอบคุณทางบริษัท Dusun IoT ที่ได้ส่งผลิตภัณฑ์นี้มาให้ได้รีวิวและหากผู้อ่านท่านใดสนใจผลิตภัณฑ์จาก Dusun IoT สามารถเข้าไปเยี่ยมชมได้ทีเว็บไซต์  https://www.dusuniot.com/landing-pages/som-developer/

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
โฆษณา