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ả

Điều khiển thiết bị bằng giọng nói - Gửi 1 byte đến Arduino - Tiết kiệm bộ nhớ cho Arduino

Bài viết này, mình sẽ trả lời cho câu hỏi của bác Trương Trọng Thân :"Điều khiển thiết bị bằng giọng nói, nhưng chỉ gửi 1 byte" (nói hơi khó hiểu). Tóm lại là,VD:  khi app đọc giọng nói...nếu nhận đc tiếng nói: "bật đèn" thỳ gửi byte 1 đến Arduino. Nếu làm việc như thế, chúng ta sẽ tiết kiệm được bộ nhớ RAM cho Arduino và tốc độ xử lý sẽ cao hơn

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

Tìm hiểu giao thức MQTT

Như các bạn đã biết ESP8266 là module wifi có chức năng thu và phát sóng wifi, được ứng dụng nhiều trong các dự án IOT. Và để sử dụng ESP8266 một cách triệt để, thì cần kết hợp với giao thức MQTT. Vậy MQTT là gì??? Và ESP8266 có liên hệ gì với MQTT??? Chúng ta sẽ cùng đi tìm hiểu ngay bây giờ!!!

lên
28 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: