Быстрое подключение к облачной платформе Jiefeng позволяет управлять камерой вверх-вниз, влево-вправо, а также изменять масштаб через интерфейс. Если ваша камера управляется через следующие приложения, вы можете использовать плагин для управления. Приложения включают [Super Look, XMEye, Jiefeng Development Assistant, Bee Cloud SaaS, Jiefeng Look, EYE-U, 5G Look, Xiongmai Look, JFEye; Иностранные названия: ICSee]. Если разработчик приложения в App Store — HANGZHOU JFTECH CO., LTD, вы можете использовать плагин. Адрес исходного кода
- API-соединение официального сайта Jiefeng Cloud также очень ясно, но требуется передать слишком много параметров, что делает процесс более сложным. Конвенциональные RestTemplate или Http-коды требуют много времени для написания, поэтому интерфейс упакован в jar-пакет на основе официального SDK, чтобы избежать появления избыточного кода в вашем бизнесе.
Облачная платформа Jiefeng### API Jiefeng Официальная документация
Вы можете быстро подключиться к интерфейсу облачной платформы Jiefeng.
- добавьте pom.xml
<dependency>
<groupId>io.gitee.renkai721</groupId>
<artifactId>jftech-camera</artifactId>
<version>1.0.0</version>
</dependency>
- инициализация
JLinkClient jClient = new JLinkClient(
"e0534f3240274897821a126be19b6d46",
"5b027c14d371332e88a9cbae30375ee7",
"fd664d5fa6974ec09023818f68b23212",
5);
// Инициализация устройства
JLinkDevice jDevice = new JLinkDevice(jClient, "1234567890123457", "device Username", "device password");
- Привязка устройства
String url = String.format("%s/%s", JLinkDomain.OPENAPI_DOMAIN.get(), JLinkDeviceRequestUrl.DEVICE_BIND.get());
Map<String, String> bodyParam = new HashMap<>();
bodyParam.put("sn", "1234567890123457");
JLinkHttpUtil.httpsRequest(url, "POST", JLinkHeaderUtil.map(jClient), new Gson().toJson(bodyParam));
- Получение токена устройства
String deviceToken = jDevice.getDeviceToken();
- Получение статуса устройства
DeviceStatusData statusResponse = jDevice.deviceStatus();
- Получение адреса прямого эфира устройства
// Этот метод возвращает видео в формате H265
JLinkUser jUser = new JLinkUser(jClient);
String liveStream = jDevice.deviceLivestream(DeviceLiveStreamEnum.STREAM_EXTRA.get(), DeviceLiveStreamEnum.MEDIATYPE_HLS.get(), DeviceLiveStreamEnum.PROTOCOL_TS.get(), jUser);
- Получение адреса прямого эфира устройства в формате H264``` // Обратите внимание, что vue-video-player в VUE может воспроизводить только m3u8 в формате h264 Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); calendar.add(Calendar.DAY_OF_MONTH, 2); Date futureTime = calendar.getTime(); try { JLinkClient jClient = new JLinkClient(uuid, appKey, appSecret, moveCard); JLinkDevice jDevice = new JLinkDevice(jClient, sn, username, password); JLinkUser jUser = new JLinkUser(jClient); String liveStream = jDevice.deviceLivestream( "0", "1", "hls", "ts", String.valueOf(futureTime.getTime()), "h264", "aac", jUser); log.info("liveStream={}", liveStream); } catch (Exception e) { e.printStackTrace(); }
jDevice.login();
> 8. Получение набора возможностей системы устройства
jDevice.deviceAbility(JLinkDeviceAbilityEnum.SYSTEMFUNCTION);
> 9. Настройка устройства (например, для получения конфигурации DAS устройства)
try {
NetWorkDasConfig dasConfig;
dasConfig = (NetWorkDasConfig) jDevice.getConfig(JLinkDeviceConfigTypeEnum.NETWORKDAS);
JLinkLog.i(new Gson().toJson(dasConfig));
/**
* Установка конфигурации устройства Пример с NetWorkDasConfig
* Получение dasConfig из запроса GetConfig
*/
try {
dasConfig.getNetWorkDAS().setServerAddr("127.0.0.1");
jDevice.setConfig(dasConfig);
} catch (JLinkDeviceSetConfigException e) {
JLinkLog.e("Ошибка установки конфигурации: " + e);
}
} catch (JLinkDeviceGetConfigException e) {
JLinkLog.e("Ошибка получения конфигурации: " + e);
}
> 10. Управление работой устройства (управление ориентацией подвеса)
try {
PtzDirectionControlDTO ptzDirectionControlDTO = new PtzDirectionControlDTO();
// DirectionUp=, DirectionDown=, DirectionLeft=, DirectionRight=
// DirectionLeftUp=, DirectionLeftDown=, DirectionRightUp=, DirectionRightDown=
// FocusNear=Zoom in, FocusFar=zoom out
ptzDirectionControlDTO.getOpptzControl().setCommand(PTZControlEnum.DirectionRight);
// канал 1
ptzDirectionControlDTO.getOpptzControl().getParameter().setChannel(0);
// 0~65535: начать упражнение -1: остановить упражнение
ptzDirectionControlDTO.getOpptzControl().getParameter().setPreset(1);
// скорость вращения
ptzDirectionControlDTO.getOpptzControl().getParameter().setStep(1);
jDevice.deviceOperate(ptzDirectionControlDTO);
} catch (JLinkDeviceOperateException e) {
JLinkLog.e("Ошибка выполнения: " + e);
}
try {
String picUrl = jDevice.capture(0);
JLinkLog.i(picUrl);
} catch (JLinkDeviceCaptureException e) {
JLinkLog.e(e.toString());
}
> 12. Настройка Wi-Fi
try {
JLinkClient jClient = new JLinkClient(uuid, appKey, appSecret, moveCard);
JLinkDevice jDevice = new JLinkDevice(jClient, sn, username, password);
NetWorkWifiConfig dasConfig = (NetWorkWifiConfig) jDevice.getConfig(JLinkDeviceConfigTypeEnum.NETWORKWIFI);
dasConfig.getNetWorkWifiDTO().setSsid("Имя вашего Wi-Fi");
dasConfig.getNetWorkWifiDTO().setKeys("Пароль вашего Wi-Fi");
jDevice.setConfig(dasConfig);
} catch (Exception e) {
log.error("Ошибка настройки Wi-Fi");
e.printStackTrace();
throw new Exception("Ошибка настройки Wi-Fi");
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )