A comprehensive solution for monitoring and controlling IoT devices through an intuitive web interface
Lê Huy Hồng Nhật
Sinh viên tại Học viện Công nghệ Bưu chính Viễn thông (PTIT)
- 🌟 Tính năng
- 🏗️ Cấu trúc dự án
- 🛠️ Công nghệ sử dụng
- ⚙️ Cài đặt
- 📱 Sử dụng
- 📚 API Documentation
- 🤝 Đóng góp
- 📄 Giấy phép
- 📧 Liên hệ
| Tính năng | Mô tả |
|---|---|
| 📊 Realtime Data | Cập nhật liên tục các chỉ số nhiệt độ, độ ẩm, ánh sáng |
| 🎮 Remote Control | Điều khiển thiết bị từ xa qua dashboard |
| 📱 Responsive UI | Giao diện tương thích mọi thiết bị |
| 🔐 Authentication | Hệ thống đăng nhập và phân quyền an toàn |
| 📈 Data Analysis | Phân tích và xem lại dữ liệu lịch sử |
| ⚡ Alerts | Thông báo khi chỉ số vượt ngưỡng |
graph TD
A[IoT Dashboard] --> B[Backend - BE]
A --> C[Frontend - FE]
A --> D[ESP32]
B --> E[Node.js + Express]
B --> F[Prisma ORM]
B --> G[MQTT]
C --> H[React.js]
C --> I[Chart.js]
D --> J[Arduino IDE]
D --> K[WiFi + MQTT]
- Xử lý dữ liệu và cung cấp API RESTful
- Quản lý kết nối với cơ sở dữ liệu
- Xử lý logic nghiệp vụ và xác thực
- Kết nối với thiết bị IoT thông qua MQTT
- Giao diện người dùng web sử dụng React
- Hiển thị dữ liệu dưới dạng biểu đồ và bảng
- Cung cấp các điều khiển để tương tác với thiết bị IoT
- Mã nguồn cho thiết bị IoT
- Đọc dữ liệu từ cảm biến và gửi lên server
- Nhận lệnh điều khiển từ server và thực thi
Node.js (v14.0.0+)
npm (v6.0.0+)
MySQL (v8.0+)
Arduino IDE (v1.8.0+)# Di chuyển vào thư mục BE
cd BE
# Cài đặt dependencies
npm install
# Tạo file .env
cp .env.example .env
# Chạy migrations
npx prisma migrate dev
# Khởi động server
npm start# Di chuyển vào thư mục FE
cd FE
# Cài đặt dependencies
npm install
# Tạo file .env.local
cp .env.example .env.local
# Khởi động ứng dụng
npm start// Cấu hình trong Arduino IDE
const char* ssid = "Your_WiFi_SSID";
const char* password = "Your_WiFi_Password";
const char* mqtt_server = "Your_MQTT_Broker_Address";- Truy cập dashboard:
http://localhost:3000 - Các tính năng chính:
- 📊 Xem biểu đồ realtime
- 🎮 Điều khiển thiết bị
- 📈 Xem lịch sử dữ liệu
- 👤 Quản lý thông tin cá nhân
| Endpoint | Mô tả |
|---|---|
/api/auth |
🔐 Xác thực người dùng |
/api/devices |
📱 Quản lý thiết bị |
/api/data |
📊 Truy xuất dữ liệu cảm biến |
/api/control |
🎮 Điều khiển thiết bị |
- Fork repository
- Tạo branch mới (
git checkout -b feature/AmazingFeature) - Commit thay đổi (
git commit -m 'Add some AmazingFeature') - Push lên branch (
git push origin feature/AmazingFeature) - Mở Pull Request
Dự án này được phân phối dưới giấy phép MIT. Xem file LICENSE để biết thêm chi tiết.
👨💻 Lê Huy Hồng Nhật
- GitHub: @LeHuyHongNhat
- Email: NhatLHH.B21CN575@stu.ptit.edu.vn
- Project Link: IoT Dashboard
