การบรรจบกันของคอมพิวเตอร์มือถือและการพัฒนาระบบสมองกลฝังตัวได้สร้างพรมแดนใหม่ที่น่าตื่นเต้นให้กับผู้ที่ชื่นชอบเทคโนโลยี แม้อุปกรณ์ Android จะมีความสามารถในการประมวลผลสูง แต่การเข้าถึงศักยภาพอย่างเต็มที่สำหรับโครงการฮาร์ดแวร์กลับเป็นเรื่องที่ท้าทายมาโดยตลอด การอภิปรายในชุมชนล่าสุดเผยให้เห็นว่านักพัฒนากำลังสร้างสะพานเชื่อมช่องว่างนี้อย่างสร้างสรรค์ โดยเฉพาะเมื่อทำงานกับไมโครคอนโทรลเลอร์ยอดนิยมอย่าง ESP32 ผ่านเครื่องมือเช่น Termux
การตามหาสภาพแวดล้อมการพัฒนาที่ใช้งานได้จริง
นักพัฒนากำลังมองหาวิธีที่จะเปลี่ยนอุปกรณ์ Android ของพวกเขาให้เป็นสถานีงานพัฒนาที่แท้จริงมากขึ้นเรื่อยๆ การอภิปรายชี้ให้เห็นว่า Termux เป็นเครื่องมือที่มีประสิทธิภาพอย่างยิ่งในพื้นที่นี้ โดยเสนอสภาพแวดล้อมเทอร์มินัลแบบ Linux ที่ทำงานโดยตรงบน Android ซึ่งแตกต่างจากความสามารถเทอร์มินัลในตัวของ Android, Termux ให้การเข้าถึงการจัดการแพ็คเกจและเครื่องมือสำหรับการพัฒนา สร้างสภาพแวดล้อมที่ยืดหยุ่นมากขึ้นสำหรับโครงการทางเทคนิค
ผู้แสดงความคิดเห็นหนึ่งคนได้ชี้ให้เห็นถึงความแตกต่างอย่างมากระหว่างกระบวนการพัฒนาที่คล่องตัวกับข้อกำหนดการพัฒนาที่มักจะหนักหน่วงของ Android: เมื่อเทียบกับ gcc -o main main.cpp && ./main
แล้ว [การพัฒนา Android] ห่างไกลออกไปหลายขุม ความรู้สึกนี้สะท้อนให้เห็นถึงเหตุผลที่นักพัฒนาจำนวนมากถูกดึงดูดไปยังโซลูชันที่ทำให้เส้นทางจากโค้ดไปสู่การทำงานจริงง่ายขึ้น โดยเฉพาะสำหรับโครงการระบบสมองกลฝังตัว
ความท้าทายและโซลูชันในการผสานรวมฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์ภายนอก เช่น บอร์ด ESP32 กับอุปกรณ์ Android ก่อให้เกิดอุปสรรคทางเทคนิคที่สำคัญ ชุมชนได้สำรวจวิธีการหลายทางเพื่อสร้างการสื่อสารแบบอนุกรมที่เชื่อถือได้ โดยมีผลลัพธ์ที่หลากหลาย แม้ API USB ดั้งเดิมของ Android ผ่าน termux-usb จะดูมีแนวโน้มดี แต่ผู้ใช้หลายคนรายงานว่าพบปัญหาการตัดการเชื่อมต่ออย่างต่อเนื่องและปัญหาอนุญาตที่ทำให้โซลูชันนี้ไม่สามารถนำไปใช้ได้จริงสำหรับงานพัฒนาที่ต่อเนื่อง
วิธีการที่นิยมใช้ในปัจจุบันเกี่ยวข้องกับการใช้แอปพลิเคชันบุคคลที่สามทำหน้าที่เป็นสะพาน ซึ่งสร้างเซิร์ฟเวอร์ TCP เพื่อส่งต่อข้อมูลระหว่าง Android's USB serial API และ Termux วิธีแก้ปัญหานี้ แม้จะไม่ใช่ทางออกในอุดมคติ แต่ก็ให้ความเสถียรที่จำเป็นสำหรับการเขียนเฟิร์มแวร์และโต้ตอบกับไมโครคอนโทรลเลอร์ นักพัฒนาได้ใช้วิธีการนี้สำเร็จในการเขียนเฟิร์มแวร์ MicroPython ลงบนบอร์ด ESP32 และรันโค้ด Python โดยตรงจากโทรศัพท์ของพวกเขา ซึ่งแสดงให้เห็นว่าการพัฒนาระบบสมองกลฝังตัวบนมือถือไม่เพียงเป็นไปได้ แต่ยังสามารถปฏิบัติได้จริง
ข้อกำหนดในการติดตั้ง ESP32
- บอร์ดพัฒนา ESP32 (เช่น ESP32-WROOM-32)
- อะแดปเตอร์ OTG สำหรับเชื่อมต่อกับโทรศัพท์
- สายเคเบิล USB ที่รองรับการถ่ายโอนข้อมูล
- อุปกรณ์ Android ที่ติดตั้ง Termux แล้ว
- แอป TCPUART Transparent Bridge (จากแหล่งบุคคลที่สาม)
แพลตฟอร์มทางเลือกและทิศทางในอนาคต
การสนทนาได้ขยายออกไปอย่างเป็นธรรมชาติถึงแพลตฟอร์มมือถือทางเลือกที่ให้ความสามารถในการพัฒนาโดยธรรมชาติมากขึ้นมากขึ้น ผู้แสดงความคิดเห็นหลายคนกล่าวถึงการใช้งานโทรศัพท์ GNU/Linux โดยมีนักพัฒนาหนึ่งคนแบ่งปันว่า: ฉันใช้โทรศัพท์ GNU/Linux ต่างๆ มาเป็นเวลา 17 ปีแล้ว ดังนั้นการ能够ทำ gcc -o main main.cpp && ./main
บนโทรศัพท์จึงเป็นเรื่องปกติสำหรับฉัน สิ่งนี้เน้นย้ำถึงความตึงเครียดที่กำลังดำเนินอยู่ระหว่างความสะดวกสบายของระบบปฏิบัติการมือถือกระแสหลักกับความยืดหยุ่นของทางเลือกอื่นๆ ที่เปิดกว้างกว่า
เมื่อมองไปข้างหน้า นักพัฒนาได้แสดงความหวังสำหรับการพัฒนาโดยธรรมชาติที่เข้าถึงได้ง่ายขึ้นบนอุปกรณ์ Android ข้อจำกัดในปัจจุบันเกี่ยวกับการเข้าถึงคุณสมบัติฮาร์ดแวร์ เช่น GPU, ตัวเข้ารหัสวิดีโอ และส่วนประกอบพิเศษอื่นๆ ยังคงน่าหงุดหงิดสำหรับผู้ที่ต้องการใช้ประโยชน์จากความสามารถเต็มที่ของสมาร์ทโฟนสมัยใหม่ การเกิดขึ้นของโซลูชันเช่น Samsung's DeX ให้พื้นที่กลางบางส่วน โดยนำเสนอประสบการณ์แบบเดสก์ท็อปในขณะที่ยังคงความเข้ากันได้ของแอปพลิเคชันของ Android
แนวทางการพัฒนาทางเลือกที่มีการพูดถึง
- โทรศัพท์ GNU/Linux (สภาพแวดล้อมการพัฒนาแบบเนทีฟ)
- Samsung DeX (ประสบการณ์การใช้งานแบบเดสก์ท็อปบน Android)
- Native Development Kit (NDK) สำหรับแอป Android ที่ไม่ใช้ Java
- WebREPL สำหรับการเข้าถึง MicroPython แบบไร้สาย
- PlatformIO (มีข้อจำกัดด้านความเข้ากันได้ของสถาปัตยกรรม)
การประยุกต์ใช้จริงและนวัตกรรมของชุมชน
เหนือกว่าการอภิปรายทางทฤษฎี ชุมชนได้พัฒนาแอปพลิเคชันที่ใช้งานได้จริงมากมายสำหรับเทคนิคเหล่านี้ ตั้งแต่ตัวควบคุมระบบอัตโนมัติภายในบ้านไปจนถึงเครื่องมือทางการศึกษา การรวมกันของ Termux และไมโครคอนโทรลเลอร์เปิดความเป็นไปได้ใหม่ๆ สำหรับโครงการที่ใช้มือถือเป็นศูนย์กลาง นักพัฒนาบางคน甚至พยายามนำโทรศัพท์รุ่นเก่ากลับมาใช้เป็นเซิร์ฟเวอร์ระบบอัตโนมัติภายในบ้านโดยเฉพาะ แม้จะยังคงมีความท้าทายกับแพ็คเกจซอฟต์แวร์เฉพาะอย่าง Home Assistant
จิตวิญญาณแห่งนวัตกรรมของชุมชนนี้เห็นได้ชัดเป็นพิเศษในวิธีที่พวกเขาได้ก้าวข้ามขีดจำกัดทางสถาปัตยกรรม เมื่อเผชิญกับความไม่สามารถรันเครื่องมือการคอมไพล์มาตรฐาน x86 หรือ ARM สำหรับการพัฒนา ESP32 นักพัฒนาได้ปรับตัวโดยใช้เฟิร์มแวร์ที่สร้างไว้ล่วงหน้าและมุ่งเน้นไปที่ภาษาระดับสูงเช่น MicroPython แนวทางที่ยึดประโยชน์ใช้สอยนี้แสดงให้เห็นว่าชุมชนทางเทคนิคสามารถเติบโตได้แม้ในขณะที่ทำงานภายใต้ข้อจำกัด
วิวัฒนาการอย่างต่อเนื่องของสภาพแวดล้อมการพัฒนาบนมือถือบ่งชี้ว่าเรากำลังเป็นพยานเพียงจุดเริ่มต้นของแนวโน้มนี้ ขณะที่นักพัฒนายังคงผลักดันขอบเขตของสิ่งที่ทำได้ด้วยอุปกรณ์มือถือของผู้บริโภค เราสามารถคาดหวังให้เครื่องมือและเทคนิคที่ก้าวหน้ายิ่งขึ้นเกิดขึ้นมา ซึ่งจะทำให้เส้นแบ่งระหว่างคอมพิวเตอร์มือถือและการพัฒนาระบบสมองกลฝังตัวเบลอมากขึ้นไปอีก
อ้างอิง: ESP32 and Termux