Cài đặt Raspberry Pi 5 cho người mới: Raspberry Pi OS, SSH, VNC, kiểm tra nguồn và nhiệt độ
Cách cài đặt Raspberry Pi 5 không cần màn hình: chọn nguồn 27 W, thẻ nhớ, tản nhiệt; ghi Raspberry Pi OS bằng Imager có Wi-Fi, SSH; đăng nhập SSH, cập nhật, bật VNC, kiểm tra get_throttled.
Raspberry Pi 5 là máy tính nhỏ chạy Linux, mạnh hơn Pi 4 khoảng hai đến ba lần, hợp làm máy chủ nhỏ trong nhà (MQTT, Home Assistant, cơ sở dữ liệu cảm biến), máy đọc dữ liệu từ ESP32, Arduino, hay máy học lập trình Python. Bài này hướng dẫn cài đặt Raspberry Pi 5 cho người mới theo cách không cần màn hình, bàn phím: chuẩn bị nguồn và thẻ nhớ đúng loại, ghi Raspberry Pi OS bằng Raspberry Pi Imager có cài sẵn Wi-Fi và SSH, đăng nhập SSH từ máy tính, cập nhật hệ thống, bật VNC hoặc Raspberry Pi Connect để xem desktop, và kiểm tra nguồn, nhiệt độ bằng vcgencmd.
1. Chuẩn bị phần cứng

- Nguồn 27 W: Pi 5 cần nguồn USB-C hỗ trợ 5,1 V 5 A. Với nguồn 3 A thông thường, Pi vẫn khởi động nhưng báo thiếu nguồn và giới hạn tổng dòng các cổng USB ở 600 mA: ổ cứng, camera USB hay chập chờn.
- Thẻ nhớ: 32 GB trở lên, loại A2 cho tốc độ đọc ghi ngẫu nhiên tốt. Máy chạy suốt ngày đêm, ghi dữ liệu liên tục thì dùng SSD NVMe qua bo M.2 HAT+: nhanh và bền hơn thẻ nhớ nhiều.
- Tản nhiệt: Pi 5 nóng khi chạy nặng; khi chạm giới hạn nhiệt, chip tự giảm xung nhịp. Active Cooler (quạt gắn trên chip) hoặc vỏ có quạt là đủ.
Chưa chắc nên chọn Raspberry Pi hay vi điều khiển cho dự án thì xem bài Arduino, ESP32, STM32 hay Raspberry Pi.
2. Ghi Raspberry Pi OS bằng Raspberry Pi Imager

- Tải Raspberry Pi Imager từ trang chính thức raspberrypi.com, cài trên Windows, macOS hoặc Linux.
- Chọn thiết bị Raspberry Pi 5, hệ điều hành Raspberry Pi OS (64-bit) (bản Lite nếu chỉ dùng làm máy chủ, không cần desktop), chọn thẻ nhớ.
- Khi Imager hỏi có muốn tùy chỉnh cài đặt hệ điều hành không, chọn Edit settings và điền:
- tên máy (hostname), ví dụ
pyworld-pi; - tên người dùng và mật khẩu: Raspberry Pi OS không còn tài khoản mặc định
pi/raspberry; - tên và mật khẩu Wi-Fi, quốc gia Wi-Fi
VN; - múi giờ
Asia/Ho_Chi_Minh; - tab Services: bật SSH, đăng nhập bằng mật khẩu (hoặc khóa công khai nếu đã quen).
- tên máy (hostname), ví dụ
- Ghi thẻ, cắm vào Pi, cấp nguồn. Lần đầu khởi động mất vài phút vì Pi tự mở rộng phân vùng và áp cài đặt.
3. Đăng nhập SSH và cập nhật
Trên Windows 10, 11 mở PowerShell (macOS, Linux mở Terminal):
ssh tenban@pyworld-pi.local
sudo apt update
sudo apt full-upgrade -y
sudo reboot
.locallà tên máy được phân giải trong mạng nội bộ. Không được thì vào trang quản lý router tìm IP của Pi, dùngssh tenban@192.168.1.x.- Lần đầu SSH hỏi có tin khóa máy chủ không: gõ
yes. sudo raspi-configmở công cụ cấu hình: bật giao tiếp I2C, SPI, cổng nối tiếp, VNC, đổi tên máy, mở rộng phân vùng.
4. Xem desktop: VNC hoặc Raspberry Pi Connect

- VNC:
sudo raspi-config→ Interface Options → VNC → Yes. Raspberry Pi OS bản mới trên Pi 5 dùng giao diện Wayland và máy chủ WayVNC; trên máy tính dùng một VNC viewer bất kỳ, nhập tên máy hoặc IP. - Raspberry Pi Connect: dịch vụ của Raspberry Pi cho phép mở dòng lệnh và màn hình Pi trong trình duyệt, kể cả khi ở ngoài mạng nhà. Cài gói
rpi-connect(bản Lite:rpi-connect-lite, chỉ có dòng lệnh) và đăng nhập bằng tài khoản Raspberry Pi ID.
5. Kiểm tra nguồn và nhiệt độ
vcgencmd measure_temp # nhiệt độ chip, ví dụ temp=52.1'C
vcgencmd get_throttled # 0x0 là chưa từng thiếu nguồn, quá nhiệt
Giá trị get_throttled là các cờ dạng bit. Script dưới đây đọc và giải nghĩa:
# PYWORLD.VN - Giải mã kết quả vcgencmd get_throttled của Raspberry Pi: thiếu điện áp, bị giảm xung nhịp, quá nhiệt
# PYWORLD.VN - Chạy trên Pi: python3 giai_ma_throttled.py; hoặc đưa giá trị đã đọc: python3 giai_ma_throttled.py 0x50005
# PYWORLD.VN - Bit 0–3: đang xảy ra; bit 16–19: đã từng xảy ra từ lúc khởi động
"""Mỗi bit của get_throttled là một cờ; 0x0 nghĩa là chưa từng có vấn đề nào từ lúc bật máy."""
from __future__ import annotations
import subprocess
import sys
CO = {
0: "Dang thieu dien ap (nguon yeu, day USB-C kem)",
1: "Dang bi gioi han xung nhip CPU",
2: "Dang bi giam toc (throttled)",
3: "Dang cham gioi han nhiet do mem",
16: "Da tung thieu dien ap",
17: "Da tung bi gioi han xung nhip",
18: "Da tung bi giam toc",
19: "Da tung cham gioi han nhiet do mem",
}
def doc_tren_pi() -> int:
ra = subprocess.run(["vcgencmd", "get_throttled"], capture_output=True, text=True, check=True).stdout
return int(ra.strip().split("=")[1], 16) # dạng "throttled=0x50005"
def giai_ma(gia_tri: int) -> list[str]:
return [mo_ta for bit, mo_ta in CO.items() if gia_tri >> bit & 1]
def main() -> None:
gia_tri = int(sys.argv[1], 16) if len(sys.argv) > 1 else doc_tren_pi()
co = giai_ma(gia_tri)
print(f"throttled = 0x{gia_tri:X}")
print("\n".join(" - " + c for c in co) if co else " Khong co van de nao tu luc khoi dong")
if __name__ == "__main__":
main()

Thấy cờ thiếu điện áp (bit 0 hoặc 16): thay nguồn 27 W, dây USB-C ngắn, chất lượng tốt; tháo bớt thiết bị USB ăn dòng lớn. Thấy cờ nhiệt độ (bit 3 hoặc 19): lắp tản nhiệt có quạt, để vỏ thoáng.
6. Làm gì tiếp với Raspberry Pi
- Làm máy chủ MQTT cho các mạch ESP32 (Mosquitto), lưu dữ liệu vào InfluxDB, vẽ bằng Grafana.
- Cài Home Assistant để điều khiển thiết bị trong nhà: các bài ESP32 vào Home Assistant bằng MQTT discovery và ESPHome cho ESP32 dùng được với Home Assistant chạy trên Pi.
- Điều khiển GPIO bằng Python, đọc cảm biến I2C trực tiếp trên Pi.
7. Lỗi hay gặp
| Hiện tượng | Nguyên nhân | Cách xử lý |
|---|---|---|
ssh: Could not resolve hostname | Máy tính không phân giải được tên .local, Pi chưa vào Wi-Fi | Dùng IP từ router; kiểm tra tên, mật khẩu Wi-Fi trong Imager |
| Đèn xanh không nháy, Pi không khởi động | Thẻ ghi lỗi, thẻ kém chất lượng | Ghi lại bằng Imager, đổi thẻ khác |
| Thông báo thiếu nguồn, USB chập chờn | Nguồn dưới 27 W, dây USB-C kém | Nguồn 5,1 V 5 A, dây ngắn |
| Đăng nhập bằng pi / raspberry không được | Không còn tài khoản mặc định | Dùng tên đã đặt trong Imager; quên thì ghi lại thẻ |
| VNC viewer báo không kết nối được | Chưa bật VNC, đang dùng bản Lite | Bật trong raspi-config; bản Lite không có desktop |
| Chạy chậm, nóng | Không tản nhiệt, bị giảm xung nhịp | Kiểm tra get_throttled, lắp quạt |
Bài cùng cụm chủ đề: điều khiển GPIO Raspberry Pi bằng Python với gpiozero; Raspberry Pi làm MQTT broker Mosquitto; cài Home Assistant trên Raspberry Pi; Raspberry Pi Pico khác Raspberry Pi thế nào.
Xem thêm