API Điều khiển
API Điều khiển của SmartTwin cho phép bạn gửi lệnh đến các thiết bị IoT được kết nối, cho phép điều khiển từ xa các thành phần vật lý của công trình.
Cấu trúc lệnh điều khiển
Mỗi lệnh điều khiển thường có cấu trúc sau:
{
"deviceId": "string",
"command": "string",
"parameters": {
"key": "value" (optional)
}
}
deviceId
: ID của thiết bị IoT cần điều khiển.command
: Tên của lệnh cần thực thi (ví dụ: "turnOn", "setTemperature", "openDoor").parameters
: Các tham số bổ sung cần thiết cho lệnh.
Điểm cuối API
1. Gửi lệnh điều khiển
Gửi một lệnh đến một thiết bị IoT cụ thể.
POST /api/control/command
Body yêu cầu (JSON):
{
"deviceId": "hvac-unit-001",
"command": "setTemperature",
"parameters": {
"value": 22,
"unit": "celsius"
}
}
Ví dụ phản hồi thành công:
{
"message": "Command sent successfully.",
"status": "pending"
}
Lưu ý: Trạng thái "pending" cho biết lệnh đã được gửi đến thiết bị. Trạng thái thực thi cuối cùng có thể được theo dõi thông qua các cơ chế phản hồi của thiết bị hoặc nhật ký.
2. Lấy trạng thái lệnh
Kiểm tra trạng thái của một lệnh đã gửi trước đó.
GET /api/control/command/commandId/status
Lưu ý: commandId
sẽ được trả về trong phản hồi khi gửi lệnh.
Ví dụ phản hồi:
{
"commandId": "abc-123-xyz",
"deviceId": "hvac-unit-001",
"command": "setTemperature",
"status": "completed", // hoặc "failed", "in_progress"
"timestamp": "2023-10-26T14:00:00Z",
"result": {
"message": "Temperature set to 22°C"
}
}
Các cân nhắc khi sử dụng API Điều khiển
- Độ trễ: Có thể có độ trễ giữa thời điểm gửi lệnh và thời điểm thiết bị thực thi lệnh, tùy thuộc vào kết nối mạng và khả năng xử lý của thiết bị.
- Phản hồi thiết bị: Một số thiết bị có thể gửi phản hồi về trạng thái thực thi lệnh. SmartTwin sẽ cố gắng ghi lại và hiển thị các phản hồi này.
- Bảo mật: Đảm bảo rằng chỉ những người dùng được ủy quyền mới có thể gửi lệnh điều khiển. API này yêu cầu xác thực và ủy quyền phù hợp.
- Xử lý lỗi: Triển khai cơ chế xử lý lỗi để đối phó với các trường hợp lệnh không thành công hoặc thiết bị không phản hồi.
API Điều khiển là một công cụ mạnh mẽ để tự động hóa và quản lý công trình của bạn, cho phép bạn phản ứng linh hoạt với các điều kiện thay đổi và tối ưu hóa hoạt động từ xa.