Nếu bạn chưa cài đặt gói Espeak package installed , run the following in terminal to install:
sudo apt-get install espeak
Để tìm hiểu thêm về cách để Raspberry Pi nói, chúng tôi có hướng dẫn tại đây.
Trong thư mục /home/pi, mở một tệp để chỉnh sửa
sudo nano sample.py
Và nhập đoạn mã sau và lưu lại [nhấn CTRL+X và nhập Y ]
#! /usr/bin/env python from subprocess import call call[[‘espeak “Welcome to the world of Robots” 2>/dev/null’], shell=True]
Phương pháp 1. rc. địa phương
Phương pháp đầu tiên để chạy chương trình trên Raspberry Pi của bạn khi khởi động là sử dụng tệp rc. địa phương. Để lệnh hoặc chương trình chạy khi Pi khởi động, bạn có thể thêm lệnh vào rc. tệp cục bộ . Điều này đặc biệt hữu ích nếu bạn muốn cấp nguồn cho Pi của mình ở chế độ không đầu [nghĩa là không có màn hình được kết nối] và để Pi chạy chương trình mà không cần cấu hình hoặc khởi động thủ công.
chỉnh sửa rc. địa phương
Trên Pi của bạn, hãy chỉnh sửa tệp /etc/rc. local bằng trình chỉnh sửa bạn chọn. Bạn phải chỉnh sửa nó với quyền root.
sudo nano /etc/rc.local
Thêm các lệnh để thực thi chương trình python, tốt nhất là sử dụng tham chiếu tuyệt đối của vị trí tệp [ưu tiên đường dẫn tệp đầy đủ]. Nhớ để dòng exit 0 ở cuối, sau đó lưu tệp và thoát. Trong nano, để thoát, hãy nhập Ctrl-x, rồi Y.
Nếu chương trình của bạn chạy liên tục [chạy một vòng lặp vô hạn] hoặc có khả năng không thoát ra, bạn phải đảm bảo rẽ nhánh quá trình bằng cách thêm dấu và [“&”] vào cuối lệnh, chẳng hạn như
sudo python /home/pi/sample.py &
Pi sẽ chạy chương trình này khi khởi động và trước khi các dịch vụ khác được bắt đầu. Nếu bạn không bao gồm dấu và nếu chương trình của bạn chạy liên tục, Pi sẽ không hoàn thành quá trình khởi động của nó. Dấu và cho phép lệnh chạy trong một tiến trình riêng biệt và tiếp tục khởi động với tiến trình chính đang chạy
Bây giờ hãy khởi động lại Pi để kiểm tra
sudo reboot
gợi ý
Ngoài ra, hãy đảm bảo tham chiếu tên tệp tuyệt đối thay vì liên quan đến thư mục chính của bạn. Ví dụ: sử dụng `/home/pi/myscript. py` thay vì `myscript. py`.
Nếu bạn thêm tập lệnh vào /etc/rc. cục bộ, nó được thêm vào trình tự khởi động. Nếu mã của bạn bị kẹt thì trình tự khởi động không thể tiếp tục. Vì vậy, hãy cẩn thận với mã bạn đang cố chạy khi khởi động và kiểm tra mã đó một vài lần. Bạn cũng có thể lấy đầu ra của tập lệnh và lỗi được ghi vào tệp văn bản [giả sử nhật ký. txt] và sử dụng nó để gỡ lỗi
sudo python /home/pi/sample.py & > /home/pi/Desktop/log.txt 2>&1
Phương pháp 2. . bashrc
Phương pháp thứ hai để chạy chương trình trên Raspberry Pi của bạn khi khởi động là sửa đổi. tệp bashrc. với. bashrc, chương trình python của bạn sẽ chạy khi bạn đăng nhập [xảy ra tự động khi bạn khởi động và truy cập trực tiếp vào màn hình nền] và mỗi khi thiết bị đầu cuối mới được mở hoặc khi kết nối SSH mới được tạo. Đặt lệnh của bạn ở dưới cùng của '/home/pi/. bashrc'. Chương trình có thể bị hủy bỏ với 'ctrl-c' trong khi chương trình đang chạy
sudo nano /home/pi/.bashrc
Chuyển đến dòng cuối cùng của tập lệnh và thêm
________số 8_______Câu lệnh echo ở trên được sử dụng để chỉ ra rằng các lệnh trong. bashrc được thực thi khi khởi động cũng như kết nối với bảng điều khiển bash
Bây giờ hãy khởi động lại Pi để nghe Pi nói khi khởi động
sudo reboot
Hình ảnh dưới đây cho thấy các lệnh được thêm vào. tệp bashrc được thực thi ngay cả khi mở một thiết bị đầu cuối mới
Phương pháp 3. trong đó. thư mục d
Phương pháp thứ ba để chạy chương trình trên Raspberry Pi của bạn khi khởi động là thêm chương trình [sẽ chạy khi khởi động] vào /etc/init. d thư mục. Thư mục này chứa các tập lệnh được bắt đầu trong quá trình khởi động [ngoài ra, tất cả các chương trình ở đây đều được thực thi khi bạn tắt hoặc khởi động lại hệ thống].
Thêm chương trình sẽ chạy khi khởi động vào init. d bằng cách sử dụng các dòng sau
sudo nano sample.py0
Di chuyển đến thư mục init và mở tập lệnh mẫu
sudo nano sample.py1
Thêm các dòng sau vào tập lệnh mẫu để biến nó thành Cơ sở Tiêu chuẩn Linux [LSB] [Một tiêu chuẩn cho cấu trúc hệ thống phần mềm, bao gồm hệ thống phân cấp hệ thống tệp được sử dụng trong Linux operating system] init script.
sudo nano sample.py2
init. tập lệnh d yêu cầu phải ghi lại các phụ thuộc thời gian chạy ở trên để có thể xác minh thứ tự khởi động hiện tại, thứ tự khởi động bằng cách sử dụng các phụ thuộc này và chạy song song các tập lệnh khởi động để tăng tốc quá trình khởi động.
Bạn có thể học viết init. d script làm theo hướng dẫn tại đây.
Làm cho tập lệnh mẫu trong thư mục init có thể thực thi được bằng cách thay đổi quyền của nó
sudo nano sample.py3
Chạy lệnh này
sudo nano sample.py4
Bây giờ hãy khởi động lại để nghe Pi nói khi khởi động
sudo reboot
Phương pháp 4. HỆ THỐNG
Phương pháp thứ tư để chạy chương trình trên Raspberry Pi của bạn khi khởi động là sử dụng tệp systemd. systemd cung cấp một quy trình chuẩn để kiểm soát chương trình nào chạy khi hệ thống Linux khởi động. Lưu ý rằng systemd chỉ khả dụng trên các phiên bản Jessie của Hệ điều hành Raspbian.
Bước 1– Tạo một tệp đơn vị
Mở tệp đơn vị mẫu bằng lệnh như hình bên dưới
sudo nano sample.py6
Thêm vào văn bản sau
sudo nano sample.py7
Bạn nên lưu và thoát trình chỉnh sửa nano
Điều này xác định một dịch vụ mới có tên là “Dịch vụ mẫu” và chúng tôi yêu cầu dịch vụ này được khởi chạy sau khi có sẵn môi trường nhiều người dùng. Tham số “ExecStart” được sử dụng để chỉ định lệnh chúng tôi muốn chạy. “Type” được đặt thành “idle” để đảm bảo rằng lệnh ExecStart chỉ được chạy khi mọi thứ khác đã được tải. Lưu ý rằng các đường dẫn là tuyệt đối và xác định vị trí đầy đủ của Python cũng như vị trí của tập lệnh Python của chúng tôi
Để lưu trữ đầu ra văn bản của tập lệnh trong tệp nhật ký, bạn có thể thay đổi dòng ExecStart thành
sudo nano sample.py8
Quyền trên tệp đơn vị cần được đặt thành 644
sudo nano sample.py9
Bước 2 – Định cấu hình systemd
Bây giờ tệp đơn vị đã được xác định, chúng tôi có thể yêu cầu systemd khởi động nó trong trình tự khởi động
#! /usr/bin/env python from subprocess import call call[[‘espeak “Welcome to the world of Robots” 2>/dev/null’], shell=True]0
Khởi động lại Pi và dịch vụ tùy chỉnh của bạn sẽ chạy .
sudo reboot
Phương pháp 5. crontab
Bạn có thể tìm thấy hướng dẫn chi tiết về cách sử dụng crontab để chương trình chạy khi khởi động tại đây.
Bạn có thể sử dụng bất kỳ phương pháp nào trong số này để chạy chương trình của mình khi khởi động miễn là điểm chạy tập lệnh Python của bạn trong trình tự khởi động không quan trọng. Nếu tập lệnh của bạn dựa trên bất kỳ tính năng hệ thống nào khả dụng tại thời điểm đó, chẳng hạn như nmạng đang được kết nối và khả dụng, tthư mục /home/pi . phương pháp d. Các phương thức này kiểm soát điểm khởi động mà tại đó tập lệnh của bạn được thực thi trong khi khởi động. System time has been updated by NTP then it would be ideal to use either systemd or init.d methods. These methods control the point in bootup at which your script is executed while booting.
Mong muốn của bạn là chỉ huy của tôi
Xem thêm
Bạn đang tìm cách xây dựng một số dự án tuyệt vời với Raspberry Pi và rô-bốt? . Hãy xem trang dự án của chúng tôi để biết thêm ví dụ về các dự án rô-bốt thú vị với Raspberry Pi của bạn
câu hỏi
Bạn có câu hỏi? . Ask away on our forums!
Tìm hiểu thêm
Nếu bạn thích hướng dẫn này, hãy cân nhắc mua Raspberry Pi tại đây và Thẻ SD với Raspbian cho Robot tại đây để tự mình thử