Перейти к содержанию

JXCT API Overview (v3.10.1)

Версия API: v3.10.1 Базовый URL: http://[IP-адрес-устройства]

📋 Краткий обзор

JXCT Soil Sensor предоставляет REST API для получения данных датчика и управления устройством. API не требует авторизации и предназначен для интеграции с внешними системами.

🚀 Основные возможности

📊 Данные датчика

  • GET /api/v1/sensor — получение текущих показаний
  • GET /api/v1/system/health — полная диагностика системы
  • GET /api/v1/system/status — краткий статус сервисов

⚙️ Управление устройством

  • POST /api/v1/system/reset — сброс настроек
  • POST /api/v1/system/reboot — перезагрузка устройства

📁 Конфигурация

  • GET /api/v1/config/export — экспорт настроек
  • POST /api/v1/config/import — импорт настроек

🔗 Интеграции

📡 MQTT

Автоматическая публикация данных в топики:

homeassistant/sensor/jxct_soil/temperature/state
homeassistant/sensor/jxct_soil/humidity/state
homeassistant/sensor/jxct_soil/ec/state
homeassistant/sensor/jxct_soil/ph/state
homeassistant/sensor/jxct_soil/nitrogen/state
homeassistant/sensor/jxct_soil/phosphorus/state
homeassistant/sensor/jxct_soil/potassium/state

🌐 ThingSpeak

Автоматическая отправка данных каждые 15 секунд в поля: - Field1: Температура (°C) - Field2: Влажность (%) - Field3: EC (µS/cm) - Field4: pH - Field5: Азот (mg/kg) - Field6: Фосфор (mg/kg) - Field7: Калий (mg/kg)

🏠 Home Assistant

Поддержка автоматического обнаружения (Auto Discovery) для интеграции с Home Assistant.

📝 Примеры использования

Получение данных датчика

curl http://192.168.4.1/api/v1/sensor

Ответ:

{
  "temperature": 23.7,
  "humidity": 54.4,
  "ec": 1200,
  "ph": 6.8,
  "nitrogen": 15,
  "phosphorus": 8,
  "potassium": 20,
  "timestamp": 1717920000,
  "valid": true,
  "sensor_enabled": true
}

Диагностика системы

curl http://192.168.4.1/api/v1/system/health

Ответ:

{
  "device": {
    "model": "JXCT-7in1",
    "version": "3.10.0"
  },
  "memory": {
    "free_heap": 228732,
    "flash_used": 876701,
    "flash_total": 4194304
  },
  "wifi": {
    "connected": true,
    "ssid": "MyWiFi",
    "ip": "192.168.4.1"
  },
  "services": {
    "mqtt": {"enabled": true, "connected": true},
    "thingspeak": {"enabled": true}
  }
}

🔧 Коды ответов

  • 200 — Успешный запрос
  • 400 — Некорректные параметры
  • 403 — Доступ запрещен
  • 500 — Внутренняя ошибка сервера

📱 CORS поддержка

API поддерживает CORS для веб-приложений:

fetch('http://192.168.4.1/api/v1/sensor')
  .then(response => response.json())
  .then(data => console.log(data));

📚 Подробная документация

Для получения подробной информации об эндпоинтах, параметрах и примерах интеграции см. 📖 API документация.

🔗 Полезные ссылки