0% Since last hour
0% Since last hour
All active System stable
0% Efficiency up
Tài liệu hướng dẫn sử dụng REST API cho thiết bị IoT và tích hợp hệ thống bên ngoài. Giao tiếp an toàn và thời gian thực.
Lưu ý: Mọi API request đều cần JWT Token trong header Authorization: Bearer {token}, trừ các endpoint được đánh dấu Public.
Đăng ký thiết bị IoT mới và nhận Device Token để giao tiếp với API.
| Parameter | Type | Required | Mô tả |
|---|---|---|---|
macAddress | string | ✅ | MAC address của thiết bị (VD: AA:BB:CC:DD:EE:FF) |
name | string | ❌ | Tên thiết bị (mặc định: "Device {mac}") |
secret | string | ❌ | Bí mật thiết bị để xác thực |
areaId | int | ❌ | ID khu vực (mặc định: 1) |
templateId | int | ❌ | ID device template |
firmwareVersion | string | ❌ | Phiên bản firmware |
Đăng nhập bằng email + password để nhận JWT Token.
| Parameter | Type | Mô tả |
|---|---|---|
areaId | int | Filter theo khu vực |
templateId | int | Filter theo template |
isOnline | bool | Filter theo trạng thái online |
page | int | Trang (mặc định: 1) |
pageSize | int | Số item/trang (mặc định: 50) |
Thiết bị gọi định kỳ để giữ trạng thái "online". Trả về pin values hiện tại để sync.
Định nghĩa cấu trúc thiết bị: tên, kiểu, và danh sách Virtual Pin (Datastream).
| Parameter | Type | Mô tả |
|---|---|---|
deviceType | string | Filter: esp32, arduino, raspberry-pi |
familyId | int | Filter theo gia đình |
Đọc/Ghi giá trị Virtual Pin - tương tự Blynk Virtual Pin API.
API chính cho ESP32: Gửi nhiều pin values cùng lúc. Tự động cập nhật trạng thái thiết bị online.
| Parameter | Type | Mô tả |
|---|---|---|
from | datetime | Từ thời điểm |
to | datetime | Đến thời điểm |
page | int | Trang (mặc định: 1) |
pageSize | int | Số item/trang (mặc định: 100) |
HTTP callback tự động khi có sự kiện IoT (pin change, device offline, v.v.).
Quy tắc IF-THEN tự động: "Nếu nhiệt độ > 30°C thì bật quạt".
Thực thi tất cả actions trong automation ngay lập tức (dùng để test).
Kết nối WebSocket real-time để nhận cập nhật tức thời.
1️⃣ Kết nối WiFi
2️⃣ Đọc token từ EEPROM (hoặc đăng ký mới)
3️⃣ Kết nối WebSocket SignalR Hub
4️⃣ Gửi sensor data qua HTTP POST mỗi 10s
5️⃣ Nhận lệnh real-time qua WebSocket
6️⃣ Ping server mỗi 30s giữ trạng thái online
| Address | Size | Nội dung |
|---|---|---|
| 0 | 200 bytes | JWT Token |
| 200 | 4 bytes | Device ID (big-endian) |
| Pin | Tên | Loại | Quyền | Mô tả |
|---|---|---|---|---|
| V0 | Temperature | double | r (read) | Nhiệt độ °C |
| V1 | Humidity | double | r (read) | Độ ẩm % |
| V2 | LED Control | boolean | rw (read/write) | Bật/tắt LED |
| V3 | Power | double | r (read) | Công suất kW |