Имеется устройство. Устройство имеет bluetooth (BT). Выбор профилей в использованном BT-модуле небогат и, похоже, придётся обходиться одним только SPP.
Через это SPP нужно делать конфигурирование устройства + изредка скачивать с него файлы (а может в будущем и закачивать на него понадобится).
SPP - потому что должна быть возможность конфигурить "в поле", с телефона. Устройство в роли SPP-сервера - принимает входящие подключения, само не инициирует их.
Так как:
1) необходима возможность конфигурирования из разных ОС: винда, линух, Андроид, АйОС, ...;
2) штат команды разработки предельно мал и бюджет соответствующий;
то для конфигурирования нужно использовать только готовое ПО/протоколы, и самый простой путь - написание конфигураторов для всех ОС, работающих через SPP-канал - отпадает.
В свете вышеизложенных соображений решил конфигурирование построить на базе эмулятора ANSI-терминала: устройство будет генерить текстовый вывод, со всеми менюшками, чекбоксами, edit-контролами и прочим. В цвете, мерцаниях и т.д. Реагируя на нажимаемые пользователем клавиши.
Т.е. - интерактивный интерфейс с юзером. Параметров конфигурации не так уж и много - думаю будет 2-3 десятка. Несколько разных экранов.
В принципе всё работает, если не считать того, что хороших эмуляторов терминалов - не так уж и много. А ведь ещё нужно будет подобрать нормальные терминалы для всех ОС....
((
Да - ещё нужно будет принимать с устройства файлы. Для этого думал использовать ZModem. Здесь с эмуляторами терминала ещё хуже оказалось.
Но меня посещают мысли, что возможно я не вижу какого-то более удобного варианта, сделать работу по-другому, удобнее и красивше.
В плане удобства пользователя, было бы гораздо лучше использовать HTML. Но как это сделать через SPP (COM-порт)? Причём чтобы даже не продвинутый юзер смог пользоваться.
Я уже думал о таком:
Под виндой - сделать удалённое подключение к сети через этот COM-порт, запустить через него SLIP-протокол, внутри которого - IP-фреймы. Ну и поднять HTTP-сервер в устройстве на этом канале. Возможно так можно сделать. И будет красиво и круто. И с передачей файлов тогда нет проблем. Да и даже графику на странице можно сделать.
Но вот мне кажется, что это будет через одно известное место. И не факт, что будет работать в последующих версиях винды. А тем более - на других ОС.
Вопрос к тем, кто был в аналогичной ситуации: Какое Вы выбрали решение задачи и почему?