13.1.4. การรันสคริปต์

ปุ่มเริ่มต้น -- ลูกศรสีเขียวด้านล่างปุ่มเชื่อมต่อ หรือ Ctrl+R -- ส่งสคริปต์ในแท็บตัวแก้ไขปัจจุบันไปยังกล้องที่เชื่อมต่อแล้วรัน ขณะที่สคริปต์รันอยู่ ปุ่มเริ่มต้นจะเปลี่ยนเป็นปุ่มหยุดที่ใช้หยุดการทำงาน ปุ่มทั้งสองนี้คือวงจรหลักของการพัฒนาบนกล้อง: แก้ไข เริ่ม ดูผล หยุด แล้วแก้ไขใหม่

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

ขณะที่สคริปต์รันอยู่ ผลลัพธ์จาก print() จะไหลเข้าสู่เทอร์มินัลอนุกรม และทุกเฟรมที่จับภาพได้จะปรากฏในตัวดูบัฟเฟอร์เฟรม เมื่อสคริปต์เกิดข้อยกเว้นที่ไม่ได้จัดการ การ traceback จะพิมพ์ไปยังเทอร์มินัลอนุกรมและ IDE จะกระโดดตัวแก้ไขไปยังบรรทัดที่มีปัญหา -- สำหรับแอปพลิเคชันหลายไฟล์ จะเปิดไฟล์ที่ระบุชื่อจากไดรฟ์ของกล้องก่อน

13.1.4.1. การทำให้สคริปต์ถาวร

หากต้องการให้กล้องรันสคริปต์โดยไม่ต้องใช้ IDE -- เมื่อเปิดเครื่อง แบบสแตนด์อโลน หรือในภาคสนาม -- ให้จัดเก็บสคริปต์บนกล้องในชื่อ main.py Tools → Save open script to OpenMV Cam (as main.py) จะเขียนแท็บตัวแก้ไขปัจจุบันไปยังไดรฟ์ของกล้องภายใต้ชื่อนั้น โดยมีตัวเลือกระหว่างทางให้ตัดความคิดเห็นและบีบอัดช่องว่าง -- ซึ่งจะย่อขนาดไฟล์แต่ส่งสำเนาที่อ่านไม่ออก -- และ Tools → Reset OpenMV Cam จะรีสตาร์ทกล้องเพื่อให้บูตเข้าสู่สคริปต์ที่จัดเก็บไว้ ทั้งสองขั้นตอนนี้รวมกันเป็นขั้นตอนการ deploy: หลังจากนั้นกล้องจะรันสคริปต์ของคุณทุกครั้งที่มีไฟ ไม่ว่าจะมี IDE หรือไม่

ขณะที่กล้องที่รีเซ็ตแล้วกำลังรัน main.py ที่จัดเก็บไว้ IDE ยังคงเชื่อมต่อได้ -- เมื่อเปิดใช้งาน Stop Script on Connect/Disconnect (ค่าเริ่มต้น) การเชื่อมต่อจะหยุดสคริปต์ที่จัดเก็บไว้และคืนการควบคุมกลับไปยังตัวแก้ไข

See also

การแช่แข็งสคริปต์ลงในเฟิร์มแวร์ สำหรับความหมายของ main.py ในลำดับการบูตของกล้อง และสำหรับการย้ายแอปพลิเคชันที่เสร็จสมบูรณ์ออกจากพื้นที่จัดเก็บที่แก้ไขได้ทั้งหมด

13.1.4.2. ไดรฟ์ของกล้อง

ระบบไฟล์ flash ของกล้อง (และการ์ด SD เมื่อใส่ไว้) จะเมาท์บนโฮสต์เป็น USB flash drive Tools → Open OpenMV Cam Drive folder จะเปิดในตัวจัดการไฟล์ของคุณ นี่คือที่ที่คุณคัดลอกโมดูลไลบรารี ไฟล์โมเดล และไฟล์สินทรัพย์ที่สคริปต์นำเข้าหรือโหลด และที่ที่คุณดึงภาพและบันทึกที่บันทึกไว้ เส้นทางไดรฟ์ยังปรากฏในแถบสถานะด้วย

ไฟล์ที่สคริปต์สร้างขึ้นจะไม่ปรากฏบนโฮสต์ทันที: โฮสต์จะแคชระบบไฟล์ตั้งแต่ตอนที่ไดรฟ์เมาท์ ดังนั้นสแนปช็อตที่บันทึกโดยสคริปต์ที่รันอยู่จะมองไม่เห็นจนกว่าไดรฟ์จะเมาท์ใหม่ Tools → Reset OpenMV Cam จะเมาท์ใหม่ -- วิธีที่รวดเร็วในการเข้าถึงสิ่งที่สคริปต์เพิ่งเขียน

ข้อควรระวังหนึ่งประการ: กล้องและโฮสต์ใช้ระบบไฟล์นั้นร่วมกัน และการเขียนพร้อมกันจากทั้งสองฝั่งอาจทำให้เสียหาย คัดลอกไฟล์ขณะที่ไม่มีสคริปต์กำลังเขียนไปยังพื้นที่จัดเก็บ และนำออกอย่างถูกต้องก่อนถอดการ์ด