สำนวนโบราณ “จากกันสามวันนารีเป็นอื่น” ไม่รู้ปัจจุบันนี้ยังใช้ได้ไหม แต่สำหรับกับความรู้ภาษา Rust ที่ร่ำเรียนมาแบบหน้าดำคร่ำเครียด เพียงแค่หนึ่งเดือนไม่ได้จับ พอมาจับอีกครั้งเกิดอาการลืมเลือนไปอย่างรวดเร็ว วิธีการที่จะทำให้อาการลืมเร็วแล้วฟื้นไว มีวิธีเดียวครับคือขยันเขียนโปรแกรมประจุให้ความรู้เข้าไปในหน่วยความจำของสมองมากที่สุด เวลามาฟื้นทีหลังจะฟื้นไว ความจริงเครื่องมือช่วยออกแบบเส้นโครงแผนที่ความคลาดเคลื่อนต่ำ (LDP – Low Distortion Projection) นั้นมีอยู่แล้วใน Surveyor Pocket Tools แต่ผมเองในฐานะผู้พัฒนาด้วยภาษาไพทอนยังมองว่าใช้งานยากไปนิด ก็เลยมีความคิดจะแยกโครงการนี้มาทำต่างหาก โดยเน้นไปที่การใช้งานให้ง่ายที่สุด สุดท้ายกลายเป็นโครงการ “LDP Companion” ที่โปรแกรมนี้จะถูกเขียนด้วยภาษา Rust ขึ้นกราฟฟิคติดต่อผู้ใช้ (User Interface)…
Author: priabroy
#Update แก้บั๊กหลุมดำ Surveyor Pocket Tools
บั๊กหลุมดำ Build 780 ถ้าใครใช้ Surveyor Pocket Tools รุ่นก่อนหน้านี้คือ V 1.41 build 780 จะพบว่าเมื่อเปิดโปรแกรมมาแล้ว หน้าต่างเมนูหลักจะปรากฎออกมา พร้อมกับมีทูลส์ต่างๆให้เลือกใช้ เมื่อมีการเปิดใช้ทูลส์เช่น UTM-Geo Converter, Transform Coordinates เป็นต้น เวลาผู้ใช้ขยับหน้าต่างของเมนูหลัก จะทำให้ทูลส์ต่างๆที่เปิดไว้โดนดูดหายไปที่สร้างความหงุดหงิดให้พอสมควรในกรณีที่มีการป้อนข้อมูลไว้ ปัญหาการใช้งานดูได้จากคลิปด้านบน แก้ไขด้วย Build 796 ความจริงผมเจอนานพอสมควรแต่หาเวลาว่างมาแก้ไขไม่ได้ จนกระทั่งในช่วงปีใหม่ 2025 พอมีเวลาว่างเลยมาแก้ไข ปัญหาบั๊กนี้เกิดจาก…
ปฐมฤกษ์โปรแกรมเดสก์ท็อปภาษา Rust ด้วย Slint
หลังจากที่ได้ศึกษาภาษา Rust ในสามเดือน สี่เดือนที่ผ่านมาอย่างเอาจริงเอาจัง ถึงแม้จะรู้สึกว่ายากแต่ก็ฟันฝ่าจนจบหลักสูตรทั้งอ่านหนังสือ Rust Language Book และดูคลิปยูทูปเพื่อศึกษาและทบทวนจำนวน 14 ชั่วโมง แต่ดูจริงๆวันละไม่เกิน 30 นาทีหรือน้อยกว่านั้นเพราะต้องทดลองทำโจทย์ตามผู้สอนด้วย จบหลักสูตรยูทูปประมาณเดือนหนึ่งเต็มๆ โดยเฉพาะการดูคลิปนี้สอนได้ดีมาก ค่อยๆสอนไปอย่างไม่รีบร้อน อธิบายได้ละเอียดจนอะไรที่สงสัยตอนอ่านหนังสือก็มากระจ่างจากการดูคลิปนี้ การอ่านหนังสือเหมือนได้ทฤษฎีมาเปล่าๆ การลงมือปฏิบัติคือเป็นการบูรณาการว่าความรู้ที่ได้มานั้นเพียงพอจะเขียนโปรแกรมหนึ่งหรือไม่อย่างไร ความรู้นั้นสามารถต่อจิ๊กซอว์ได้เต็มกระดานหรือไม่ ผมค้นหาคลิปที่คนศึกษาภาษา Rust ได้ใหม่ๆแล้วลงมือเขียนโปรแกรมบน Desktop และมาเจอกับสองคลิปที่คล้ายๆกันคือศึกษาภาษา Rust แล้วลงมือเขียนโปรแกรมด้วย Rust สิ่งที่ต้องคำนึงถึงอีกประการคือจะใช้อะไรที่เป็น GUI ทั้งสองคนในคลิปใจตรงกันคือใช้…
การตั้ง Heading จาก RTK GNSS สองเครื่องใน Hypack
ถือว่าเป็นโน๊ตกันลืมสำหรับผมก็แล้วกัน ในงาน Bathymetric survey เอง ถ้าเป็นเรือเล็กๆ เราจะใช้ RTK ตัวเดียวก็เอาอยู่ ถึงแม้ตอนอยู่นิ่งๆมันจะหมุนในหน้าจอ Hypack ก็ตาม เนื่องจากเรือขนาดเล็กคล่องตัว บังคับง่าย เลี้ยวง่าย แต่ถ้าเป็นเรือใหญ่ขึ้นมาการเปลี่ยนทิศทางจะทำได้ยากกว่า ช้ากว่า ถ้าเรือใบจักรเดียวก็ยิ่งช้า ถ้าใบจักรคู่อาจจะเร็วขึ้นมาหน่อย แต่สุดท้ายคนขับเรือสำรวจและช่างสำรวจก็อยากได้ทิศทางหรือ heading เพราะมองหน้าจอแล้วบังคับเรือเข้า survey line ได้ง่ายกว่า สำหรับเรือสำรวจใหญ่ๆที่มีภารกิจมากกว่า Bathymetric survey เช่นงานวัด seabed ด้วยระบบ seismic…
วิธีการออกแบบและรังวัดโครงข่าย GNSS ฉบับคนเดินถนน (ตอนที่ 3)
Leica Infinity vs CHC Geo Office เนื่องจากตอนที่สองผมได้นำ Leica Geo Office (LGO) มวยแทนที่อายุมากแล้วมาขึ้นเวที ตอนนี้ได้ Leica Infinity ต่อไปจะขอเรียกย่อๆว่า LI ที่สดกว่าขึ้นมาประกบกับ CHC Geo Office จากค่ายจีนแผ่นดินใหญ่เรียกย่อๆว่า CGO ที่มาปักหลักอยู่ในไทยนานพอสมควรแล้ว ว่าผลลัพธ์จะออกมาอย่างไร CHC Geo Office สำหรับผมแล้วที่ผ่านมาเป็นแฟนคลับของ Trimble Business Center…
นำ 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 ปีก่อนถึงค่อยศึกษา 🙂 แต่คงไม่ต้องรอนานขนาดนั้นเพราะโลกนี้ไม่แน่นอน ชีวิตยิ่งไม่แน่นอน…
ESP32 โครงการ #2 ส่งข้อมูลระดับน้ำ (Tide Station) ขึ้นคลาวด์ ThingSpeak ฟรี
โครงการที่สองยังเป็นโครงการใช้ไมโครคอนโทรลเลอร์เหมือนเดิม ผมเลือกใช้ ESP32 แทนที่จะเป็น Pico W เหมือนโครงการแรก และโปรแกรมด้วยภาษาซี บอร์ด ESP32 ผลิตโดยบริษัท Espressif จากจีนแผ่นดินใหญ่ และในวงการไมโครคอนโทรลเลอร์เองก็ยอมรับว่าไมโครคอนโทรลเลอร์ ESP32 ได้รับการออกแบบมาอย่างดี ซีพียูเร็วแกนคู่ กินพลังงานต่ำ มีแรมที่เพียงพอสำหรับการรันโปรแกรมสำหรับงาน iOT ต่างๆได้และที่สำคัญคือมันมีราคาถูกมากๆ (หลักร้อยบาท) ความเป็นมาของโครงการ สถานีวัดระดับน้ำ (Tide Station) ใช้ของยี่ห้อ Valeport รุ่น Tide Master ตัวเครื่องวัดระดับน้ำไม่มีอะไรมาก…
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 Quick TM
ในที่สุดก็ได้ฤกษ์เบิกโรงวันที่ 22 พค. 2567 (วันวิสาขะบูชา) ที่ผ่านผมได้ส่งแอพ SurveyStar Quick TM เพื่อให้กูเกิ้ลได้รีวิวและก็ผ่านเป็นที่เรียบร้อย โทรศัพท์มือถือแอนดรอยด์สามารถหาดาวน์โหลดกันได้ที่ SurveyStar Quick TM ช่องการติดต่อผู้พัฒนาแอพ ในกรณีมีการใช้มีปัญหาหรือหรือเจอบั๊กสามารถรายงานผ่านทางอีเมล์ในแอพได้ ที่แอพกดเมนูสามขีดแนวนอน จะเห็นเมลูลิ้นชักโผล่ออกมา เมื่อคลิกที่เมนู “Contact us” หมายถึงติดต่อมาทางผมหรือผู้พัฒนาเพื่อแจ้งปัญหา บั๊กต่างๆ แอพจะดีดเข้าแอพอีเมล์ที่ผู้ใช้ติดตั้งไว้เช่น gmail, outlook เป็นต้น นโยบายความเป็นส่วนตัวและเงื่อนไขการใช้งาน และสิ่งที่แอพแต่ละแอพที่ส่งให้กูเกิ้ลรีวิว จะต้องมีนโยบายความเป็นส่วนตัวที่แอพต้องแสดงไว้ ผมเอามาไว้ในเมนูลิ้นชักนี้เพื่อให้เข้าถึงได้สะดวก วิธีการใช้งานพอสังเขป…