การใช้งาน Peripherals ต่าง ๆ บนซิงเกิ้ลบอร์ด youyeetoo X1 ที่ใช้ CPU Intel Celeron N5105 ต่างจาก CPU ตระกูล ARM เพราะเราต้องทำการติดตั้งระบบปฎิบัติการเอง ไม่เหมือนการติดตั้งด้วยไฟล์ image แบบที่ทำกับซิงเกิ้ลบอร์ด arm ทั่วไป ซึ่งการติดตั้งระบบปฎิบัติการเองใหม่ทั้งหมด ในการใช้งาน Peripherals ต่าง ๆ เช่น SPI, I2C หรือ UART อาจจะใช้งานได้ทันทีหรือใช้งานไม่ได้เนื่องจากไม่มี driver ที่สนับสนุน
จากรีวิวที่แล้วเราได้ใช้ youyeetoo X1 SBC ซิงเกิ้ลบอร์ด บน Ubuntu ในรีวิวนี้เราจะมาลองทดสอบและหาทางตั้งค่าให้เราสามารถใช้งาน Peripherals ได้ โดยใช้ข้อมูลจาก wiki ของ X1 มาเป็นแนวทางในการตั้งค่าและทดสอบการทำงาน
GPIO ของ youyeetoo X1
บนบอร์ด youyeetoo X1 นั้นมี GPIO ให้เราสามารถใชังานได้ 5 ชุด โดยอยู่บน connector แบบ JST ขนาด pitch 2.0mm ซึ่งสามารถใช้งานได้ที่แรงดัน 2 ระดับด้วยกันคือ 1.8V และ 3.3V ซึ่งการเปลี่ยนค่าระดับแรงดันนี้ ต้องทำผ่านการ update BIOS ของบอร์ด โดยรายละเอียดของไฟล์ BOIS จะเป็นดังนี้
“X1_01_Digital_S8_20231023175931_3.3V.bin” ซึ่งจากชื่อของ bios ไฟล์นี้สื่อว่า bios ไฟล์นี้ใช้กับบอร์ด X1 RAM ขนาด 8G เปิดใช้งาน digital ไมโครโฟน และใช้งานหน้าจอเรื่มต้นเป็น MIPI 7 LCD โดยมีแรงดัน GPIO เป็น 3.3V หรืออ่านเพิ่มเติมจากบทความนี้
การใช้งาน GPIO ผ่าน libgpiod
ติดตั้ง libgpiod และ gpiod
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
unoiot@unoiot-YouYeeToo-X1:~$ sudo apt -y install libgpiod-dev Reading package lists... Done Building dependency tree... Done Reading state information... Done libgpiod-dev is already the newest version (1.6.3-1build1). 0 upgraded, 0 newly installed, 0 to remove and 38 not upgraded. unoiot@unoiot-YouYeeToo-X1:~$ sudo apt -y install gpiod Reading package lists... Done Building dependency tree... Done Reading state information... Done The following NEW packages will be installed: gpiod 0 upgraded, 1 newly installed, 0 to remove and 38 not upgraded. Need to get 24.3 kB of archives. After this operation, 143 kB of additional disk space will be used. Get:1 http://th.archive.ubuntu.com/ubuntu jammy/universe amd64 gpiod amd64 1.6.3-1build1 [24.3 kB] Fetched 24.3 kB in 0s (151 kB/s) Selecting previously unselected package gpiod. (Reading database ... 226776 files and directories currently installed.) Preparing to unpack .../gpiod_1.6.3-1build1_amd64.deb ... Unpacking gpiod (1.6.3-1build1) ... Setting up gpiod (1.6.3-1build1) ... Processing triggers for man-db (2.10.2-1) ... |
การควบคุม GPIO ของ youyeetoo X1 ด้วย Python
จากนั้นเราจะทำการติดตั้ง python library python3-libgpiod ดังนี้
1 |
sudo apt install python3-libgpiod |
เมื่อติดตั้งเรียบร้อยแล้ว เราจะทำการทดลองเขียนโปรแกรมสั่งงาน gpio เพื่อเป็นไฟกระพริบแบบง่าย ๆ ดังนี้
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 |
import gpiod, time # pins RELAY1 = 160 RELAY2 = 177 chip=gpiod.Chip('gpiochip0') relay1=chip.get_line(RELAY1) relay1.request(consumer="Relay1", type=gpiod.LINE_REQ_DIR_OUT) relay2=chip.get_line(RELAY2) relay2.request(consumer="Relay2", type=gpiod.LINE_REQ_DIR_OUT) def run(): delay = 1.0 try: while True: relay1.set_value(1) time.sleep(delay) relay1.set_value(0) time.sleep(delay) ''' duplicate relay2 here ''' finally: cleanup() def cleanup(): relay.release() if __name__ == "__main__": run() |
การสั่งการ relay ด้วย GPIO ของบอร์ด X1
I2C ของ youyeetoo X1
การตรวจสอบ driver
เราจะทำการตรวจสอบ driver ของ I2C บนบอร์ดและอุปกรณ์ I2C ที่เชื่อมต่ออยู่บนบอร์ด ด้วยการติดตั้ง i2c-tools
1 |
sudo apt-get install i2c-tools |
หลังจากนั้นจะสามารถทำการตรวจสอบด้วยคำสัง i2cdetect ซึ่งจาก schematic diagram จะมีข้อมูลว่าเชื่อมต่อกับ I2C3
ดังนั้นเราจะทำการตรวจสอบว่ามีการเชื่อมต่ออุปกรณ์ I2C อยู่บน I2C3 อยู่รึเปล่าด้วยคำสั่ง sudo i2cdetect -r -y 4 โดยเราได้เชื่อมต่อ sensor วัดค่า eCO2 ด้วยเซ็นเซอร์ ENS160 และ temperature และ humidity ด้วย AHT21 เมื่อเชื่อมต่อกับบอร์ด X1 ก็จะตรวจสอบอุปกรณ์ได้ 2 แอดเดรสคือ 0x38 และ 0x53 ซึ่งเป็น I2C แอดเดรสของ ENS160 และ AHT21
การเชื่อมต่อเซ็นเซอร์ AHT21 เข้ากับบอร์ด X1
1 2 3 4 5 6 7 8 9 10 |
unoiot@unoiot-YouYeeToo-X1:~/linux-nfc/linux$ sudo i2cdetect -r -y 4 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- 38 -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- 53 -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- |
การทดสอบการใช้งาน
เราจะลองเขียนโปรแกรม python ง่ายๆ เพื่ออ่านค่าจากอุปกรร์ I2C ด้วย library smbus2 ดังนี้
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 |
from smbus2 import SMBus import time class AHT21: _i2cAddr = 0x38 def __init__(self): self.bus = SMBus(4) self._calibrate() def _write(self, data): self.bus.write_i2c_block_data(self._i2cAddr,0x0D , data) def _read(self, reg, len): return self.bus.read_i2c_block_data(self._i2cAddr, reg, len) def _calibrate(self): cal_cmd = [0xbe, 0x08, 0x00] self._write(cal_cmd) #todo delay perf counter?? need 50 us time.sleep(0.01) self._write([0x71]) # get status register res = self._read(self._i2cAddr, 1) if not res[0] & 0x68 == 0x08: print("Error calibrating.") return False else: print("Calibrating ok.") return True def Read(self): """Returns tuple (temp, humidity). Blocking delay at readout. """ read_cmd = [0xac, 0x33, 0x00] self._write(read_cmd) #todo delay perf counter?? need 80ms time.sleep(0.1) res = self._read(self._i2cAddr, 6) calc_hum = ((res[1] << 16) | (res[2] << 8) | res[3]) >> 4; calc_temp = ((res[3] & 0x0F) << 16) | (res[4] << 8) | res[5]; rh = calc_hum * 100 / 1048576; temp = calc_temp * 200 / 1048576 - 50; return (temp, rh) from AHT21 import AHT21 aht21 = AHT21() while True: result = aht21.Read() print("Relative Humidity : %.2f %%"%(result[1])) print("Temperature in Celsius : %.2f C"%(result[0])) print(" ************************************* ") time.sleep(1) |
โค้ดทดสอบการอ่านค่าความชื้นสัมพัทธ์และอุณหภูมิของอากาศด้วยเซ็นเซอรื์ AHT21
ผลการทำงาน
การอ่านค่าจากเซ็นเซอร์ AHT21 ผ่านทาง I2C
UART ของ youyeetoo X1
การตรวจสอบ driver
ทำการตรวจสอบด้วย sudo ls /dev/ttyS* นบอร์ด X1 จะมี UART ให้เราใช้งานจำนวน 3 ชุดคือ UART1-UART3 ซึ่งเป็น ttyS0,ttyS4 และ ttyS5
1 2 3 4 |
unoiot@unoiot-YouYeeToo-X1:~$ sudo ls /dev/ttyS* /dev/ttyS0 /dev/ttyS11 /dev/ttyS14 /dev/ttyS17 /dev/ttyS2 /dev/ttyS22 /dev/ttyS25 /dev/ttyS28 /dev/ttyS30 /dev/ttyS5 /dev/ttyS8 /dev/ttyS1 /dev/ttyS12 /dev/ttyS15 /dev/ttyS18 /dev/ttyS20 /dev/ttyS23 /dev/ttyS26 /dev/ttyS29 /dev/ttyS31 /dev/ttyS6 /dev/ttyS9 /dev/ttyS10 /dev/ttyS13 /dev/ttyS16 /dev/ttyS19 /dev/ttyS21 /dev/ttyS24 /dev/ttyS27 /dev/ttyS3 /dev/ttyS4 /dev/ttyS7 |
เราจะทำการทดสอบบน UART2 ซึ่งจะเป็นอุปกรณ์ dev/ttyS5 โดยมีรายละเอียดของขาดังนี้
Serial Number | Description | Remarks |
---|---|---|
1 | VCC | Output voltage 3.3V |
2 | TXD | Sending data TTL level |
3 | RXD | Receive data TTL level |
4 | GND | Power reference ground |
การทดสอบการใช้งาน
การเชื่อมต่อ GPS โมดูล BN-180 เข้ากับบอร์ด X1 ผ่าน UART2
โดยเราจะทดสอบการทำงานด้วยการต่อกับ GPS module Beitian BN-180 ที่ใช้ชิป NEO-M8N โดยเมื่อต่อใช้งานตามคำแนะนำของผู้ผลิตคือ baudrate 9600 ทำการทดสอบเปิดด้วยโปรแกรม screen ก็ได้ผลลัพธ์ดังนี้
1 |
sudo screen /dev/ttyS5 9600 |
ซึ่งเพื่อให้ง่ายต่อการนำข้อมูลไปใช้งานต่อเราจะติดตั้งโปรแกรม gpsd
1 2 3 4 5 6 7 8 9 10 11 |
unoiot@unoiot-YouYeeToo-X1:~$ sudo apt-get install gpsd Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: gpsd-tools libgps28 Suggested packages: gpsd-clients The following NEW packages will be installed: gpsd gpsd-tools libgps28 0 upgraded, 3 newly installed, 0 to remove and 38 not upgraded. |
หลังจากนั้นเข้าไปตั้งค่าที่ /etc/default/gpsd เพื่อให้เริ่มทำงานโดยอัตโนมัติและทำการชี้ไปที่ device ของ UART2 ที่เชื่อมต่อ GPS module ไว้
1 2 3 4 5 6 7 8 9 10 |
# Devices gpsd should collect to at boot time. START_DAEMON="true" # They need to be read/writeable, either by user gpsd or the group dialout. DEVICES="/dev/ttyS5" # Other options you want to pass to gpsd GPSD_OPTIONS="" # Automatically hot add/remove USB GPS devices via gpsdctl USBAUTO="true" |
จากนั้นเราจะสามารถอ่านค่าตำแหน่งพิกัดได้จากโปรแกรม cgps ดังรูป
ข้อมูลจาก UART2 ถูกนำไปประมวลผลและแสดงค่าบนโปรแกรม cgps
NFC ของ youyeetoo X1
บนบอร์ด X1 นั้นมีการติดตั้งชิป NFC ST25DV04K ไว้บนบอร์ดพร้อมใช้งาน เพียงแค่ต้องไปหาสายอากาศสำหรับ NFC มาต่อ ซึ่งทาง youyeetoo ก็มีจำหน่าย โดยการเชื่อมต่อเป็นคอนเน็คเตอร์ IPEX สามารถเชื่อมต่อได้ที่ขั้วต่อทันที
การติดตั้งอุปกรณ์
เชื่อมต่อตอนเน็ตเตอร์สายอากาศ ดังรูปก็สามารถใช้งานได้ทันที
รูปการเชื่อมต่อสายอากาศของ NFC เข้ากับบอร์ด X1
การทดสอบการใช้งาน
โดยเราสามารถทดสอบการทำงานได้ผ่านโปรแกรมตัวอย่างจากทาง youyeetoo ที่จะสาธิตการติดต่อสื่อสารระหว่าง X1 กับโทรศัพท์ผ่านทาง NFC ไม่ว่าจะเป็นการแตะแล้วเปิดหน้วเว็บ หรือแตะแล้วเปิดโปรแกรม
1 2 3 4 5 6 7 8 9 10 11 12 13 |
unoiot@unoiot-YouYeeToo-X1:~$ wget http://d.youyeetoo.cn/X1/Linux-tools/linux-gpio-i2c-spi-nfc/nfc/linux-nfc-en.zip --2023-12-03 10:43:04-- http://d.youyeetoo.cn/X1/Linux-tools/linux-gpio-i2c-spi-nfc/nfc/linux-nfc-en.zip Resolving d.youyeetoo.cn (d.youyeetoo.cn)... 183.60.220.4, 183.60.220.9, 183.60.220.6 Connecting to d.youyeetoo.cn (d.youyeetoo.cn)|183.60.220.4|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3496000 (3.3M) [application/zip] Saving to: ‘linux-nfc-en.zip’ linux-nfc-en.zip 100%[=================================================================>] 3.33M 1.34MB/s in 2.5s 2023-12-03 10:43:07 (1.34 MB/s) - ‘linux-nfc-en.zip’ saved [3496000/3496000] unoiot@unoiot-YouYeeToo-X1:~$ unzip linux-nfc-en.zip |
โดยหลังจากดาวน์โหลดและแตกซิบโปรแกรมเรียบร้อยแล้ว เราจะมาทำการติดตั้ง binary package ที่จำเป้นต่อการ compile โปรแกรมกันต่อ
1 |
unoiot@unoiot-YouYeeToo-X1:~$ sudo apt -y install libgpiod-dev |
ทำการ make และทดสอบโปรแกรม
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
unoiot@unoiot-YouYeeToo-X1:~/linux-nfc$ cd linux/ unoiot@unoiot-YouYeeToo-X1:~/linux-nfc/linux$ make gcc -I ./ -O2 -Wall -g -fPIE -c i2c.c -o i2c.o g++ -I ./ -O2 -Wall -g -fPIE -c Gpio_Interrupt.cpp -o Gpio_Interrupt.o g++ -I ./ -O2 -Wall -g -fPIE -c I2cCtrl.cpp -o I2cCtrl.o g++ -I ./ -O2 -Wall -g -fPIE -c NFC_Ndef.cpp -o NFC_Ndef.o g++ -I ./ -O2 -Wall -g -fPIE -c NFC_St25DVXApp.cpp -o NFC_St25DVXApp.o g++ -I ./ -O2 -Wall -g -fPIE -c NFC_St25DVXCtrl.cpp -o NFC_St25DVXCtrl.o NFC_St25DVXCtrl.cpp: In function ‘void* pthread_fun_nfc_gpio(void*)’: NFC_St25DVXCtrl.cpp:24:1: warning: no return statement in function returning non-void [-Wreturn-type] 24 | } | ^ g++ -I ./ -O2 -Wall -g -fPIE -c test_NFC.cpp -o test_NFC.o g++ -I ./ -O2 -Wall -g -fPIE -c Tools.cpp -o Tools.o gcc -o test_NFC i2c.o Gpio_Interrupt.o I2cCtrl.o NFC_Ndef.o NFC_St25DVXApp.o NFC_St25DVXCtrl.o test_NFC.o Tools.o -lm -lrt -lstdc++ -ldl -lgpiod rm -rf i2c.o rm -rf Gpio_Interrupt.o I2cCtrl.o NFC_Ndef.o NFC_St25DVXApp.o NFC_St25DVXCtrl.o test_NFC.o Tools.o |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
unoiot@unoiot-YouYeeToo-X1:~/linux-nfc/linux$ sudo ./test_NFC NFC_St25DVXCtrl() NFC_St25DVXApp() NFC_St25DVXCtrl::ConnetDev:/dev/i2c-5,ret=0 pthread_fun_nfc_gpio Enter The Thread--- NFC The Device Was Successfully Connected:s=IC Ref:24 IC UID:F6 EC F5 DA 00 24 02 E0 User Storage size=512B Chip Model name:ST25DV04K-XX Start Initialization Break Flags int_flg=00H Break Flags int_flg=00H Break Flags int_flg=00H Break Flags int_flg=00H |
SPI ของ youyeetoo X1
การตรวจสอบ driver เบื้องต้น
1 2 |
unoiot@unoiot-YouYeeToo-X1:~$ ls /dev/spi* ls: cannot access '/dev/spi*': No such file or directory |
เนื่องจากว่าการติดตั้งระบบปฎิบัติการ Ubuntu แบบปกติ kernel จะไม่สนับสนุน SPI เมื่อเรา ใช้คำสั่ง ls /dev/spi* จึงตรวจไม่พบ driver ของ SPI ในระบบ ซึ่งหากเราต้องการใช้งาน SPI เราจำเป็นจะต้องทำการดาวน์โหลดซอร์สโค้ดของ kernel เพื่อมาทำการคอมไฟล์เพื่อให้รองรับ SPI
การคอมไฟล์ driver โมดูล
เราจำเป็นที่จะต้องทำการติดตั้ง binary package ต่าง ๆ ดังนี้ เพื่อให้สามารถ make module SPI ในส่วนของ user space เพื่อใช้งานได้
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#ติดตั้งแพคเกจที่ต้องใช้งาน sudo apt-get update sudo apt install -y libncurses-dev flex bison libssl-dev sudo apt-get -y install libelf-dev #ดาวน์โหลดและติดตั้ง kernel source code sudo apt-get install linux-source-6.2.0 cd /usr/src/ tar -xvjf linux-source-6.2.0.tar.bz2 -C ~/ cd ~/linux-source-6.2.0 #ลบ config เก่าจาก source code sudo make oldconfig #copy config ของเครื่องไปทับใน source code cp /boot/config-$(uname -r) ./.config #ทำการตั้งค่าผ่าน GUI sudo make menuconfig |
ทำการเลื่อนไปในหัวข้อ device drivers เลื่อนไปจนเจอ SPI แล้วทำการกด spacebar ที่หน้าข้อความ “user mode SPI device driver support” จนเป็น “*”
ทำการแก้ไขไฟล์ .config เพื่อแก้ไขเอา key ออกไปสองค่าคือ CONFIG_SYSTEM_TRUSTED_KEYS=””
,CONFIG_SYSTEM_REVOCATION_KEYS=”” จะอยู่บรรทัดที่ 11355 ทำการเซฟและไปยังขั้นตอนต่อไป
1 2 3 4 5 6 7 |
#Compile kernel source code sudo make -j4 sudo make modules_install sudo make install #Update startup parameters sudo update-grub |
หลังจากการติดตั้ง SPI driver แล้วก็ยังจะไม่สามารถใช้งานได้ ต้องมีการ Inject ใส่โค๊ด ACPI ASL เข้าไปยัง kernel อีก
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#Download Tools & setup sudo mkdir spi2 cd spi2 sudo curl -o spi-enable_upn-ehl01.zip http://d.youyeetoo.cn/X1/Linux-tools/linux-gpio-i2c-spi-nfc/spi/spi-enable_upn-ehl01.zip sudo unzip spi-enable_upn-ehl01.zip #Modify Script Permissions sudo chmod 777 acpi-add sudo chmod 777 acpi-upgrades sudo chmod 777 install_hooks sudo ./install_hooks #Execute script: Inject ASL code into the kernel sudo acpi-add spidev* #Restart the system sudo reboot |
การทดสอบการใช้งาน
หลังจากติดตั้งทุกอย่างครบถ้วนแล้ว เมื่อทำการตรวจสอบ SPI อีกครั้งด้วย /dev/spi* ก็พบอุปกรณ์เป็น /dev/spidev1.1 ให้เราสามารถใช้งานได้ แต่เนื่องจากผู้เขียนยังหาข้อมูลของขา SPI ไม่พบจึงจะยังไม่มีการทดสอบเขียนโปรแกรมเพื่อติดต่อกับอุปกรณ์ หากได้ข้อมูลแล้วจะมาอัพเดตบทความนี้ในภายหลัง
1 2 |
unoiot@unoiot-YouYeeToo-X1:~$ sudo ls /dev/spi* /dev/spidev1.1 |
POE
บนบอร์ด X1 ไม่รองรับการใช้งาน POE โดยทั่วไป แต่มีการออกแบบให้สามารถต่ออุปกรณ์เสริมเป็นโมดูล POE ให้เราสามารถเลือกใช้งานได้ตามความต้องการตั้งแต่
30W module-12V2A หรือ 60W module-12V5A และ 72W module-12V6A
การติดตั้งอุปกรณ์
การติดตั้งโมดูลสามารถติดตั้งได้ด้วยการบัดกรีลงไปยังบริเวณด้านข้างของบอร์ดด้านที่เป็นจุดต่อ Micro SD card โดย Youyeetoo ได้ส่งโมดูล POE รุ่น 60W มาให้ทำการทดสอบซึ่งจำเป็นต้องมีการดัดแปลงที่โมดูลด้วยการงอขาของโมดูลสองขาก่อนการติดตั้ง แล้วทำการบัดกรีเพื่อใช้งานได้ทันที
การทดสอบการใช้งาน
ใช้งานทดสอบร่วมกับ POE Switch 8 port ของ Zyxel รุ่น GS1008HP สามารถใช้งานทันทีที่เสียบสาย LAN เข้ากับบอร์ด X1
ทดสอบการใช้พลังงาน
ตามเอกสารของ Intel ระบุว่าค่า TDP ของ Intel® Celeron® Processor N5105 อยู่ที่ 10W เราจึงจะทดสอบการใช้งานจริงเพื่อวัดการใช้พลังงานของบอร์ด X1 ที่มีการต่ออุปกรณ์ต่อพ่วงทั้งเซนเซอร์ Wi-Fi และ SSD แบบ NVMe M.2
เราได้วัดการใช้พลังงานของบอร์ดด้วยเครื่องวัดไฟฟ้าแบบหลายฟังก์ชัน ผลลัพธ์ที่ได้จาก adaptor ขนาดแรงดัน 12V DC เราจะสามารถคำนวนค่าพลังงานกลับได้จากสมการ P=IxV สรุปเป็นผลลัพธ์ดังรูป
ปิดเครื่อง – 47 mA หรือ 564 mW
Idle – 577mA หรือ 6.9 วัตต์
ทดสอบ SBC bench (7-zip multi-thread) – 1.759 A หรือ 21.55 วัตต์
สรุปการทดสอบ
บอร์ด youyeetoo X1 ที่เป็นซิงเกิ้ลบอร์ดคอมพิวเตอร์ที่ใช้ Intel Celeron N5105 ซึ่งโดยทั่วไปเราจะไม่ได้ใช้งาน GPIO peripheral ซักเท่าไหร่ แต่เนื่องจากบอร์ด X1 นั้น มาพร้อมกับการเชื่อมต่อใช้งานที่หลากหลายไม่ว่าจะเป็นคอนเน็คเตอร์ M.2 ทั้ง M คีย์ และ E คีย์ สำหรับเชื่อมต่อ Wi-Fi, 4G LTE หรือ SSD ไปจนถึงการต่อจอภาพได้ทั้ง MIPI DSI และ HDMI ความละเอียดสูงถึง 4K พร้อมการสื่อสารทั้ง UART,I2C,SPI และ NFC ซึ่งจากการทดสอบการใช้งานสามารถใช้งานได้ครบถ้วนทั้งหมดแม้จะต้องมีการคอมไฟล์ kernel เพื่อให้รองรับก็ตาม
ทำให้บอร์ด youyeetoo X1 SBC เหมาะกับการใช้งานเป็น Edge computer ซึ่งไม่ว่าคุณจะเป็นเมกเกอร์, นักพัฒนางาน IoT หรืองานสมาร์ทโซลูชั่นต่าง ๆ บอร์ด youyeetoo X1 SBC ก็สามารถตอบโจทย์การเอาไปใช้งานได้หลากหลาย ทั้งงานควบคุมในภาคอุตสาหกรรมต่าง ๆ งานไอโอที หุ่นยนต์และอื่น ๆ อีกมากมาย
และต้องขอขอบคุณ youyeetoo ที่ได้ส่งบอร์ด youyeetoo X1 SBC พร้อม RAM 8GB /eMMC 128GB และ จอภาพขนาด 7 นิ้ว YYT-MIPI7LCD มาให้ทำการรีวิว และหากผู้อ่านสนใจ อยากนำเอาบอร์ด youyeetoo X1 SBC มาใช้งานสามารถหาซื้อได้จาก Amazon, Aliexpress,และร้านค้าออนไลน์ของบริษัท ในราคาเริ่มต้นที่ $109.99 (~3,900฿) สำหรับรุ่น 4GB/ไม่มี eMMC และสำหรับรุ่นที่รีวิวนี้ ราคา $139.99 (~5,000฿) ส่วนจอภาพ YYT-MIPI7LCD ขนาด 7 นิ้ว ราคา $30.00 (~1,000฿)
Fulltime Maker
ปัจจุบันดูแลส่วนงาน R&D และ Innovation
ความสนใจคือ Single Board Computer และงานด้าน IoT