Home Internet of Things - IoT Tự động chạy một Python Script trên Raspberry Pi khi khởi động

Tự động chạy một Python Script trên Raspberry Pi khi khởi động

by Khanh Tran

Thiết bị IoT hoặt động khi chỉ cần cắm nguồn điện. Vậy làm thế nào để một chương trình được viết trên Raspberri Pi tự động chạy khi chỉ cần cắm nguồn cho nó?
Có rất nhiều kỹ thuật để chạy một python script khi Pi khởi động và cách mà bạn chọn sẽ phụ thuộc vào mục đích và những gì bạn mong đợi từ chương trình đó. Trong bài viết này, tôi sẽ giải thích một kỹ thuật trong đó Pi tự động đăng nhập và ngay lập tức thực thi tập lệnh Python.

Auto Login Setup (optional)

Bước đầu tiên là cho phép Pi đăng nhập tự động mà không cần bất kỳ sự can thiệp nào của người dùng. Bước này có thể làm hoặc không, tuỳ vào yêu cầu của bạn.

Tại cửa sổ command prompt hoặc terminal:

sudo raspi-config

Sau đó nhấn Enter. Chọn “Boot Options” => “Desktop/CLI” => “Console Autologin”

Chuẩn bị một chương trình python

Đoạn mã của tôi có tên “myscript.py” đặt tại đường dẫn: /home/pi/. Đây là nội dung của nó:

#!/usr/bin/python
print("******************************************************")
print("* This is a test script. There are many like it,     *")
print("* but this one is mine. My script is my best friend. *")
print("* It is my life. I must master it as I must master   *")
print("* my life.                                           *")
print("******************************************************")

Auto-run Script Setup

Giờ chúng ta cần đăng kí với hệ điều hành để chạy tập lệnh cho Pi user. Trong command prompt hoặc terminal window nhập:

sudo nano /etc/profile

Cuộn xuống dưới cùng và nhập:

sudo python /home/pi/myscript.py 

“/home/pi/myscript.py” là đường dẫn của đoạn code.

Sau đó “Ctrl+X” để thoát, sau đó nhấn “Y” để save, cuối cùng nhấn “Enter”.

A Script Without End

Bạn sẽ chỉ được trở lại command line khi tập lệnh của bạn hoàn tất. Nếu tập lệnh của bạn chứa một vòng lặp vô tận thì bạn có thể muốn sử dụng dòng này trong profile file:

sudo python /home/pi/myscript.py &

Điều này sẽ cho phép tập lệnh chạy trong background nhưng bạn sẽ không thấy bất kỳ đầu ra văn bản nào từ nó.

Reboot and Test

Để kiểm tra đoạn code có chạy đúng như mong đợi không, khởi động lại Pi theo dòng lệnh:

sudo reboot

Khi Pi của bạn khởi động lại, bạn sẽ trên màn hình:

Hình 1: Raspberry Pi screen

Xử lý sự cố

Nếu nó không hoặt động, đây là những điều bạn cần thử:

  • Chạy tập lệnh của bạn một cách thủ công và kiểm tra liệu nó có hoạt động chính xác
  • Sử dụng tập lệnh mẫu của tôi và kiểm tra xem nó có hoạt động không
  • Kiểm tra lại các bước ban đầu
  • Nếu sử dụng python 3 cần sửa lại:
    sudo python3 /home/pi/myscript.py &
    thay vì:
    sudo python /home/pi/myscript.py &

You may also like

Leave a Comment