DIY RTK Base Station (survey-grade) รุ่น V3 ด้วย Orange Pi 3 Zero + UM980 ตอนที่ 2

หลังจากโครงการ V1 คือ DIY ตัว RTK Base Station ด้วยบอร์ด ESP21 จับคู่กับ Unicorecomm UM980 สำเร็จสามารถนำไปใช้งานได้จริง ด้วยงบประมาณประมาณหนึ่งหมื่นบาท ผมพยายามจะต่อด้วย V2 ที่ยังใช้ ESP32 แต่เปลี่ยนไปใช้รุ่นที่แรงขึ้นคือ S3 แต่ยังพบปัญหาความไม่เสถียรที่เพิ่มผมพยายามเพิ่มฟีเจอร์เพิ่มเช่น Skyplot ประมาณนี้ซึ่งเป็นงานหนักสำหรับซีพียู ทางคุณคล็อดบอกว่าซีพียูของ ESP32 เหมือนวัวหนึ่งตัว ต้องใช้ผาลหรือไถหนึ่งอัน ถ้าใช้ผาลสามอันเหมือนรถไถ วัวจะตายคาที่ สุดท้ายผมก็เห็นคาตาว่า ESP32 ไม่สามารถลากงานหนักหลายอย่างได้

ติดตามอ่านบทความตอนที่ 1 ได้ที่

ผมเริ่มใหม่ด้วย V3 ที่หันมาใช้บอร์ดคอมพิวเตอร์แบบเดี่ยวที่เรียกว่า Single Board Computer (SBC) ตัวอย่างบอร์ดพวกนี้ก็คุ้นกันดีคือบอร์ดตระกูล Raspberry Pi ที่ผมเคยใช้อยู่กันหน้านี้หลายสิบปี แต่เอาไปติดตั้งพวก OSC มากกว่าเพื่อดูหนังฟังเพลง มาในยุคนี้ยุคข้าวอยากหมากแพง พบว่า Raspberry Pi จากราคาที่จับต้องได้ ราคากลับสูงแพงลิบ ยังมีตัวเลือกบอร์ดจากจีนที่ทำเลียนแบบ ที่มีคุณภาพเยี่ยมไม่แพ้ต้นตำรับ ที่ผมจะพูดถึงคือ Orange Pi 3 Zero

โครงการ V1 ผมใช้เอไอ คุณคล็อด (Claude) มาช่วยในการโปรแกรมมิ่ง แต่จริงๆแล้วปรึกษากันเกือบทุกเรื่อง คุยกันว่า V3 จะใช้อุปกรณ์ฮาร์ดแวร์อะไรดี เขาให้เลือกใช้ Orange Pi 3 Zero ที่ใช้ซีพียู H618 และเลือกแรม 1.5 GB แรมนั้นสามารถเลือกได้ตั้งแต่ 512MB/1GB/1.5GB/2GB/4GB เมื่อเขาแสดงคุณสมบัติให้เห็น ผมก็ตกลงสั่งจากชอปปี้ปลายปี 2568 ในราคาเก้าร้อยกว่าบาท ปัจจุบันแรมแพงมาก ผมดูราคารุ่นนี้ขึ้นไปอยู่ราวๆ 1300+ บาท (ขณะที่เขียนเดือนมีนาคม 2569)

องค์ประกอบ Orange Pi 3 Zero

ระบบปฏิบัติการอาร์มเบียนสำหรับบอร์ดคอมพิวเตอร์เดี่ยว

สำหรับโอเอส ผมเลือกอาร์มเบียน (Armbian) เป็นระบบปฏิบัติการแบบลีนุกซ์แบบที่ถูกออปติไมซ์ใ้ห้เหมาะสมกับบอร์ดคอมพิวเตอร์เดี่ยว (SBC) ผมเลือกใช้แบบมินิมอล คือไม่มีระบบกราฟฟิค การเข้าถึงเครื่องทำได้โดยการต่อเน็ตเวิร์คแล้วรีโมทเข้าไป ข้อดีของมินิมอลคือมีขนาดเล็ก กินแรม กินซีพูยูน้อยกว่าระบบกราฟฟิค การเขียนระบบปฏิบัติการ Armbian ก็เขียนลงแผ่น SD Card ได้ ผมเก็บ SD Card ตัวเก่าขนาดแค่ 32 GB มาใช้งาน ข้อเสียของ SD Card คือเสียง่าย แต่เท่าที่ลองใช้กับ Raspberry Pi ก็อึดอยู่ แต่พอไปใช้กับโดรนเพื่อเก็บรูปดันเสียง่ายมากๆ เมื่อเขียนแล้วนำแผ่น SD Card มาเสียบเข้ากับ Orange Pi 3 Zero ก็พร้อมใช้งาน

เปลี่ยนบอร์ด UM980 จากผู้ผลิตต่างกัน

ส่วนราคาของบอร์ด UM980 นั้นราคาประมาณ 2500 – 3000 บาท เป็นราคาถูกที่สุดที่สามารถหาได้ในอาลีเอ็กเพรส ช่วงตรุษจีนราคาอาจจะได้ 2500 บาท แต่ผมสังเกตว่าบอร์ดที่บางร้านนำมาขายบางทีราคาตกอยู่ประมาณ 5000 – 10000 บาทก็มี ซึ่งก็ไม่ทราบว่าราคาและคุณภาพจะดีตามราคาไหม แต่เท่าที่ผมซื้อบอร์ดที่ราคาถูกก็ไม่ได้มีปัญหาอะไร ใช้งานยาวๆได้ต่อเนื่องดี ตอนนี้ V3 ผมเปลี่ยนยี่ห้อเป็นอีกยี่ห้อหนึ่งขนาดใหญ่กว่า V1 เล็กน้อย สังเกตว่า V1 มีช่องพอร์ตมาให้ 2 ชุด แต่ V3 มีแค่ชุดเดียว แต่ก็พอเพราะส่งข้อมูลแค่พอร์ตซีเรียลช่องเดียว

ถ้าเทียบความสวยแล้วบอร์ด V1 สวยกว่า V3 เมื่อเทียบการใช้งานแล้วทั้งคู่ทำงานได้ดีไม่มีที่ติเลย หลังจากตั้งค่าครั้งแรก แทบไม่ต้องไปคอนฟิกอะไรอีก เอาเวลาไปยุ่งกับโปรแกรมมิ่งและ Orange Pi Zero 3 ก็พอแล้ว

เรื่องโค้ดโปรแกรมที่จะนำมาใช้เป็นเรื่องใหญ่มากๆ ตอน V1 ผมนำโค้ดจากใน incarvr6/GitHub ที่เป็นภาษา C/C++ โดยใช้ API ของ ESP-IDF จากผู้ผลิต ESP32 มาใช้ พบว่าการนำโปรแกรมที่มีอยู่แล้วมาต่อยอดได้อย่างไม่ยากเย็นนัก จากการช่วยเหลือของเอไอคุณคล็อด ถึงจะมีปัญหาจุกจิกมากบ้างน้อยบ้างก็แก้ไขกันได้

โค้ดโปรแกรมต้นฉบับ

สำหรับ V3 โค้ดโปรแกรมทำใช้ Stefal/RTKBase ผู้พัฒนาหลักคือคุณสเตฟาล ที่โค้ดส่วนใหญ่เป็นภาษาไพทอน บางส่วนที่เกี่ยวกับเวบใช้จาวาสคริปต์ โค้ดไพทอนที่อยู่ในโครงการนี้บางส่วนคุณสเตฟาลนำมาจากโครงการ Reachview ของ Emlid และแกนกลางของโครงการใช้ไลบรารีอันลือลั่นคือ RTKLib เพื่อทำหน้าที่ที่เกี่ยวข้องกับ GNSS และ NTRIP ผมต้องยอมรับว่าคุณสเตฟาลทำโครงการนี้ได้มาอย่างยอดเยี่ยม เตรียมฟีเจอร์หลักๆและรองๆลงมาได้อย่างไม่มีที่ติ โครงการนี้ผมว่าผู้ใช้ที่เป็นช่างสำรวจสามารถนำไปใช้งานได้เลย เพียงแต่ต้องเตรียมอุปกรณ์ให้ตรงกับ requirements

https://github.com/Stefal/rtkbase

สัญญาอนุญาต

มาดูเรื่องไลเซนต์ สัญญาอนุญาตเป็น AGPL นับว่าสัญญาอนุญาตนี้โหดแบบเลือดซิบๆเลย คือถ้าใครเอาโครงการนี้ไปดัดแปลงแก้ไขต่อยอด จะต้องเปิดเผยซอร์สโค้ดโปรแกรมทั้งหมดที่แก้ไขรวมทั้งของเดิมด้วย ฉะนั้นใครที่คิดจะดัดแปลงแก้ไขเพื่อทำการค้าและต้องการปิดโค้ดคงทำไม่ได้

จุดอ่อนโครงการจากฮาร์ดแวร์

สำหรับโครงการเดิม Stefal/RTKBase นี้จุดอ่อนที่ผมเห็นค่อนข้างร้ายแรงคือข้อจำกัดของ Orange Pi คือตัวไวไฟ สามารถเป็นไวไฟไคลเอนต์ได้อย่างเดียว ไม่สามารถต่อเป็น Hotspot แต่ Orange Pi หรือจริงๆคือ Raspberry Pi ได้ออกแบบเผื่อมาให้คือสามารถต่อสายแลนได้ (มีพอร์ต Ethernet 1 พอร์ต)

การเริ่มต้นต้องใช้พอร์ตอีเธอร์เน็ต

เริ่มแรกจะต้องต่อสายแลนก่อน ซึ่งยุ่งยากพอสมควร ในปัจจุบันการต่ออุปกรณ์ด้วยการใช้สายแลนนั้นก็น้อยลงไปมาก เมื่อต่อสายแลนได้แล้ว ถึงจะเข้าถึงโปรแกรมของ Orange Pi ผ่านการรีโมทด้วยโปรแกรม “armbian-config” ที่ทางโอเอสนี้เตรียมไว้ให้ จากนั้นเข้าไปติดตั้งไวไฟไคลเอนต์ สแกนหาไวไฟ ป้อน SSID ป้อนพาสเวิร์ด แล้วทำการบันทึกไว้ เมื่อต่อกับไวไฟได้แล้ว ก็สามารถปลดสายแลนได้

การแก้ปัญหาไวไฟ

ปัญหาของ RTK Base Station เมื่อนำไปใช้งานในภาคสนามที่ไม่สะดวกจะต่อสายแลน จะทำอย่างไร ซึ่งปัญหานี้ทางบอร์ด ESP32 ใน V1 ได้แก้ปัญหามาแล้วอย่างดีคือในไวไฟของ ESP32 จะมีสองระบบคือสามารถเป็น AP หรือ hotspot และมีไวไฟไคลเอนต์ได้ ในการใช้งานไม่ว่าจะอยู่ที่ไหน สามารถใช้โทรศัพท์มือถือต่อ เข้ากับ Hotspot ของ ESP32 ก่อน จากนั้นเข้าเวบทำการเลือกไวไฟ ที่มีอินเทอร์เน็ต ที่จะเปิดให้ RTK Base Station ใช้เพื่อต่อและส่งสัญญาณปรับแก้ RTCM ออกอินเทอร์เน็ต

แก้ปัญหาด้วยไวไฟคู่ (Dual Wifi)

ผมทำเลียนแบบ ESP32 ใน V3 คือการซื้อไวไฟแบบ USB ที่เป็นรุ่นเก่าๆ ราคาประมาณ 150-200 บาท และที่สำคัญคือต้องเลือกรุ่นที่สามารถนำมาใช้กับ Raspberry Pi ได้ ผมซื้อมาทดสอบบางรุ่นใช้ไม่ได้ต้องไปแลกกับน้องที่สำนักงานกับรุ่นที่ใช้ได้ รุ่นที่ใช้ได้ได้แก่ชิปเซ็ท RTL8188 ผมจะนำไวไฟแบบยูเอสบีนี้มาทำ Hotspot เมื่อต่อ hotspot ได้แล้วก็เข้าไปที่หน้าเวบแล้วทำการสแกนไวไฟเพื่อหาไวไฟไคลเอนต์ที่มีอินเทอร์เน็ตเพื่อใช้งาน

แต่ชิป RTL8188 มีหลากหลายรุ่นต้องระวังให้ดี ผมเลือกมา RTL8188EU คุณคล็อดทำสคริปต์แพ็ทช์ให้ สามารถใช้ได้ แต่ถ้าเป็น RTL8188BU นี่จบเลยครับ ใช้ไม่ได้เลย

ระบบนี้สะดวก ในกรณี RTK Base Station ไม่ได้ตั้งเป็นที่ประจำเช่นออฟฟิศสนามหรือโรงนา ที่ต้องย้ายบ่อยๆ จำเป็นต้องไปใช้อินเทอร์เน็ตจากเราเตอร์อื่นๆหรือจากโทรศัพท์มือถือ

เพิ่มฟีเจอร์ Skyplot

ฟีเจอร์ที่ผมเพิ่มให้คือ Skyplot ผมชอบดูมากกว่าบาร์ชาร์ท เนื่องจาก Skyplot แทนท้องฟ้าเมื่อวาดตำแหน่งดาวเทียม GNSS ก็สามารถทราบ DOP ของดาวเทียมได้จากสายตาทันทีว่าค่าดี ไม่ดี

ป้อนค่าพิกัด Base Station

สำหรับการป้อนตำแหน่งค่าพิกัดของ Base Station สามารถป้อนได้ทันทีคือค่า Latitude/Longitude/Height ในหน่วยทศนิยม ส่วนความสูง (Height) ให้ผู้ใช้ทอนความสูงไปที่ Antenna Phase Center (APC) จากรูปดูช่องแรก Base coordinates

การรังวัด GNSS Static Survey

ฟีเจอร์ที่ V1 ไม่มีคือการวัดและเก็บข้อมูล GNSS Static Survey เนื่องจากจะเป็นงานหนักให้ ESP32 มากเกินไป ส่วนใน V3 จะสามารถเก็บข้อมูลสแตติกได้แบบสบายๆครับ เพราะซีพียูของ OPZ3 นั้นแรงเอาการอยู่ เหลือปัญหาเดียวคือจะเก็บข้อมูลนี้ไว้ตรงไหน

การเลย์เอ้าท์อุปกรณ์ใส่กล่องอลูมินัม

ใน V3 นี้การต่ออุปกรณ์ ผมใช้กล่องอลูมิเนียมที่เล็กลงกว่า V1 โดยมีอุปกรณ์หลักๆคือบอร์ด OPZ3 มีขนาดประมาณ 5 ซม x 5.5 ซม ขนาดใหญ่กว่าบอร์ด UM980 นิดหน่อย ผมยก OPZ3 ให้สูงด้วยการใช้ขาตั้ง แล้วสอดบอร์ด UM980 ไปไว้ด้านล่างให้คร่อมกันนิดหน่อย พอที่บอร์ด UM980 จะสามารถต่อสายอากาศด้านในม้วนเป็นโค้งออกมาอีกด้านหนึ่งได้ ดูสวยกระทัดรัด แต่ภายหลังมีปัญหาเมื่อผมนำบอร์ดขยายของ Orange Pi Zero 3 มาใส่เพราะมันสูงกว่ากล่อง

ผมกลับไปซื้อกล่องอลูมิเนียมอีกรุ่นที่มีขนาดใหญ่กว่ามาก แล้วลองเลย์เอาท์อุปกรณ์ดู ว่าใส่อุปกรณ์อื่นได้ไหม มีพื้นที่ใส่พัดลมขนาดเล็กเพื่อการระบายอากาศที่เพียงพอหรือไม่ การระบายความร้อนดีขึ้นหรือแย่ลง

บอร์ดขยายของ Orange PI Zero 3

ผมนำบอร์ดขยายของ OPZ3 มาต่อเพื่อขยายให้มีพอร์ต USB เพิ่ม จุดประสงค์คือต้องการต่อ USB Flash drive เพื่อเก็บข้อมูลวัดสแตติก ปัญหาคือบอร์ดขยายที่นำมาต่อจะขี่บอร์ดเดิมทำให้ความสูงเกินกล่องอลูมิเนียม วิธีคือเลาะเอาพอร์ต USB แบบคู่ที่บัดกรีแล้วอย่างดีออก แล้วเอาพอร์ต USB แบบเดี่ยวที่ผมมีอยู่บัดกรีลงไปแทน เนื่องจากการเลาะแนวบัดกรีออกที่เขาทำมาไว้อย่างดีโดยที่ไม่มีอุปกรณ์ช่วยนี่เป็นงานยากทีเดียว เมื่อเลาะแล้ว งานบัดกรีใหม่ของง่าย ผมจะเล่าให้ฟังในลำดับถัดไปเมื่อโมดิฟายแบบนี้เกิดอะไรขึ้น

ราคาบอร์ดขยายสามารถหาซื้อได้ในราคาประมาณ 120 – 150 บาท ราคามันถูกทำให้สามารถโมดิฟายแบบไม่ต้องคิดมาก

เลือกที่เก็บข้อมูล Static

เนื่อง OPZ3 มี USB สนับสนุนแค่ 2.0 ครั้งแรกผมจึงหาซื้อ USB Flash Drive ที่เป็น 2.0 และมีขนาดความจุมากหน่อย หาซื้อได้ในราคา 150 บาทที่ความจุ 128 GB ก่อนจะนำมาเสียบกับพอร์ต ต้องแกะเปลือกออกก่อนเพื่อให้มีขนาดเล็กสามารถเสียบและใส่ในกล่องอลูมิเนียมได้ แต่ในขณะใช้งานผมให้บอร์ดแปลงไฟล์ rtcm3 ที่บอร์ด V3 ทำการบันทึกไว้ที่แฟลชไดรว์ ขนาดราวๆ 800 MB แล้วสั่งให้แปลงเป็น Rinex แค่นั้นได้เรื่องเหมือนกันเพราะบอร์ด Orange Pi Zero 3 ทำงานหนัก ผลก็คือแฟลชไดรว์ 128 GB ไหม้ไป ก็ได้บทเรียนว่าของถูกๆ ต้องเลือกใช้ให้ดี ให้ถูกกับงาน ผมกลับมาเลือกใช้แฟลชไดรว์ที่เคยใช้งานมานานขนาด 32GB ที่ซื้อมาเจ็ดปีกว่า ที่หลังๆมาไม่ได้ใช้เพราะมันช้า
นอกจากแฟลชไดรว์พังแล้ว บอร์ดขยายยังพังด้วย ก็สงสัยว่าแฟลชไดรว์คงจะร้อนมาก ก็ไม่เป็นไรนี่เป็นวิถีของ DIY ที่จะต้องเจอ แต่เนื่องจากบอร์ดขยายราคาถูกก็เลยไม่ได้กังวลอะไร

ประเด็นเรื่องการวัดสแตติกของ UM980

ปัญหาที่ผมไม่คาดฝันจะเจอคือการรังวัดสแตติกของ UM980 เมื่อดูโค้ดของคุณสเตฟาลที่ทำไว้ ลักษณะจะเป็นการเก็บข้อมูลคือเก็บ RTCM3 แล้วใช้ไลบรารี RTKLib มาแปลงเป็น Rinex ฟังดูเหมือนไม่มีอะไร แต่ถ้า Base Station ย้ายไปที่ใหม่ค่าพิกัดหมุดที่จะต้้งเบสยังไม่มี จะต้องมีการวัดสแตติกใหม่ที่นี้จะเอาค่าพิกัดอะไรไปป้อนเพราะว่าไม่มี ปัญหาไก่กับไข่อะไรเกิดก่อนจะเกิดทันที เพราะเบสต้องมีค่าพิกัดและติดตั้งถึงจะปล่อย RTCM3 เมื่อหมุดใหม่ยังไม่มีค่าพิกัดยังไม่เป็นเบส จะให้ค่า RTCM3 ไม่ได้

ผมเลยออกแบบเพิ่มให้ V3 เมื่อตั้งที่หมุดแล้วสามารถวัดข้อมูลสแตติกแบบ “Auto Base” ผู้ใช้สามารถตั้งเวลาให้เก็บอาจจะเป็น 5 นาทีหรือ 10 นาที เมื่อครบเวลาแล้วจะสั่ง “Apply Position” ทำการเซฟและสั่งให้เบสทำงานด้วยค่าพิกัดใหม่

เมื่อจะวัดสแตติกจริงๆ ก็สามารถเข้าไป “Logs” ทำการรังวัดสแตติกด้วยการบ่มเก็บ RTCM3 และแปลงเป็นไฟล์ Rinex ทีหลัง สามารถนำ Rinex ส่งไปคำนวณออนไลน์ของกรมแผนที่ หรือคำนวณร่วมกับหมุดอื่นๆได้ในโปรแกรม TBC, Leica Infinity หรือ CGO2

สร้างสคริปต์สร้างไวไฟคู่

การสร้างไวไฟแบบดูอัลบน OPZ3 นั้นจะต้องนำ USB wifi ไปเสียบคาไว้ก่อนและต้องเป็นรุ่นที่ใช้กับ Raspberry Pi ได้เท่านั้น ถ้าใช้กับ Raspberry Pi ได้ก็ต้องใช้กับ Orange PI ได้ ทางคุณคล็อดได้สร้างสคริปต์ไว้ให้ “setup_dual_wifi.sh” สำหรับผมเองต้องบอกว่าด้วยระยะเวลาที่สั้นขนาดนี้ ผมเองไม่มีทางสร้างได้เสร็จแค่ไม่กี่นาทีอย่างแน่นอน ความจริงคือเมื่อเขาสร้างแล้ว ผมมาลองรันทดสอบ ซึ่งจะต้องมีการแก้ไขประมาณ 4-5 รอบ ก่อนจะนำไปใช้งานได้

ไฟสถานะ

ตอนรุ่น V1 ผมไม่ได้ใส่ไฟ led เพื่อแสดงสถานะ ต้องรีโมทเข้าไปดูอย่างเดียวว่า Base Station ยังทำงานอยู่ไหม แต่ด้วยความที่มันเป็นบอร์ด ESP32 มีปัญหาด้านโปรแกรมมิ่งจุกจิกกวนใจมาก ทำให้ไม่มีเวลามาคิดเรื่องนี้ มารุ่น V3 เนื่องจากพื้นฐานที่คุณสเตฟาลทำได้มันดี จนมีเวลามาคิดถึงเรื่องนี้อีกครั้ง การใช้ไฟหลอด led ขนาด 3mm 5mm 6mm เอามาต่อขาหลอดไฟกับตัวต้านทาน นับว่าเป็นเรื่องพื้นฐานที่ใครศึกษาและใช้บอร์ดอะดุยโนมาต้องผ่านหลักสูตรนี้กัน

หลอดไฟแดง แสดงสถานะว่ามีไฟฟ้าเลี้ยง พอเสียบ USB-C หลอดจะติดขึ้นมาเลย หลอดสีเหลืองทำจะติดถ้าสัญญาณ GNSS รับได้ ถ้ากระพริบแสดงว่าสัญญาณ GNSS มีปัญหา เช่นสายอากาศอาจจะหลวม ส่วนสีเขียวแสดงสถานะของอินเตอร์เน็ต ถ้าดับแสดงว่าไม่มีอินเตอร์เน็ต ถ้ากระพริบแสดงว่าการส่งค่า rtcm3 ไปที่ NTRIP Caster มีปัญหา

ความยากอยู่ที่จะบัดกรียังไงให้สามารถใส่กล่องได้ถาวรไม่หลุดร่วงกันง่ายๆ ผมพยายามเลือกแบบสำเร็จรูปมีสองทางเลือกคือแบบไฟจราจร แดง เหลือง เขียว เมื่อซื้อมาแล้วปรากฎว่าหลอดมันใหญ่ขนาด 10 มม ถ้าเจาะฝากล่องมันอาจจะดูไม่สวยเพราะหลอดไฟมันใหญ่เกินไป

สำหรับชุดไฟสถานะแบบถูกๆที่ผมบัดกรีเอง มีข้อระวังคือถ้าบัดกรีใกล้หลอดไฟเล็กมากๆ ความร้อนที่สูงจะทำให้หลอดเสียเร็ว แบบว่าเปิดไม่กี่ครั้งก็ตายไปเลย ผมเลยเปลี่ยนไปสั่งหลอด Led ขนาด 6mm กินไฟขนาด 3V-6V ลักษณะเป็นทรงกระบอกขนาดเล็กมีเกลียวด้านนอก ในกระบอกผมเดาว่าน่าจะเป็นตัวต้านทาน สามารถขันสกรูล๊อคติดฝาได้ มีสายไฟสองเส้น ปรากฎว่าใช้แล้วชอบใจ ใส่แล้วดูสวย ไฟสว่างมาก จนผมคิดว่าจะดึงไฟมาใช้มากเกินไป แต่ทดสอบแล้วไฟยังเพียงพอเลี้ยง

สร้างสคริปต์สำหรับรันไฟสถานะ

เช่นเคยหลังจากบอกคุณคล็อด ว่าผมต้องการแบบนี้ๆ เขาก็ร่างสคริปต์ขึ้นมาให้ จากนั้นไปทดลองกับหลอดไฟ led ประมาณ 4-5 ครั้งก็ใช้งานได้เลย ตอนนี้ผมยังใช้เอไอแบบนี้ ยุคนี้ถือว่าเอไอยังไม่ได้ครองโลกเบ็ดเสร็จ แต่คงอีกไม่นาน เขาว่าเอไอจะกินอุตสาหกรรมซอฟท์แวร์ คือไม่มีใครมานั่งเขียนโค้ดแบบผมอีกต่อไป ยุคต่อไปคือคนทั่วไปสามารถพัฒนาแอพ โดยที่สั่งให้ AI สร้างให้ ผลก็คือแอพยากๆที่อาศัยบริษัทที่มีทีมงานเก่งๆพัฒนากันขึ้นมา คนทั่วไปก็สร้างได้เพียงแต่อาศัย AI ดังกล่าว ตัวอย่างง่ายๆที่ผมทำอยู่ผมใช้เอไอช่วย ส่วนคุณสเตฟาลผมเดาเอาว่าคงอาศัยฝีมือล้วนๆ

เชื่อมต่อวงจร (Cable Wiring)

สำหรับการต่อวงจรอระหว่าง UM980 กับ Orange PI Zero 3 ไม่มีอะไรซับซ้อนมาก นำสาย USB แบบ Type C ต่อกับอะแดปเตอร์ที่จ่ายไฟฟ้า DC ได้ประมาณ 3A ถือว่าเพียงพอ จากนั้นไฟฟ้าจาก Orange PI Zero 3 จะไปเลี้ยง UM980 เลี้ยงพัดลมขนาด 1.5 cm x 1.5 cm กินไฟ 5V และเลี้ยงไฟสถานะสามหลอด

การไวริ่งสายข้อมูลโดยที่โค้ดเบสที่คุณสเตฟาลออกแบบไว้คือส่งข้อมูล RTCM และ NMEA บนซีเรียลพอร์ตตัวเดียวกัน อย่างเช่นในเคสผมใช้ RX3/TX3 (COM 3) ทำให้ประหยัดซีเรียลพอร์ตไม่ต้องใช้ถึงสองพอร์ต โชคดีเมื่อมาต่อกับ OPZ3 ได้เบอร์พินติดกันเป็นเลขคู่คือ Pin No 2 (5V out), 4 (Ground), 5 (UART5 TX) และ 8 (UART5 RX) ทำให้สามารถใช้หัวต่อ JST 2.54mm แบบ 4 หัว

ส่วนวงจรไฟสถานะ ผมก็ให้คุณคล็อดค้นหาซีเรียลพอร์ตบน Orange Pi Zero 3 ที่ยังว่างโชคดีได้เบอร์คู่ติดกันสามตัวติดคือ Pin No 16 (Yellow) , 18 (Green) และ 20 (Ground) สามารถใช้หัว JST 2.5mm สามหัวได้ ส่วน Pin 15 (Red) ต้องใช้แบบหัวแบบ Dupont เดี่ยวๆ

การต่อวงจรของ Orange Pi Zero 3 และ UM980 (แผนผังไม่ได้มาตราส่วน)

เนื่องจากบทความตอนนี้ทำท่าจะยาวมากเป็นพิเศษ ผมขอตัดเป็นอีกตอนต่อ โปรดติดตามตอนต่อไปครับ

Leave a Reply

Your email address will not be published. Required fields are marked *