IoTLabs

Nghiên cứu, Sáng tạo và Thử nghiệm

Series: Lập trình Raspberry Pi & Ứng dụng thực tế

Vì sao series này ra đời?

Raspberry Pi là “cầu nối” tuyệt vời giữa phần cứngphần mềm: bạn có thể cắm cảm biến, đọc dữ liệu, xử lý tại chỗ (edge), rồi đưa lên cloud để làm dashboard/cảnh báo. Nhưng đa số người mới học Pi thường bị kẹt ở 3 điểm:

  • Làm được demo nhỏ, nhưng không chạy 24/7
  • Có đọc cảm biến, nhưng không có log/history/alert
  • Làm được 1 bài lẻ, nhưng không ghép thành hệ thống hoàn chỉnh

Series này được thiết kế để giải quyết đúng 3 vấn đề đó: từ nền tảng → phần cứng → xây app thật → use-case thực tế → production & thương mại hoá.

Bạn sẽ build được gì sau series?

Kết thúc series, bạn sẽ tự làm được một “Pi Gateway” đúng nghĩa:

  • Đọc cảm biến (nhiệt/ẩm, cửa, PIR, camera, GPS…)
  • Gửi dữ liệu lên MQTT (cloud hoặc local)
  • Dashboard xem lịch sử + biểu đồ
  • Rule cảnh báo (debounce/cooldown) và thông báo Telegram
  • Chạy như service (systemd), có health/metrics
  • OTA update (git pull + rollback)
  • Đóng gói thành sản phẩm triển khai được (image/installer + checklist bàn giao)

Đối tượng phù hợp

  • Maker/DIY muốn làm dự án thật, không chỉ demo
  • Người làm IoT muốn hiểu “edge gateway” và vận hành hệ thống
  • Dev backend/DevOps muốn có 1 dự án hardware+software để showcase
  • Giáo viên/mentor muốn có lộ trình bài bản để dạy học viên

Lộ trình series (tổng 30 bài)

Phần 1 — Nền tảng Raspberry Pi

  1. Chọn Pi đúng nhu cầu (Zero 2 W vs Pi 4/5, SD vs SSD, nguồn chuẩn)
  2. Cài OS + SSH + tối ưu (swap, log, timezone, locale)
  3. systemd: chạy app nền auto-start/restart/logs
  4. Networking: IP tĩnh, mDNS, port & firewall
  5. Git + deploy nhanh: pull → build → restart

Phần 2 — GPIO & phần cứng

  1. GPIO cơ bản: LED, button, debounce
  2. I2C/SPI/UART: scan bus, wiring chuẩn, debug
  3. DHT22/BME280: đọc sensor + log CSV
  4. Relay: an toàn điện + chống nhiễu
  5. OLED/LCD: hiển thị trạng thái
  6. Camera cơ bản: chụp theo lịch / PIR

Phần 3 — Python build app thật

  1. Project structure (venv, config, logging)
  2. FastAPI: health, metrics
  3. Scheduler: APScheduler/Cron
  4. Lưu trữ: SQLite → Postgres
  5. Dashboard mini: chart + history
  6. Deploy: systemd + Nginx + HTTPS nội bộ
  7. Security: SSH key, UFW, fail2ban
  8. MQTT client pub/sub
  9. MQTT production: LWT/retained/QoS/reconnect/offline queue
  10. Command handler: điều khiển relay/interval/OLED
  11. OTA nhẹ: git pull + version + rollback

Phần 5 — Ứng dụng thực tế

  1. Voice command offline tiếng Việt (Vosk + giới hạn vocabulary)
  2. Home mini: cửa + PIR + notify
  3. Farm: nhiệt/ẩm + rule cảnh báo + lịch sử
  4. GPS gateway: ingest → MQTT → dashboard
  5. Camera + motion detect + gửi event
  6. Edge gateway nhiều ESP32 (collector/bridge)

Phần 6 — Production & thương mại hoá

  1. Hardening: user, ssh key, ufw, update policy, backup/restore
  2. Đóng gói sản phẩm: image chuẩn, config template, docs, checklist bàn giao

Bạn cần chuẩn bị gì để theo series?

Tối thiểu:

  • Raspberry Pi (Pi 4 khuyến nghị cho mượt; Zero 2 W vẫn theo được phần lớn)
  • microSD tốt hoặc SSD (nếu chạy lâu)
  • 1–2 cảm biến cơ bản (DHT22/BME280, PIR, reed switch)
  • (tuỳ chọn) camera, USB mic, GPS module

Bạn không cần biết trước những gì?

Nếu bạn là maker/DIY, chỉ cần bạn có tinh thần “lắp – thử – sửa” là đủ. Series này được viết theo kiểu làm từng bước nhỏ, mỗi bài đều có code mẫu chạy được ngay và checklist để debug, nên bạn không phải tự mò mẫm từ đầu.

Bạn chỉ cần:

  • Biết cách copy/paste lệnh Terminal (mình sẽ giải thích từng lệnh)
  • Biết cắm dây cơ bản theo sơ đồ (hình minh hoạ có Raspberry Pi + module + dây nối)
  • Sẵn sàng thử lại khi sai (maker mindset)

Bạn sẽ học được gì theo cách “maker-friendly”?

  • Tư duy dự án: mỗi bài xong là có “một tính năng thật”
  • Thói quen làm đúng từ đầu: nguồn ổn định, log, auto-run, backup
  • Cách debug: lỗi dây nối, lỗi I2C/UART, lỗi permission, lỗi service…
  • Cách ghép module: sensor → rule → notify → dashboard (thành một hệ thống)

Nếu bạn chỉ có ít linh kiện thì bắt đầu thế nào?

Bạn có thể bắt đầu với bộ tối thiểu:

  • 1 cảm biến nhiệt/ẩm (DHT22 hoặc BME280)
  • 1 PIR chuyển động
  • 1 relay (tuỳ chọn)
    Sau đó nâng cấp dần: OLED → camera → GPS → voice.

Mẹo học nhanh cho maker

  • Làm đúng thứ tự bài: nền tảng → GPIO → app → use-case
  • Đừng mua quá nhiều linh kiện cùng lúc. Mua theo từng phần để “học tới đâu chắc tới đó”.
  • Mỗi khi làm xong một bài, hãy chụp lại ảnh lắp dây + lưu config (rất hữu ích khi debug hoặc làm lại).

Bạn sẽ tự tin làm được gì sau series?

Bạn sẽ tự build được một “hộp IoT” chạy bền:

  • có cảm biến
  • có cảnh báo
  • có lưu lịch sử
  • có dashboard
  • chạy 24/7 và cập nhật được
  • vừa học vừa thực hành nhưng ra sản phẩm thật, không chỉ demo.