Skip to content

วิธีเรียกใช้สคริปต์เมื่อบู๊ตบน Raspberry Pi

    1652400602

    มีหลายสาเหตุที่คุณต้องการเรียกใช้สคริปต์ Python แอปหรือสคริปต์ประเภทอื่น (เช่น สคริปต์ทุบตี) ทุกครั้งที่ Raspberry Pi เริ่มทำงาน บางทีคุณอาจมีหุ่นยนต์หรืออุปกรณ์ IoT ที่ต้องพร้อมทำงานทันทีที่ Raspberry Pi เปิดเครื่องขึ้นมา หรือบางทีคุณอาจต้องการให้โปรแกรมใดโปรแกรมหนึ่งทำงานอยู่เบื้องหลังตลอดเวลาและไม่ต้องการเปิดโปรแกรมด้วยตนเองในทุกเซสชั่น

    มีหลายวิธีในการเริ่มต้นสคริปต์โดยอัตโนมัติที่ Raspberry Pi bootup แต่วิธีที่ง่ายที่สุดคือการใช้ crontab ซึ่งเป็นคุณสมบัติการตั้งเวลาที่ให้คุณตั้งค่าสคริปต์ให้ทำงานในช่วงเวลาเฉพาะได้

    วิธีเรียกใช้สคริปต์ที่ Raspberry Pi Boot

    1. แก้ไขรายการ crontab ของคุณโดยพิมพ์:

    คุณสามารถเปิด crontab โดยไม่ต้องป้อน sudo แต่ถ้าทำ คุณจะไม่สามารถเรียกใช้สคริปต์ที่ต้องใช้สิทธิ์ของผู้ดูแลระบบได้ คุณจะได้รับรายชื่อ crontabs ที่แตกต่างกันหากคุณไม่ได้ใช้ sudo ดังนั้นอย่าลืมใช้มันต่อหรือไม่ใช้มัน

    2. เลือก nano หากคุณได้รับแจ้งให้ขอตัวแก้ไข

    ไฟล์เปิดขึ้น

    3. เพิ่มบรรทัดที่ส่วนท้ายของไฟล์ที่อ่านดังนี้:

    บรรทัดต้องขึ้นต้นด้วย @reboot ซึ่งจะบอกให้รันทุกครั้งที่คุณบูท Raspberry Pi หากเป็นสคริปต์ Python คุณจะต้องใส่คำสั่งเพื่อเปิดใช้ล่าม python หรือ python3 ตามด้วยเส้นทางแบบเต็มไปยังสคริปต์ Python ของคุณ 

    หากเป็นสคริปต์ทุบตีหรือแอปอื่น ให้ใส่พาธแบบเต็มลงไป

    4. บันทึกและออก ใน nano คุณทำได้โดยกด CTRL + X ตอบ Y แล้วกด Enter เมื่อได้รับแจ้ง

    5. ทำให้สคริปต์ของคุณสามารถเรียกใช้งานได้หากเป็นสคริปต์ทุบตี สคริปต์ Python ไม่จำเป็นต้องสามารถเรียกใช้งานได้เนื่องจากตัวแปล python มีอยู่แล้ว คุณสามารถสร้างสคริปต์ที่เรียกใช้งานได้โดยพิมพ์ 

    หากคุณต้องการลบสคริปต์ของคุณออกจาก crontab เพียงพิมพ์ sudo crontab -e อีกครั้งแล้วลบหรือแสดงความคิดเห็นในบรรทัดนั้น โปรดทราบว่า หากคุณกำลังสร้างโครงการที่ไม่ต้องการให้คุณใช้สภาพแวดล้อมแบบมีหน้าต่าง คุณสามารถบันทึกทรัพยากรระบบโดยกำหนดค่า Raspberry Pi ให้บูตไปยังบรรทัดคำสั่งโดยป้อน sudo raspi-config แล้วไปที่ตัวเลือกการบูต – > Desktop / CLI แล้วเลือก Console Autologin

    วิธีเรียกใช้สคริปต์หรือแอปอัตโนมัติใน Raspberry Pi GUI

    หากคุณต้องการให้สคริปต์หรือแอปของคุณทำงานเมื่อเริ่มต้น Raspberry Pi ภายใน GUI ที่มีหน้าต่าง ให้ทำตามขั้นตอนเหล่านี้

    1. สร้างไฟล์ชื่อ myapp.desktop (หรืออย่างอื่น .desktop) ในไดเร็กทอรี /etc/xdg/autostart/

    2. ใช้เค้าโครงต่อไปนี้ในไฟล์ myapp.desktop 

    ใส่คำสั่งและพารามิเตอร์ใด ๆ บนบรรทัด Exec= ตัวอย่างเช่น สำหรับเบราว์เซอร์ Chrome ที่จะเปิดไปยังหน้าเว็บ คุณจะต้องใส่ “chromium-browser [URL]” หากแอปของคุณต้องการการอนุญาต sudo คุณสามารถใส่ sudo ในคำสั่ง Exec 

    หากต้องการเรียกใช้สคริปต์ในหน้าต่างเทอร์มินัล ให้ใช้ lxterminal ตามด้วยพารามิเตอร์ –command และเครื่องหมายคำพูดคู่ด้วย “/bin/bash -c ‘MYCOMMANDS HERE; /bin/bash”’ ตัวอย่างเช่น ในการเปิดใช้สคริปต์ python3 ที่ต้องมีการอนุญาต sudo คุณจะต้องใช้: 

    ที่จะเปิดหน้าต่างเทอร์มินัลในสภาพแวดล้อมที่มีหน้าต่างเมื่อบูตด้วยสคริปต์ของคุณที่ทำงานอยู่ในนั้น เมื่อสคริปต์เสร็จสิ้น (หรือคุณยกเลิกโดยกด CTRL+C) หน้าต่างเทอร์มินัลจะกลับไปที่พรอมต์ หากคุณต้องการให้หน้าต่างเทอร์มินัลปิดตัวเองเมื่อสคริปต์เสร็จสิ้น คุณสามารถเว้น ;/bin/bash ที่ส่วนท้ายได้

    การเรียกใช้สคริปต์ในหน้าต่างเทอร์มินัลเช่นนี้มีประโยชน์ เพราะหากเป็นสคริปต์ Python แบบวนซ้ำไม่รู้จบ (เช่น ที่คุณมีสำหรับโรบ็อต) คุณสามารถฆ่าสคริปต์ได้อย่างง่ายดายโดยกดปุ่ม CTRL+C มิฉะนั้น หากต้องการปิดสคริปต์ คุณจะต้องค้นหากระบวนการที่เราอธิบายไว้ด้านล่าง

    ฆ่าสคริปต์

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

    1. ค้นหาสคริปต์ของคุณโดยใช้คำสั่ง ps aux และใส่ชื่อสคริปต์ของคุณ (หรืออย่างน้อยก็ชื่อบางส่วน) หลัง grep

    แทนที่ app.py ด้วยชื่อสคริปต์ของคุณ คุณจะเห็นรายการหมายเลขกระบวนการ

    2. ฆ่าแต่ละหมายเลขกระบวนการโดยใช้คำสั่ง sudo kill -9 ตัวอย่างเช่น,

    บทแนะนำเพิ่มเติม:

    วิธีจับภาพหน้าจอบน Raspberry Pi
    วิธีการตั้งค่าเว็บเซิร์ฟเวอร์ Raspberry Pi
    วิธีเรียกใช้ Raspberry Pi 4 หรือ 3 จาก SSD หรือแฟลชไดรฟ์
    วิธีสร้างแป้นพิมพ์ลัดแบบกำหนดเองบน Raspberry Pi
    วิธีเรียกใช้โปรแกรมจำลองบน Raspberry Pi 4
    25+ คำสั่ง Linux ที่ผู้ใช้ Raspberry Pi จำเป็นต้องรู้
    วิธีทำเสื้อ Ticker ข่าวด้วย Raspberry Pi

    0 0 votes
    Rating post
    Subscribe
    Notify of
    guest
    0 comments
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x
    ()
    x