Raspberry Pi là máy tính đơn bo (SBC) phổ biến nhất hiện có. Chỉ cần $35 (hơn 800 ngàn đồng) là bạn đã có được một máy tính Linux hoàn chỉnh, mạnh mẽ với WiFi, Bluetooth và 40 GPIO pin được kết nối. Không có gì ngạc nhiên khi Raspberry Pi được các kỹ sư chuyên nghiệp, người yêu thích máy tính, nhà sản xuất và người hoạt động trong lĩnh vực giáo dục ưu thích.
Mặc dù Raspberry Pi chạy trên Linux, nhưng bạn có thể tìm thấy nhiều tính năng hơn trong các bản phân phối Linux phổ biến. Việc bổ sung các GPIO pin, cùng với hai thư viện chính hỗ trợ chúng, đồng nghĩa với việc có nhiều điều cần ghi nhớ!
Đó là lý do tại sao Quantrimang.com đã chuẩn bị bảng cheat sheet hữu ích này cho việc sử dụng Raspberry Pi hàng ngày.
Cheat sheet lệnh hữu ích cho Raspberry Pi
Lệnh | Kết quả |
---|---|
Terminal Raspbian OS | |
cat [name] | Hiển thị nội dung của file [tên] |
cd .. | Thay đổi thành thư mục mẹ |
cd [path] | Di chuyển đến thư mục tại [đường dẫn] |
cd / | Thay đổi thành thư mục root |
cd ~ | Thay đổi thư mục chính - thường là "/home/" |
chmod [who][+,-,=][permissions] [name] | Thay đổi quyền cho một file |
chmod 777 [name] | Cho phép tất cả người dùng đọc, ghi và thực thi file [tên] |
chmod u+x [name] | Cho phép người dùng thực thi [tên] |
cp -r [from] [to] | Sao chép tất cả các file và thư mục con từ nguồn [from] đến đích [to] |
cp [from] [to] | Sao chép một file từ nguồn [from] đến đích [to] |
find | Tìm kiếm file và nội dung của chúng |
grep ‘string’ [name] | Tìm kiếm bên trong một hoặc nhiều file để tìm các lần xuất hiện của 'chuỗi' |
head [name] | Trả lại tất cả các lần xuất hiện của 'chuỗi' trong file [tên] |
ls | Liệt kê nội dung của thư mục hiện tại |
ls -a | Liệt kê tất cả các file bao gồm cả những file ẩn |
ls -l | Liệt kê nội dung của thư mục hiện tại với nhiều thông tin file hơn |
ls [path] | Liệt kê nội dung của thư mục được tìm thấy tại [đường dẫn] |
man [command] | Mở trang hướng dẫn/trợ giúp cho [lệnh] |
man man | Open the manual/help page for the ‘man’ command (helpception) |
mkdir [name] | Tạo một thư mục gọi là [tên] trong thư mục làm việc hiện tại |
mv -r [from] [to] | Di chuyển tất cả các file và thư mục từ nguồn [from] đến đích [to] |
mv [from] [to] | Di chuyển file từ nguồn [from] đến đích [to] |
pwd | Hiển thị tên của thư mục làm việc hiện tại |
python/python3 --version | Cho bạn biết bạn hiện đã cài đặt phiên bản Python nào |
rm -r * | Xóa tất cả các tệp và thư mục khỏi thư mục làm việc hiện tại |
rm [name] | Xóa file được chỉ định |
rm * | Xóa tất cả các file khỏi thư mục làm việc hiện tại |
rmdir [name] | Xóa thư mục trống [tên] khỏi thư mục làm việc hiện tại |
sudo [command] | Superuser (siêu người dùng) thực hiện. Thực thi [lệnh] với các đặc quyền nâng cao (cho phép bạn làm những việc mà bạn thường không có quyền truy cập) |
sudo apt-get install [package] | Cài đặt một gói |
sudo apt-get update | Cập nhật danh sách các gói |
sudo apt-get upgrade | Nâng cấp các gói đã cài đặt - phải chạy sau sudo apt-get update |
sudo chown pi:root [name] | Thay đổi chủ sở hữu của file [tên] thành người dùng 'pi' và đặt nhóm thành 'root' |
sudo raspi-config | Khởi chạy menu cấu hình Raspberry Pi |
sudo reboot | Khởi động lại Pi một cách an toàn |
sudo shutdown -h now | Tắt Pi một cách an toàn ngay lập tức |
sudo su | Đặt bạn vào thư mục root với quyền truy cập của người dùng root - hãy cẩn thận với điều này! |
tail [name] | Hiển thị phần cuối của file [tên] |
tar -cvzf [name] [path] | Tạo file nén [tên] từ nội dung của [đường dẫn] |
tar -xvzf [name] | Giải nén nội dung của file nén [tên] |
wget [uri] | Tải xuống file được tìm thấy tại [uri] trên Internet |
Thư viện RPi.GPIO | |
import RPi.GPIO as GPIO | Nhập mô-đun RPi.GPIO vào python sketch |
GPIO.setmode(GPIO.BCM) | Sử dụng số pin Broadcom (GPIO 14, GPIO 15, v.v...) |
GPIO.setmode(GPIO.BOARD) | Sử dụng số pin bo mạch (4,5, 8, v.v...) |
GPIO.getmode() | Trả về chế độ đánh số pin hiện tại (BCM, BOARD hoặc None) |
GPIO.setup([pin number], GPIO.IN) | Thiết lập pin tại [số pin] làm đầu vào |
GPIO.setup([pin number], GPIO.IN, pull_up_down=GPIO.PUD_DOWN) | Thiết lập pin tại [số pin] thành đầu vào có điện trở kéo xuống (pull down resistance) bên trong |
GPIO.setup([pin number], GPIO.IN, pull_up_down=GPIO.PUD_UP) | Thiết lập pin tại [số pin] để làm đầu vào có điện trở kéo lên (pull up resistance) bên trong |
GPIO.setup([pin number], GPIO.OUT) | Thiết lập pin tại [số pin] làm đầu ra |
GPIO.setup([pin number], GPIO.OUT, initial=1) | Thiết lập pin tại [số pin] thành đầu ra với giá trị ban đầu '1' |
GPIO.output([pin number], 1) | Đặt giá trị của [số pin] thành 1. Lưu ý rằng 1, GPIO.HIGH và True giống nhau |
GPIO.output([pin number], 0) | Đặt giá trị của [số pin] thành 0. Lưu ý rằng 0, GPIO.LOW và False giống nhau |
i = GPIO.input([pin number]) | Đặt biến i thành giá trị của [số pin] |
if GPIO.input([pin number]): | Sử dụng giá trị của [số pin] làm boolean trong code |
GPIO.cleanup() | Reset lại tất cả các GPIO pin (gọi trước khi rời khỏi bất kỳ chương trình nào) |
GPIO.VERSION | Trả về phiên bản RPi.GPIO hiện tại |
Thư viện GPIO Zero | |
LEDs | |
from gpiozero import LED | Nhập phần LED của thư viện gpiozero |
led = LED(17) | Gán biến 'led' cho một đèn LED trên pin GPIO 17 |
led.on() | Bật đèn LED được lưu trữ trong biến 'led' |
led.off() | Tắt đèn LED được lưu trong biến 'led' |
led.toggle() | Chuyển đổi đèn LED được lưu trữ trong biến 'led' (nếu nó tắt thì bật lên và ngược lại) |
Motors | |
from gpiozero import Motor | Nhập phần Motor của thư viện gpiozero |
motor = Motor(17, 18) | Gán biến 'motor' cho một đối tượng Motor có chứa số pin của ổ đĩa tiếp theo và trước đó |
motor.forward() | Kích hoạt pin tiếp theo của biến 'motor' |
motor.backward() | Kích hoạt pin trước đó của biến 'motor' |
motor.reverse() | Đảo ngược hướng motor hiện tại |
motor.stop() | Dừng motor |
Buzzer | |
from gpiozero import Buzzer | Nhập phần Buzzer của thư viện gpiozero |
bz = Buzzer(3) | Gán biến bz cho Buzzer trên pin GPIO3 |
bz.on() | Bật buzzer |
bz.off() | Tắt buzzer |
bz.toggle() | Chuyển đổi trạng thái của buzzer (nếu đang tắt thì bật lên và ngược lại) |
Servo | |
from gpiozero import Servo | Nhập phần Servo của thư viện gpiozero |
servo = Servo(17) | Gán biến 'servo' cho Servo trên GPIO 17 |
servo.min() | Di chuyển servo đến giá trị nhỏ nhất của nó |
servo.mid() | Di chuyển servo đến giá trị giữa của nó |
servo.max() | Di chuyển servo đến giá trị lớn nhất của nó |
servo.value = 0.5 | Di chuyển servo đến một điểm đã đặt (min = -1, max = 1) |
Raspi Camera Image (Hình ảnh từ camera Raspi) | |
raspistill | Lệnh chụp ảnh tĩnh với camera được đính kèm, sửa đổi với các đối số bên dưới |
--width, -w | Đặt chiều rộng hình ảnh |
--height, -h | Đặt chiều cao hình ảnh |
--quality, -q | Đặt chất lượng JPEG <0 đến 100> (75 là phổ biến nhất) |
--raw, -r | Chèn dữ liệu Bayer thô từ camera vào siêu dữ liệu JPEG |
--output, -o | Tên file đầu ra (bắt buộc để lưu) |
--latest, -l | Thêm frame (khung hình) mới nhất vào tên file |
--verbose, -v | Thông tin gỡ lỗi chi tiết trong quá trình chạy |
--timeout, -t | Đặt thời gian chờ trước khi chụp ảnh |
--encoding, -e | Mã hóa để sử dụng cho file đầu ra - jpg, gif, bmp, hoặc png |
Raspi Camera Video (Video quay bằng camera Raspi) | |
raspivid | Lệnh quay video bằng camera được đính kèm, sửa đổi với các đối số bên dưới |
--width, -w | Đặt chiều rộng hình ảnh (từ 64px - 1920px) |
--height, -h | Đặt chiều cao hình ảnh (từ 64px - 1080px) |
--bitrate, -b | Đặt tốc độ bit tính bằng bit trên giây (tức là 15 Mbits/s = 15000000) |
--output, -o | Tên file đầu ra (bắt buộc để lưu) |
--verbose, -v | Thông tin gỡ lỗi chi tiết trong quá trình chạy |
--timeout, -t | Đặt thời gian chờ trước khi quay video |
--framerate, -fps | Chỉ định khung hình mỗi giây để ghi |