iot_fullsystem

Sắp ra mắtXem mã nguồn
Nuxt
React Native
TypeScript
C++
Cloudflare

Tổng quan

`iot_fullsystem` là một trong những bản build end-to-end hoàn chỉnh nhất của tôi. Nó kết nối phần cứng ESP32 với server, dashboard web và client di động, kèm trình giả lập để test khi không có phần cứng.

Vì sao nó quan trọng

Dự án này buộc tôi làm việc đồng thời trên nhiều lớp rất khác nhau: lập trình nhúng, API, giao tiếp realtime, dashboard frontend và UX di động. Đây là một trong những ví dụ rõ nhất về cách tôi tiếp cận thiết kế hệ thống thay vì chỉ UI cấp trang.

Những gì tôi đã xây dựng

  • Dashboard dựa trên Nuxt cho xác thực, điều khiển thiết bị, hẹn giờ và cập nhật trạng thái trực tiếp.
  • Ứng dụng di động React Native để phản chiếu luồng điều khiển trên điện thoại.
  • Lớp ESP32 và giả lập có thể gửi dữ liệu cảm biến và nhận lệnh điều khiển.

Kiến trúc hệ thống

  • Client web và di động gửi hành động điều khiển tới server.
  • Server lưu trạng thái và đẩy cập nhật qua WebSocket.
  • ESP32 nhận lệnh và gửi lại dữ liệu cảm biến.
  • Trình giả lập Python thay thế phần cứng trong lúc phát triển và kiểm thử.

Chi tiết kỹ thuật

  • Ứng dụng web Nuxt 4 với hành vi dashboard realtime.
  • Client di động Expo và React Native.
  • C++ và ESP-IDF phía phần cứng.
  • Luồng triển khai dựa trên Cloudflare Tunnel và PM2 được ghi trong repository.

Thách thức

Phần khó là phối hợp: giữ thay đổi trạng thái dễ hiểu khi hành động người dùng, hẹn giờ, quy tắc tự động hóa và dữ liệu thiết bị đều có thể ảnh hưởng cùng một hệ thống. Vì vậy đây vừa là bài toán hệ thống vừa là bài toán ứng dụng.

Trạng thái hiện tại

Repository đã mô tả kiến trúc, đường truyền và tập tính năng. Đây là ví dụ rõ nhất trong workspace về phần cứng và kỹ thuật sản phẩm gặp nhau trong một dự án.

>Newsletter

Stay Updated

Get notified when I publish new articles, tutorials, and project updates. Subscribe for insights and actionable content.