|
Как верблюду пройти сквозь игольное ушко или Способы управления/конфигурирования устройства через единственное SPP-соединение. |
|
|
|
Sep 24 2018, 11:22
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

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

Профессионал
    
Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143

|
Цитата(jcxz @ Sep 24 2018, 15:31)  Каким образом осуществляется подключение к этой железке? так же, как вы и пишите, через модемное соединение =) то есть ставится inf + dll. Ну и далее мышкой на соединение или через WinApi RasDialЦитата(jcxz @ Sep 24 2018, 15:31)  И не факт, что будет работать в последующих версиях винды. такой метод изначально работал на WinXP, но так же работает на Win7 и Win8.1 ( на Win10 не пробывал - нет такого под рукой )
--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
|
|
|
|
|
Sep 24 2018, 12:57
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(megajohn @ Sep 24 2018, 14:45)  то есть ставится inf + dll. Ну и далее мышкой на соединение или через WinApi RasDial... такой метод изначально работал на WinXP, но так же работает на Win7 и Win8.1 ( на Win10 не пробывал - нет такого под рукой ) Мне нужен метод работающий не только под виндой (см. первый пост). А dll уже намекает, что "win only"  Можно ли такое соединение создать под Андроид например? Цитата(_pv @ Sep 24 2018, 15:32)  имхо менюшки/чекбоксы в цвете и мерцаниях - как раз лишнее, сделайте минимум командную строку: Нет - кондовой командной строки точно не будет. на дворе давно уже не 1980-е гг. Конфигурирование должно быть интерактивным, как можно более user-frendly. Так как клиентом надо дорожить. Менюшки и в цвете - уже есть и работают. И ничего сложного в этом нет. Почти. "Почти" - потому что выбор нормальных терминалок бедный. Цитата(AlexandrY @ Sep 24 2018, 15:40)  Тогда делайте полный эмулятор AT команд настоящего модема. Желаю удачи.  Если-б проблема была только в этом, это была бы ерунда...
|
|
|
|
|
Sep 24 2018, 13:43
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
Цитата(jcxz @ Sep 24 2018, 18:57)  Нет - кондовой командной строки точно не будет. на дворе давно уже не 1980-е гг. Конфигурирование должно быть интерактивным, как можно более user-frendly. Так как клиентом надо дорожить. Менюшки и в цвете - уже есть и работают. И ничего сложного в этом нет. Почти. "Почти" - потому что выбор нормальных терминалок бедный. cisco об этом расскажите. да сложного конечно ничего нет, но в текстовом режиме все эти цветные менюшки если у пользователя только экранная клавиатура в смартфоне очень вероятно будут ещё хуже простой командной строки. ну и я это "почти" и имел ввиду, что даже цветной терминал может оказаться не очень доступен, а вся ваша цветная/мигающая красота нарисованная в обычном терминале который этого не понимает выглядеть будет так себе  и на простую командную строку свою отдельную морду поверх сделать потом всегда можно которая в порт команды посылать будет, а вот если там уже цветные мигающие менюшки, с ними уже будет гораздо сложнее. з.ы. а если взять и рядом поставить ещё отдельный esp32 за 3$ только с питанием, чтобы он подсоединялся к девайсу по BT, а сам при этом по wifi раздавал красивую веб-морду?
|
|
|
|
|
Sep 24 2018, 14:40
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(_pv @ Sep 24 2018, 16:43)  ну и я это "почти" и имел ввиду, что даже цветной терминал может оказаться не очень доступен, а вся ваша цветная/мигающая красота нарисованная в обычном терминале который этого не понимает выглядеть будет так себе  Красивую веб-морду делать затратно, особенно под разные варианты и разрешения экранов. Сизифов труд. Под терминал правильное решение. Я сам так делаю. Не понял только проблему с Андроидом. Под него же туча есть эмуляторов терминалов с поддержкой VT100. У меня отлично работает через BT И еще, в RAD студио есть компонент Bluetooth с одинаковым API под Win, Android, iOS. Так что универсальное приложение можно сделать из одной кодовой базы за пару дней.
|
|
|
|
|
Sep 24 2018, 18:36
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(AlexandrY @ Sep 24 2018, 17:40)  Под терминал правильное решение. Я сам так делаю. Не понял только проблему с Андроидом. Под него же туча есть эмуляторов терминалов с поддержкой VT100. У меня отлично работает через BT Проблема именно в куче: трудно в ней найти что-то работающее. Уже поставил с десяток разных - ни один нормально не работает. Тестирую на простой менюшке из 4 строк (серым на чёрном), одна строка подсвечена яркостью и синим фоном + заголовок + текущее время в правом верхнем углу. Putty и TeraTerm (винда) нормально отображают, ни один из опробованных терминалов не смог: или пустой экран, или в углу что-то мелькает, или esc-последовательности не понимает. Даже без всяких UTF-8. Самый лучший понимает только esc-последовательности установки курсора. Может я плохо ищу, но как искать в этой куче? Если у всех в описании указано: VT100, а не воспринимаются даже esc-последовательности. Цветовые esc вообще ни один не отработал.  (( Вот такая менюшка оказалась не по зубам ни одному:
Цитата(AlexandrY @ Sep 24 2018, 17:40)  И еще, в RAD студио есть компонент Bluetooth с одинаковым API под Win, Android, iOS. Так что универсальное приложение можно сделать из одной кодовой базы за пару дней. Пока есть сильное желание использовать готовое. Может даже заплатим. Цитата(AlexandrY @ Sep 24 2018, 17:40)  Красивую веб-морду делать затратно, особенно под разные варианты и разрешения экранов. Сизифов труд. Не сизифов. Юзер сейчас привык к браузерам и веб-мордам. Я говорю про обычного, не программиста или ардуинщика. И удобный и привычный интерфейс конфигурирования - это сильное конкурентное преимущество устройства. Цитата(Arlleex @ Sep 24 2018, 20:09)  Нужно же как-то сказать ОС, что вот такой-то COM-порт это полноценная сетевая карточка. Пусть звучит наивно, конечно, но вопрос чисто спортивного интереса (из разряда "поиграться на выходных"). Вернее, я знаю, что это сделать можно. Но как? Windows 7, XP, браузер Chrome, Mozilla, Opera, да разные. Вы прочитайте сначала - я ещё в самом первом сообщении писал как. И многие сообщения в начале треда были посвящены этому. Нужно просто создать удалённое подключение к сети. На целевом компе делаете такое подключение в режиме "сервер". Оно открывает COM-порт и ждёт входящих соединений. В начале темы люди выкладывали скриншоты даже. Лет 20-30 назад многие так и выходили в инет.  Цитата(Сергей Борщ @ Sep 24 2018, 17:50)  putty есть под андроид. Мой начальник так на наши устройства заходит. У меня "телефон здорового человека", мне это не актуально, я через minicom хожу из-под линуха или через тот же putty из-под винды. Ну есть. Bluetooth он не понимает, только TCP.
|
|
|
|
Сообщений в этой теме
jcxz Как верблюду пройти сквозь игольное ушко или Способы управления/конфигурирования устройства через единственное SPP-соединение. Sep 24 2018, 11:22   AlexandrY Цитата(megajohn @ Sep 24 2018, 14:45) так... Sep 24 2018, 11:58    megajohn Цитата(AlexandrY @ Sep 24 2018, 15:58) Не... Sep 24 2018, 12:11     AlexandrY Цитата(megajohn @ Sep 24 2018, 15:11) это... Sep 24 2018, 12:18      megajohn Цитата(AlexandrY @ Sep 24 2018, 16:18) Он... Sep 24 2018, 12:22       AlexandrY Цитата(megajohn @ Sep 24 2018, 15:22) но ... Sep 24 2018, 12:40        megajohn Цитата(AlexandrY @ Sep 24 2018, 16:40) То... Sep 24 2018, 13:09         jcxz Цитата(megajohn @ Sep 24 2018, 16:09) ... Sep 24 2018, 13:19         AlexandrY Цитата(megajohn @ Sep 24 2018, 16:09) это... Sep 24 2018, 14:34    amaora Цитата(jcxz @ Sep 24 2018, 15:57) Нет - к... Sep 24 2018, 13:42     jcxz Цитата(_pv @ Sep 24 2018, 16:43) да сложн... Sep 24 2018, 14:40 _pv Цитата(jcxz @ Sep 24 2018, 17:22) В свете... Sep 24 2018, 12:32 Сергей Борщ putty есть под андроид. Мой начальник так на наши ... Sep 24 2018, 14:50 Arlleex В догонку хочу поинтересоваться.
Обычно если мне н... Sep 24 2018, 17:09 Сергей Борщ QUOTE (Arlleex @ Sep 24 2018, 20:09) Wind... Sep 24 2018, 17:32 AlexandrY Цитата(Arlleex @ Sep 24 2018, 20:09) В до... Sep 25 2018, 04:53  jcxz Цитата(AlexandrY @ Sep 25 2018, 07:53) Ра... Sep 25 2018, 11:30   AlexandrY Цитата(jcxz @ Sep 25 2018, 14:30) Думаю ч... Sep 25 2018, 12:16
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|