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

ST7565 và ESP8266 - Màn hình LCD bự chà bá chưa đến 100k cho thế giới IoT

Mình rất thích LCD ST7565 này, và đã đặt liền 4 con mà mỗi con quá rẻ có 20k. Nhưng khổ một điều, điện áp hoạt động và IO của LCD ST7565 có 3.3V. Bản thân mình lại không thích việc chơi điện trở để chơi LCD này với Arduino. Lý do đơn giản là phải hàn quá nhiều, mình lại lười crying. Hổm nay, mình đang làm loạt bài về ESP8266 và cũng phải gặp vấn đề điện trở để làm cầu phân áp khi giao tiếp giữa ESP8266 và Arduino.

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

Thư viện ST7565 trên Arduino Create - Thử nghiệm đầu tiên: Hoàn hảo!

Mình rất tự hào và hãnh diện, khi thư viện made in Việt Nam đầu tiên của Thái Sơn (Nick Chung) được mình tải lên tại Arduino Create với mục đích thử nghiệm việc biên dịch code online trên Arduino Create đã hoàn thành công việc của nó ngay trong lần thử đầu tiên. Qua bài viết này, mình xin hướng dẫn các bạn lập trình Arduino với Arduino Create thông qua việc làm một ví dụ mẫu về việc cài thư viện và sử dụng nó trên Arduino Create.

lên
7 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Lập trình ESP8266 bằng Arduino IDE

Để bắt đầu với những dự án Wifi với Arduino các bạn cần ESP8266 với giá thành rẻ, và dễ dàng sử dụng. Đặc biệt, ESP8266 có thể được lập trình bằng Arduino IDE. Trước khi bắt đầu những chuỗi dự án hay ho với ESP8266, ở bài viết này, mình sẽ chia sẻ cách cài đặt Arduino IDE để nạp code cho ESP8266

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

Fix lỗi Putty không thể connect tới Raspberry Pi

Như các bạn đã biết Putty là một công cụ tiện dụng để sử dụng Raspberry Pi mà không cần màn hình bằng các câu lệnh Linux. Các bạn có thể xem bài viết của anh Raspi tại đây. Một ngày đẹp trời, các bạn lôi em Pi "iu dấu" ra vọc, dùng thử Putty để Remote Raspberry Pi thông qua SSH và..."What the...". Putty không thể connect tới Raspberry Pi với dòng thông báo lỗi: Connection Refused!!!. Vậy làm sao để fix nó???? Đừng lo lắng, hãy đọc hết bài viết này của mình nhé wink

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