การต่อไวไฟเพื่อใช้อินเทอร์เน็ต ตอนที่แล้วผมลืมลงเวบยูไอสำหรับการต่ออินเทอร์เน็ต จากที่ผมกล่าวไปแล้วตอนที่ 2 โครงการ RTKBase V3 จะมีไวไฟสองแบบคือแบบ AP เพื่อติดต่อกับอุปกรณ์ได้ สามารถที่จะเข้าไปคอนฟิกในเวบได้ง่ายเช่นเปลี่ยนไวไฟต่ออินเทอร์เน็ต (Wifi client) จะได้ทำได้สะดวกไม่ต้องต่อสายแลน ออกแบบวงจรเก็บข้อมูลรังวัดสแตติกแบบเนทีพ คล้อยหลัง V3 ที่ผมโพสต์ในบทความก่อนขอเรียกเป็น V3.1 ก็แล้วกัน มาในV3.2 ที่ผมได้อัพเกรดผมได้เพิ่มฮาร์ดแวร์คือตัวUSB-UART มาอีกตัวหนึ่ง จากปัญหาที่ผมบอกในตอนก่อนไม่สามารถจัดเก็บข้อมูลสแตติกแบบRaw format หรือรูปแบบเนทีฟของ Unicorecomm แท้ๆ ก่อนหน้านี้ผมได้เปิดใช้พอร์ทซีเรียลที่ว่างของ UM980 อีกตัวหนึ่ง แต่เมื่อไปต่อกับพอร์ตยูอาร์ท…
Category: Programming
ปัดฝุ่น Traverse Pro เพิ่มรายละเอียดรายการคำนวณใหม่แบบแนวนอน (Landscape) และธีมมืด
ยุคของ GNSS แต่วงรอบยังไม่ตาย ยุคนี้ถือว่าเป็นยุคของ GNSS โดยสมบูรณ์แบบ ความสำคัญของงานวงรอบก็ถูกลดความสำคัญลงจากการที่สามารถรังวัด GNSS แบบสถิตย์ได้ให้ความถูกต้องของค่าพิกัดสูง แต่วงรอบยังมีการใช้งานอยู่ ตัวอย่างเช่นงานก่อสร้างรถไฟฟ้า ถ้าผ่ากลางเมืองที่ตึกรามสูงสองข้างทางเบียดเสียดกันสองข้าง การขยายหมุดควบคุมสำหรับงานก่อสร้างก็ยังคงต้องวงรอบที่ยังจำเป็นใช้กันอยู่ เอไอ Claude ผู้มาช่วย ผมกลับมาอัพเดทโปรแกรมวงรอบอีกครั้งในรอบสิบกว่าปี มาครั้งนี้มีเอไอ Claude (คล็อด) เป็นตัวช่วยชั้นดีที่มีความฉลาดด้านโปรแกรมมิ่งที่ยอมรับกันในวงกว้างว่าดีกว่าๆเจมิไนหรือ chatGPT การใช้งานเพียงแค่บอกความต้องการกับว่าต้องการทำอะไร และเขาขอดูโค้ดบางส่วน ต้องตอบว่าบางส่วนจริงๆ ผมก็สงสัยว่าดูโค้ดแค่นี้ สามารถจะแก้ไขได้ไหม แต่เขาก็ทำได้ และทำได้ดีมาก ภาษาที่ใช้เขียน Traverse Pro…
DIY RTK Base Station (Survey-Grade) ด้วยชิป UM980 และบอร์ด ESP32 ตอนที่ 1
หลายสิบปีที่ตลาด DIY หรือตลาดระดับล่างจะเห็น UBlox Zed F9P ของสวิสเซอร์แลนด์โลดแล่นบนยุทธจักรนี้มานานหลายสิบปี จนในที่สุดก็มีคู่แข่งกันกลายๆคือ Unicorecomm จากจีนแผ่นดินใหญ่ โดยเฉพาะชิป UM980 ที่พร้อมจะท้าชนทุกสถาบัน ที่มี channel ทั้งหมด 1408 ช่อง พูดง่ายๆแบบชาวบ้านคือสามารถรับสัญญานดาวเทียมบนท้องฟ้าได้สูงสุด 1408 ดวง แต่ในปัจจุบันนี้ดาวเทียมนำหนบนท้องฟ้าประมาณแค่ 200 เครื่อง ดังนั้นถือว่าเผื่อมาแบบก่อนกาลกันเลยทีเดียว ที่จริงยังมีตลาดบนๆคือชิป Septentrio ของเบลเยียม ฝั่งยุโรป มีคุณภาพและราคาที่สูงกว่าหลายช่วงตัว ปัจจุบันบริษัทผู้ผลิตดั้งเดิมถูกซื้อโดยยักษ์ใหญ่ Hexagon…
คอมไพล์ PROJ 9.6.0 สำหรับแอนดรอยด์ แก้ปัญหาเพิ่มขนาด page size 16KB ตามกฎใหม่ของกูเกิ้ล
ตอนนี้เป็นตอนต่อ ของบทความที่แล้ว ถ้าใครพัฒนาแอพลง Google play store จะเห็นข้อความของกูเกิ้ลส่งมาใน inbox ให้แก้ไขแอพโดยที่แก้ขนาดของ page size จากเดิม 4KB ที่ใช้มานานแล้วให้เป็น 16KB กูเกิ้ลแจ้งว่าจะให้แอพจะเร็วขึ้น เนื่องจากแอพผมไม่ได้ต้องการความเร็วในการคำนวณเหมือนพวกแอพเกมส์การแก้ปัญหาด้วย page size นี้คงไม่ได้ช่วยอะไร กูเกิ้ลปรับกฎนี้ กำหนดเวลาให้ 1 พย. 2025 นี้ ผมก็เลยใช้เวลาว่างแก้ไข สำหรับในตัวแอพเองการบิวท์ต้องใช้ Android studio อยู่แล้วเบื้องหลัง จึงไม่ต้องทำอะไร…
เครื่องมือช่วยออกแบบเส้นโครงแผนที่ความคลาดเคลื่อนต่ำ ด้วย LDP Companion เพื่อนคู่คิดมิตรคู่ใจ (#กำลังพัฒนา #Rust #Slint)
สำนวนโบราณ “จากกันสามวันนารีเป็นอื่น” ไม่รู้ปัจจุบันนี้ยังใช้ได้ไหม แต่สำหรับกับความรู้ภาษา Rust ที่ร่ำเรียนมาแบบหน้าดำคร่ำเครียด เพียงแค่หนึ่งเดือนไม่ได้จับ พอมาจับอีกครั้งเกิดอาการลืมเลือนไปอย่างรวดเร็ว วิธีการที่จะทำให้อาการลืมเร็วแล้วฟื้นไว มีวิธีเดียวครับคือขยันเขียนโปรแกรมประจุให้ความรู้เข้าไปในหน่วยความจำของสมองมากที่สุด เวลามาฟื้นทีหลังจะฟื้นไว ความจริงเครื่องมือช่วยออกแบบเส้นโครงแผนที่ความคลาดเคลื่อนต่ำ (LDP – Low Distortion Projection) นั้นมีอยู่แล้วใน Surveyor Pocket Tools แต่ผมเองในฐานะผู้พัฒนาด้วยภาษาไพทอนยังมองว่าใช้งานยากไปนิด ก็เลยมีความคิดจะแยกโครงการนี้มาทำต่างหาก โดยเน้นไปที่การใช้งานให้ง่ายที่สุด สุดท้ายกลายเป็นโครงการ “LDP Companion” ที่โปรแกรมนี้จะถูกเขียนด้วยภาษา Rust ขึ้นกราฟฟิคติดต่อผู้ใช้ (User Interface)…
นำ Rust Geodesy ดำดิ่งสู่ไมโครคอนโทรลเลอร์ ESP32
Rust Geodesy คือไลบรารีสำหรับงานยีออเดซี ตอนที่แล้วผมคอมไพล์โค้ดของ Rust ที่ใช้ไลบรารี Rust Geodesy หรือเรียกสั้นๆว่า RG ถึงแม้ผู้พัฒนา RG จะย้ำว่าไม่ใช่มาแทนไลบรารี PROJ ก็ตาม แต่ผมก็คิดว่าถ้าใช้ภาษา Rust การนำ RG มาใช้แทน PROJ ถือว่าเป็นตัวเลือกที่ดีที่สุด การไปใช้ PROJ ใน Rust มีความยุ่งยากที่จะต้องคอมไพล์ซอร์สโค้ดภาษาซี/ซีพลัสพลัสมาใช้งาน ผมได้มีโอกาสใช้ไมโครคอนโทรลเลอร์หลายตัวเพื่อสร้างอุปกรณ์ให้ทำงานบางอย่างเช่นบทความที่ผมเคยเขียนถึงอุปกรณ์ส่งระดับน้ำจากสถานีวัดระดับน้ำขึ้นคลาวด์ฟรีโดยใช้ไมโครคอนโทรลเลอร์ ESP32 และโดยเขียนโค้ดด้วยภาษาซี ทำไมต้องใช้ Rust…
Rust ภาษาแห่งกาลอนาคตที่มาถึงแล้ว กับการทดสอบไลบรารี Rust Geodesy (RG)
ผมศึกษาภาษาปาสคาลตอนเรียนอยู่มหาวิทยาลัยปีสี่อายุตอนนั้น 24 ปี เรียนภาษาปาสคาลด้วยตัวเองต่อมาใช้เขียน Traverse Pro ในขณะเดียวกันก็ศึกษา C ควบคู่ไปด้วยแต่ไม่ชำนาญ มาศึกษาไพทอนตอนอายุ 44 ปี ใช้ไพทอนเขียนโปรแกรมสำหรับ desktop ไว้หลายตัวเช่น Surveyor Pocket Tools สิบปีให้หลังอายุ 54 ปี ศึกษาภาษาดาร์ดกับฟลัตเตอร์เขียนแอพลงบนมือถือแอนดรอยด์หลายตัว เนื่องจากในยุคนี้ภาษาที่มาแรงที่สุดคือภาษา Rust ถ้าตาม timeline ผมน่าจะต้องรออายุ 64 ปีก่อนถึงค่อยศึกษา 🙂 แต่คงไม่ต้องรอนานขนาดนั้นเพราะโลกนี้ไม่แน่นอน ชีวิตยิ่งไม่แน่นอน…
Pico W โครงการ #1 ทดลองประดิษฐ์ Pico Echo Sounder จากทรานสดิวเซอร์ Airmar DT800
ผมว่างเว้นจากไม่ได้จับบอร์ดไมโครคอนโทรลเลอร์ไปพักใหญ่หลายปี เมื่อสิบกว่าปีที่แล้วเคยจับ Arduino เขียนโค้ดด้วยภาษาซี ก็สนุกดีได้ความรู้พอสมควร มาในปัจจุบันเป็นยุคของไอโอที (iOT : Internet of Thing) เป็นยุคของอินเทอร์เน็ตของสิ่งของที่ไม่ใช่อินเทอร์เน็ตของมนุษย์ สร้าง Echo sounder จากทรานสดิวเซอร์ Airmar DT800 มีโอกาสมาจับบอร์ด Raspberry Pi Pico W เพราะต้องการเอาทรานสดิวเซอร์ Airmar DT800 ที่ผมซื้อมาเพื่อจะทำเรือรีโมทแต่โครงการล้มไปก่อน อาจจะมารื้อฟื้นอีกทีก็ได้ ในตัวทรานสดิวเซอร์ Airmar DT800 ข้างในฝังด้วยชิปวงจรที่แปลงค่าความลึกที่อ่านได้จากทรานสดิวเซอร์…
ออกแอพตัวที่สอง “SurveyStar Calculator” สำหรับแอนดรอยด์
ย้อนไปสู่พื้นฐานงานสำรวจ (Back to the basic) ผมเคยบอกกันไว้ในบล็อกในบทความก่อนหน้านี้ว่าได้พัฒนาแอพพื้นฐานงานสำรวจ ชื่อเดิมที่ตั้งกันมาคือ SuperCOGO จากนั้นเปลี่ยนชื่อเป็น SurveyStar COGO สุดท้ายแล้วเปลี่ยนชื่อมาเป็น SurveyStar Calculator ในที่สุด เพราะว่าตัวแอพเองมีมากกว่า COGO ภาษาและเครื่องมือพัฒนาโปรแกรม (Dart & Flutter) ใช้ภาษาดาร์ทกับฟลัตเตอร์ (Dart & Flutter) ที่เป็นเครื่องไม้เครื่องมือในการพัฒนาโปรแกรม เดิมเป็นของกูเกิ้ลและปล่อยผ่านเป็น open-source ในกาลต่อมา จากที่ใช้ภาษาดาร์ทและฟลัตเตอร์พัฒนาแอพแรก Ezy Geo…
คอมไพล์และบิวท์ไลบราลี PROJ4 รุ่น 9.3.0 แบบเนทีฟสำหรับแอนดรอยด์
ตอนนี้น่าจะเป็นตอนที่ต่อจาก Dart & Flutter : เส้นทางขวากหนามกับไลบรารี PROJ แบบเนทีฟบนแอนดรอยด์ ครั้งก่อนผมคอมไพล์และบิวท์รุ่น 9.1.0 เพื่อนำไลบรารีมาใช้กับแอพ Ezy Geo Pro สำหรับแอนดรอยด์ ตอนนี้ผ่านมาหนึ่งปีผมต้องการอัพเดทไลบรารี PROJ4 รุ่น 9.3.0 ที่ตัวไลบรารีเองมีการแก้บั๊กซ์และเพิ่มฟีเจอร์ใหม่ๆ ทั้งนี้นำมาคอมไพล์และบิวท์ด้วยเครื่องมือที่อัพเดทใหม่เช่นกันเช่น Android NDK, CMake มาดูกันครับ สุดยอดไลบรารี PROJ สำหรับไลบรารี PROJ หรือชื่อเดิมที่เรียกกัน PROJ4 นั้นเป็นทั้งซอฟท์แวร์และไลบรารีด้าน…