Tự động chạy chương trình cho raspberry khi khởi động

I. Giới thiệu

Khi viết chương trình với raspberry pi, mình thường thắc mắc : làm thế nào để raspberry pi có thể chạy được chương trình...có sẵn trong bộ nhớ, nhưng không có bàn phím, màn hình,... để tương tác với raspberry pi, thì làm sao mà chạy nó cho project được? Vì thế, mình đã tìm kiếm trên mạng, và biết được raspberry pi có một cách để giải quyết vấn đề đó: "Auto Run programming on Boot" Đó chính là: Tự động chạy các chương trình cho raspberry pi khi khởi động. Hôm nay, mình sẽ chia sẻ cho các bạn phương pháp này.

II. Tiến hành

a. Cách chạy file

Sau khi viết ra các  file .py, các bạn muốn nó chạy tự động khi kit khởi động thì hãy làm theo cách sau:

Bước 1: Set permission cho file đó

sudo chmod +x file.py

Bước 2: Sửa file rc.local

sudo nano /etc/rc.local
Thêm vào dòng lệnh sau phía trên dòng exit 0
sudo python /path/file.py > /dev/null 2>&1 &

b. Chạy nhiều file

Trong trường hợp muốn chạy nhiều file py khi khởi động ta thêm & sau lệnh. Ví dụ, ta muốn khi kit khởi động thì các file file1.py, file2.py, file3.py cũng tự chạy theo. Đầu tiên ta vẫn thực hiện bước 1 cho từng file. Đến bước 2, ta gõ lệnh:
sudo python /path/file2.py & sudo python /path/file3.py & sudo python /path/file1.py > /dev/null 2>&1 &

c. Lưu ý

  • Path là đường dẫn tuyệt đối tới file file.py
  • Ký hiệu > /dev/null 2>&1 & giúp file của bạn chạy background (chạy nền) và chuyển output, error output vào file /dev/null, file chạy chính bạn có thể không dùng dấu & nhưng phải chắc là nó phải lập tuần hoàn, nếu chạy tuần tự thì nó chỉ chạy được 1 lần duy nhất

Nếu file không chạy được, bạn chạy file rc.local thủ công để kiểm tra lỗi

sudo bash /etc/rc.local 

Các lỗi thường gặp: chứa dòng print in ra màn hình hay thông báo xuất ra màn hình.

III. Lời kết

Thế là các bạn đã có thể chạy chương trình raspberry pi khi khởi động rồi đó. Chúc các bạn thành công!!!
lên
22 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Phần 4. Tiếp nối dự án Robot dò line

Tiếp nối chuỗi bài viết của bạn Đinh Hồng Thái về robot dò line...Nhưng vì lý do nào đó, bạn Thái đã ngừng chuỗi bài viết của mình một cách dở dang!!! Hôm nay, mình sẽ hướng dẫn các bạn phần cuối của Series Robot dò line của bạn Đinh Hồng Thái.

lên
28 thành viên đã đánh giá bài viết này hữu ích.

Điều khiển thiết bị qua Web Sever với ESP8266 không cần Arduino

Hôm nay, mình sẽ chia sẻ cách lập trình để điều khiển thiết bị bằng ESP8266, thông qua nền Web. Nó giống như module Ethernet á, nhưng ESP8266 tuyệt vời hơn bởi vì nó không cần kết nối qua cáp mạng so với Elthernet Shield và cũng không phụ thuộc vào Arduino. Chúng ta cùng đi tìm hiểu nào!!!

lên
30 thành viên đã đánh giá bài viết này hữu ích.