- BrainTools - https://www.braintools.ru -

Открытие API старых вещей

WiFi-колонка SoundTouch 30 Series III образца 2015 года

WiFi-колонка SoundTouch 30 Series III образца 2015 года

Два месяца назад компания Bose подала пример, как применять открытый подход к поддержке старых вещей: она открыла Web API [1] для умных колонок SoundTouch.

Привязка к фирменному ПО

Производители привыкли постоянно выпускать новые версии техники, а старые — выводить из обслуживания. В основном, это делается путём прекращения выпуска программных обновлений [3]. Такова бизнес-модель запланированного устаревания, которая надёжно генерирует поток прибыли для производителя. Чтобы она работала, компания изначально устанавливает жёсткую привязку функциональности устройства к фирменному ПО, так называемый software tethering [4].

В редких случаях на рынке появляется продукт с сочетанием высокого качества и надёжности, который пользуется популярностью и спросом спустя годы и десятилетия. Как ретро-пример можно вспомнить колонки Radiotechnika S90D рижского завода VEF, которые не потеряли в цене с момента своего выпуска.

Открытие API старых вещей - 2

Колонки Bose серии SoundTouch стоимостью от $400 до $1500 и выше тоже весьма ценятся аудиофилами. Некоторые уверены, что изделие отлично работает спустя десять лет после выпуска.

Однако Bose в октябре 2025 года объявила [2], что прекращает поддержку SoundTouch. Это означает, что умную колонку отключат от облака и она перестанет поддерживаться в фирменном мобильном приложении. А если она не поддерживается в мобильном приложении, то её не получится интегрировать с музыкальными веб-сервисами вроде Spotify, а также отключатся некоторые другие продвинутые функции.

Программная поддержка очень старых устройств — довольно нетривиальная задача, потому что включает анализ древнего легаси-кода с «выплатой» технического долга [5], который накопился за годы. Из-за этого повышается риск сбоев, как это случилось при неудачном обновлении фирменного приложения Sonos в 2024 году [6], которое частично вывело из строя колонки Sonos.

Открытие API старых вещей - 3

Скоро умные колонки Bose тоже лишатся части «интеллекта». Такое решение производителя не понравилось [7] фанатам бренда, у некоторых из которых установлено несколько кол��нок, связанных в единую систему умного дома.

Открытые Web API

В документации SoundTouch Web API [1] описаны основные команды для управления умной колонкой.

Открытие API старых вещей - 4

Некоторые специальные типы WAPI (Web API):

ART_STATUS {
	INVALID
	SHOW_DEFAULT_IMAGE
	DOWNLOADING
	IMAGE_PRESENT
}

BOOL: "true" or "false"

INT: a 32-bit integer

IPADDR: an IP address, represented as a string

KEY_VALUE {
	PLAY
	PAUSE
	STOP
	PREV_TRACK
	NEXT_TRACK
	THUMBS_UP
	THUMBS_DOWN
	BOOKMARK
	POWER
	MUTE
	VOLUME_UP
	VOLUME_DOWN
	PRESET_1
	PRESET_2
	PRESET_3
	PRESET_4
	PRESET_5
	PRESET_6
	AUX_INPUT
	SHUFFLE_OFF
	SHUFFLE_ON
	REPEAT_OFF
	REPEAT_ONE
	REPEAT_ALL
	PLAY_PAUSE
	ADD_FAVORITE
	REMOVE_FAVORITE
	INVALID_KEY
}

KEY_STAT
	E { press release
}

MACADDR: a MAC address, upcased, represented as a string

PLAY_STATUS {
	PLAY_STATE
	PAUSE_STATE
	STOP_STATE
	BUFFERING_STATE
	INVALID_PLAY_STATUS
}

PRESET_ID: An integer, 1 through 6 inclusive

SOURCE_STATUS {
	UNAVAILABLE
	READY
}

AUDIO_MODE {
	AUDIO_MODE_DIRECT
	AUDIO_MODE_NORMAL
	AUDIO_MODE_DIALOG
	AUDIO_MODE_NIGHT
}
Открытие API старых вещей - 5 [8]

Указаны все методы и URL, которые используются в API.

<sources deviceID="$MACADDR">
	<sourceItem source="$SOURCE" sourceAccount="$STRING" 	status="$SOURCE_STATUS">$STRING</sourceItem>
...
</sources>
Открытие API старых вещей - 6 [8]

Таким образом, можно использовать всю функциональность колонок, удалённо управляя ею со своего сервера [9]. Если Spotify тоже поддерживает такой способ, то можно самостоятельно вернуть совместимость умных колонок с музыкальным сервисом, если связать их через медиасервер на самохостинге.

Вот вариант управления колонкой через опенсорсный клиент [9], включающий библиотеку на Go и консольную программу soundtouch-cli:

# Basic device information
soundtouch-cli --host 192.168.1.100 info get

# Media controls
soundtouch-cli --host 192.168.1.100 play start
soundtouch-cli --host 192.168.1.100 volume set --level 50
soundtouch-cli --host 192.168.1.100 source select --source SPOTIFY

# Preset management
soundtouch-cli --host 192.168.1.100 preset list
soundtouch-cli --host 192.168.1.100 preset store-current --slot 1
soundtouch-cli --host 192.168.1.100 preset select --slot 1

# Browse and discover content
soundtouch-cli --host 192.168.1.100 browse tunein
soundtouch-cli --host 192.168.1.100 station search-tunein --query "jazz"
soundtouch-cli --host 192.168.1.100 station add --source TUNEIN --token <token> --name "Jazz Radio"

# Speaker notifications (ST-10 only)
soundtouch-cli --host 192.168.1.100 speaker tts --text "Welcome home" --app-key YOUR_KEY
soundtouch-cli --host 192.168.1.100 speaker url --url "https://example.com/doorbell.mp3" --app-key YOUR_KEY
soundtouch-cli --host 192.168.1.100 speaker beep

# Real-time monitoring
soundtouch-cli --host 192.168.1.100 events subscribe
Открытие API старых вещей - 7 [8]

Это пример для остальных производителей, которые привыкли использовать запланированное устаревание, чтобы подтолкнуть потребителей к замене «старых» моделей техники на новые. Но можно поступать иначе. Открытые API позволяют интегрировать любую «старую» технику в единую ткань Интернета вещей.

В последнее время всё чаще слышны призывы к производителям открывать API и исходный код для гаджетов, которые заканчивают свою жизнь. В этом случае сообщество может выполнять поддержку и даже расширять функциональность устройств. Именно так следует «заканчивать жизнь» старых моделей — через опенсорс.

Автор: GlobalSign_admin

Источник [10]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/26412

URLs in this post:

[1] открыла Web API: https://assets.bosecreative.com/m/496577402d128874/original/SoundTouch-Web-API.pdf

[2] Официальный анонс Bose: https://www.bose.com/soundtouch-end-of-life

[3] прекращения выпуска программных обновлений: https://innovation.consumerreports.org/when-will-your-smart-appliance-turn-dumb/

[4] software tethering: https://advocacy.consumerreports.org/research/group-letter-ftc-software-tethering/

[5] технического долга: https://www.atlassian.com/agile/software-development/technical-debt

[6] неудачном обновлении фирменного приложения Sonos в 2024 году: https://www.bloomberg.com/opinion/articles/2024-09-23/how-sonos-botched-an-app-and-infuriated-its-customers

[7] не понравилось: https://www.reddit.com/r/bose/comments/1o2cnhw/bose_ending_cloud_support_for_soundtouch/

[8] Image: https://sourcecraft.dev/

[9] управляя ею со своего сервера: https://github.com/gesellix/Bose-SoundTouch

[10] Источник: https://habr.com/ru/companies/globalsign/articles/1005216/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1005216

www.BrainTools.ru

Rambler's Top100