platformio รวมถึง Visual Studio เข้ายึดครองโลก

February 23, 2023 0 Comments

ในโพสต์ล่าสุดฉันได้พูดคุยเกี่ยวกับการใช้โมดูล STM32 “สีน้ำเงิน” ด้วย arduino IDE ฉันไม่ใช่แฟนตัวยงของ Arduino IDE อย่างไรก็ตามฉันจะยอมรับว่ามันง่ายต่อการใช้ประโยชน์จากสิ่งที่เหมาะกับสิ่งที่ง่าย

ฉันไม่ใช่แฟนตัวยงของสภาพแวดล้อมที่ก้าวร้าวแบบบูรณาการ (IDE) โดยทั่วไป ฉันใช้ประโยชน์จากพวกเขามากมายโดยเฉพาะอย่างยิ่งเมื่อพวกเขาเชื่อมต่อกับเครื่องมือที่ฉันพยายามใช้ในเวลานั้น อย่างไรก็ตามเมื่อฉันไม่ได้ทำอะไรพิเศษฉันมักจะเขียนโค้ดของฉันใน Emacs เชื่อเกี่ยวกับเรื่องนี้ฉันคิดว่าฉันไม่สนใจ IDE หากมีเครื่องมือที่ช่วยฉันจริงๆ อย่างไรก็ตามหากเป็นเพียงเครื่องมือแก้ไขข้อความรวมถึงแนะนำคำสั่งเล็กน้อยฉันสามารถทำสิ่งนั้นได้จาก EMACS หรืออีกหนึ่งโปรแกรมแก้ไขที่เลือกของฉัน ความเป็นไปได้ที่ IDE ที่คุณต้องการจะมีความสามารถในการแก้ไขเช่นเดียวกับการทำให้เป็นส่วนตัวเนื่องจาก Emacs อยู่ใกล้กับศูนย์ แม้ว่าคุณจะไม่ชอบ Emacs แต่ทำไมค้นพบเครื่องมือแก้ไขอีกหนึ่งตัวหากไม่มีประโยชน์ในการทำเช่นนั้น?

แน่นอนว่ามีวิธีการใช้เครื่องมืออื่น ๆ ที่มี Arduino เช่นเดียวกับกรอบอื่น ๆ รวมถึงฉันตัดสินใจที่จะเริ่มดูพวกเขา ท้ายที่สุดแล้วมันยากแค่ไหนที่จะพัฒนารหัส Arduino? หากคุณต้องการที่จะข้ามไปยังสายหมัดโดยตรงคุณสามารถตรวจสอบวิดีโอด้านล่าง

ปรากฎว่า …

ปรากฎว่า arduino IDE ทำดีกว่าการให้เครื่องมือแก้ไขกระดูกเปลือยรวมถึงการแนะนำเครื่องมือบรรทัดคำสั่งไม่กี่ มันจัดการกับกระบวนการพัฒนาที่ซับซ้อนมาก กระบวนการพัฒนาเข้าร่วมกับข้อมูลที่ดีของคุณเข้าด้วยกันเพิ่มส่วนหัวตามสิ่งที่เชื่อว่าคุณกำลังทำเช่นเดียวกับรวบรวมไฟล์ขนาดใหญ่หนึ่งไฟล์เว้นแต่คุณจะรวมข้อมูล. cpp หรือ. c ของคุณอย่างชัดแจ้ง

นั่นหมายถึงการคัดลอกรหัส Arduino ทั่วไปของคุณ (ฉันไม่ชอบ STET Sketch) ไม่ได้ให้อะไรที่คุณสามารถพัฒนาด้วยคอมไพเลอร์ทั่วไป ในขณะที่มีโซลูชันที่ใช้ Makefile จำนวนมากมีเครื่องมือที่เรียกว่า platformio ที่อ้างว่าเป็นโซลูชันทั่วไปสำหรับการสร้างแพลตฟอร์มฝังตัวที่ยอดเยี่ยมรวมถึง Arduino

เกี่ยวกับ platformio

แม้ว่า Platformio ประกาศให้เป็น IDE แต่เป็นปลั๊กอินสำหรับตัวแก้ไข Atom Open Source อย่างแท้จริง อย่างไรก็ตามมันก็มีปลั๊กอินสำหรับ IDes อื่น ๆ อีกมากมาย น่าสนใจพอมันยังรองรับ Emacs ฉันเข้าใจว่าทุกคนไม่เข้าใจ Emacs ดังนั้นฉันจึงตัดสินใจที่จะตรวจสอบตัวเลือกอื่น ๆ ฉันไม่ได้พูดถึง Vim เช่นกัน

ฉันถอนการทดลองด้วยสอง IDes: Atom รวมถึงรหัส Microsoft Visual Studio เนื่องจาก Platformio มีเวอร์ชั่น 2.0 ของพวกเขาในตัวอย่างฉันจึงตัดสินใจลอง คุณอาจประหลาดใจที่ฉันใช้เครื่องมือโค้ดของ Microsoft น่าแปลกที่มันทำงานบน Linux รวมถึงรองรับหลายสิ่งด้วยปลั๊กอินรวมถึงโมดูล Arduino และแน่นอน Platformio มันยังเสนอให้เป็นแหล่งที่มาภายใต้ใบอนุญาต MIT บรรณาธิการทั้งสองดูจริง ๆ เหมือนกันอย่างที่คุณเห็น

Platformio รองรับจำนวนบอร์ดที่หลากหลายตั้งแต่ Arduino ไปจนถึง ESP82666 ถึงบอร์ดเอ็มบอร์ดไปยัง Raspberry Pi มันรองรับกรอบงานที่แตกต่างกันเช่นเดียวกับ IDes หากคุณเป็นเหมือนฉันเช่นเดียวกับที่จะอยู่ที่บรรทัดคำสั่งคุณสามารถใช้ platformio core ซึ่งเป็นคำสั่งที่ขับเคลื่อนด้วยสาย

ในความเป็นจริงนั่นเป็นหนึ่งในสิ่งที่คุณสังเกตเห็นครั้งแรกเกี่ยวกับ platformio คือมันไม่สามารถเลือกได้ว่าเป็นเครื่องมือ GUI หรือเครื่องมือบรรทัดคำสั่ง ฉันสงสัยว่ามีเพียงไม่กี่ที่อยู่ในการเลือก IDE เช่นกัน ตัวอย่างเช่นด้วยรหัสคุณต้องเรียกใช้เครื่องมือการเริ่มต้นการฉายภาพในเชลล์พร้อมท์ ได้รับคุณสามารถเปิดรหัสเปลือกภายใน แต่ยังคงเป็นบรรทัดคำสั่ง แม้บน PLATHERIOIO IDE (จริง ๆ แล้ว Atom) การปรับเปลี่ยนกรอบยาเม็ดสีน้ำเงินจาก Arduino ไปยัง Mbed ต้องเปิดข้อมูล INI เช่นเดียวกับการเปลี่ยนแปลง การตั้งค่าเส้นทางการอัพโหลดสำหรับ FRDM-KL46 ต้องการการเปลี่ยนแปลงแบบเดียวกันที่แน่นอน

มันง่ายไหม

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

แน่นอนว่าแน่นอน อย่างไรก็ตามฉันมีข้อร้องเรียนอีกอย่างหนึ่งที่ฉันรู้สึกแย่สำหรับการเปล่งเสียงเนื่องจากฉันไม่มีทางออกที่ดีกว่านี้มากนัก platformio ทำเช่นกันมาก ในทางทฤษฎีนั่นคือความแข็งแกร่งของมัน ฉันสามารถเขียนโค้ดของฉันได้เช่นเดียวกับการไม่สนใจว่าไลบรารีเอ็มโบตี้เป็นลายลักษณ์อักษรหรือเครื่องมือ Arduino MUNGE รหัสต้นฉบับของฉัน ฉันไม่จำเป็นต้องตั้งค่าโซ่เครื่องมือตั้งแต่ Platformio ดาวน์โหลดสิ่งที่ฉันต้องการครั้งแรกที่ฉันใช้มัน

เมื่อทำงานได้ดีอย่างแท้จริง ปัญหาคือเมื่อมันไม่ได้ ตัวอย่างเช่นในเวอร์ชันที่เก่ากว่าของ Platformio ฉันมีปัญหาในการรับห้องสมุด Mbed เพื่อพัฒนาเป้าหมายที่แตกต่างกัน ฉันขุดรอบ ๆ เช่นเดียวกับการค้นพบปัญหา แต่มันไม่ใช่เรื่องง่าย ฉันได้พัฒนา toolchain เช่นเดียวกับการจัดการกระบวนการนี้ฉันจะเข้าใจวิธีการแก้ไขปัญหาที่ดีกว่ามาก

ในที่สุดก็เช่นกันคุณจะต้องแก้ไขปัญหา platformio มุ่งไปที่เป้าหมายที่กำลังเคลื่อนที่ ทุกครั้งที่ Arduino IDE หรือ Mbed Frameworks หรือสิ่งอื่นใดเปลี่ยนแปลงไปมีความเป็นไปได้อย่างมากที่จะทำลายบางสิ่งบางอย่าง เมื่อทำเช่นนั้นคุณจะต้องทำงานเพื่อซ่อมแซมมันจนกว่านักออกแบบจะซ่อมให้คุณ หากคุณสามารถทำได้มันเป็นค่าใช้จ่ายในเวลา อย่างไรก็ตามฉันสงสัยว่าคนที่จะคิดมากที่สุดเกี่ยวกับ platformio จะสามารถซ่อมแซมได้น้อยที่สุดเมื่อมันหยุดพัก

บรรทัดล่าง

หากคุณต้องการทดลองใช้วิธีการที่แตกต่างกันของโปรแกรมสร้าง – รวมถึงที่สำคัญกว่าวิธีการเดียวในการผลิตรวมถึงการพัฒนา – คุณควรให้ platformio ปั่น เมื่อใช้งานได้มันใช้งานได้ดี ตรงนี้เป็นลิงก์สองสามลิงก์เพื่อให้คุณเริ่มต้น:

platformio IDE (ต้องใช้อะตอม)

แกน platformio (ไม่จำเป็นหากคุณตั้งค่าแพ็คเกจ IDE)

รหัส Visual Studio (ติดตั้ง platformio จากภายใน IDE)

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

Leave a Reply

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