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

Как верблюду пройти сквозь игольное ушко или Способы управления/конфигурирования устройства через единственное SPP-соединение.

Имеется устройство. Устройство имеет bluetooth (BT). Выбор профилей в использованном BT-модуле небогат и, похоже, придётся обходиться одним только SPP.

Через это SPP нужно делать конфигурирование устройства + изредка скачивать с него файлы (а может в будущем и закачивать на него понадобится).

SPP - потому что должна быть возможность конфигурить "в поле", с телефона. Устройство в роли SPP-сервера - принимает входящие подключения, само не инициирует их.

Так как:

1) необходима возможность конфигурирования из разных ОС: винда, линух, Андроид, АйОС, ...;

2) штат команды разработки предельно мал и бюджет соответствующий;

то для конфигурирования нужно использовать только готовое ПО/протоколы, и самый простой путь - написание конфигураторов для всех ОС, работающих через SPP-канал - отпадает.

В свете вышеизложенных соображений решил конфигурирование построить на базе эмулятора ANSI-терминала: устройство будет генерить текстовый вывод, со всеми менюшками, чекбоксами, edit-контролами и прочим. В цвете, мерцаниях и т.д. Реагируя на нажимаемые пользователем клавиши.

Т.е. - интерактивный интерфейс с юзером. Параметров конфигурации не так уж и много - думаю будет 2-3 десятка. Несколько разных экранов.

В принципе всё работает, если не считать того, что хороших эмуляторов терминалов - не так уж и много. А ведь ещё нужно будет подобрать нормальные терминалы для всех ОС.... :(((

Да - ещё нужно будет принимать с устройства файлы. Для этого думал использовать ZModem. Здесь с эмуляторами терминала ещё хуже оказалось.

 

Но меня посещают мысли, что возможно я не вижу какого-то более удобного варианта, сделать работу по-другому, удобнее и красивше.

В плане удобства пользователя, было бы гораздо лучше использовать HTML. Но как это сделать через SPP (COM-порт)? Причём чтобы даже не продвинутый юзер смог пользоваться.

Я уже думал о таком:

Под виндой - сделать удалённое подключение к сети через этот COM-порт, запустить через него SLIP-протокол, внутри которого - IP-фреймы. Ну и поднять HTTP-сервер в устройстве на этом канале. Возможно так можно сделать. И будет красиво и круто. И с передачей файлов тогда нет проблем. Да и даже графику на странице можно сделать.

Но вот мне кажется, что это будет через одно известное место. И не факт, что будет работать в последующих версиях винды. А тем более - на других ОС.

 

Вопрос к тем, кто был в аналогичной ситуации: Какое Вы выбрали решение задачи и почему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос к тем, кто был в аналогичной ситуации: Какое Вы выбрали решение задачи и почему?

 

вот как раз все что Вы описываете, вижу в одной железке.

реализовано через простой COM-порт, а там на нижнем уровне PPP/LCP/IPCP/IP ну и далее SNMP/TELNET/HTTP:80/FTP

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот как раз все что Вы описываете, вижу в одной железке.

реализовано через простой COM-порт, а там на нижнем уровне PPP/LCP/IPCP/IP ну и далее SNMP/TELNET/HTTP:80/FTP

Каким образом осуществляется подключение к этой железке?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Каким образом осуществляется подключение к этой железке?

 

так же, как вы и пишите, через модемное соединение =)

 

то есть ставится inf + dll. Ну и далее мышкой на соединение или через WinApi RasDial

 

И не факт, что будет работать в последующих версиях винды.

такой метод изначально работал на WinXP, но так же работает на Win7 и Win8.1 ( на Win10 не пробывал - нет такого под рукой )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

такой метод изначально работал на WinXP, но так же работает на Win7 и Win8.1 ( на Win10 не пробывал - нет такого под рукой )

Никак он не работает.

Нет давно уже под виндой Direct Cable connection через PPP. Так что можно забыть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет давно уже под виндой Direct Cable connection через PPP. Так что можно забыть.

 

Ну может в Win10 и нет, но вот скрин из Win7 x64 SP1

 

net.png

 

 

P.S. ADD:

это не оно ? Dialup setup for Windows10

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это не оно ? Dialup setup for Windows10

Нет, то было именно Direct Cable connection через PPP.

Оно не требовало никакого номера и могло активизироваться самим дивайсом.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Оно не требовало никакого номера и могло активизироваться самим дивайсом.

 

но автору нужно "Устройство в роли SPP-сервера - принимает входящие подключения, само не инициирует их."

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В свете вышеизложенных соображений решил конфигурирование построить на базе эмулятора ANSI-терминала: устройство будет генерить текстовый вывод, со всеми менюшками, чекбоксами, edit-контролами и прочим. В цвете, мерцаниях и т.д. Реагируя на нажимаемые пользователем клавиши.

Т.е. - интерактивный интерфейс с юзером. Параметров конфигурации не так уж и много - думаю будет 2-3 десятка. Несколько разных экранов.

Да - ещё нужно будет принимать с устройства файлы. Для этого думал использовать ZModem. Здесь с эмуляторами терминала ещё хуже оказалось.

имхо менюшки/чекбоксы в цвете и мерцаниях - как раз лишнее,

сделайте минимум командную строку:

 

>read paramname\n

>write paramname value\n

>upload filename <base64_encoded_data><EOF> с проверкой контрольной суммы.

если файлы не особо большие, чтобы в случае ошибки просто переслать заново целиком.

 

совсем тупых терминалов, без zmodem, под любую платформу думаю куда больше чем хотя бы тех кто разные цвета и vt100 умеет.

потом уже, на жалобы юзеров, под самые ходовые платформы поверх этого можно будет и морду покрасивее нарисовать.

 

 

Ну может в Win10 и нет, но вот скрин из Win7 x64 SP1

net.png

ага, а теперь то же, для iOS ещё продемонстрируйте :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

но автору нужно "Устройство в роли SPP-сервера - принимает входящие подключения, само не инициирует их."

Тогда делайте полный эмулятор AT команд настоящего модема. Желаю удачи. :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

то есть ставится inf + dll. Ну и далее мышкой на соединение или через WinApi RasDial

...

такой метод изначально работал на WinXP, но так же работает на Win7 и Win8.1 ( на Win10 не пробывал - нет такого под рукой )

Мне нужен метод работающий не только под виндой (см. первый пост). А dll уже намекает, что "win only" :(

Можно ли такое соединение создать под Андроид например?

 

имхо менюшки/чекбоксы в цвете и мерцаниях - как раз лишнее,

сделайте минимум командную строку:

Нет - кондовой командной строки точно не будет. на дворе давно уже не 1980-е гг.

Конфигурирование должно быть интерактивным, как можно более user-frendly. Так как клиентом надо дорожить.

Менюшки и в цвете - уже есть и работают. И ничего сложного в этом нет. Почти. "Почти" - потому что выбор нормальных терминалок бедный.

 

Тогда делайте полный эмулятор AT команд настоящего модема. Желаю удачи. :biggrin:

Если-б проблема была только в этом, это была бы ерунда...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда делайте полный эмулятор AT команд настоящего модема. Желаю удачи. :biggrin:

 

этого вообще не требуется !

вот так кратко выглядит иннициализация dialup

dialup_start.png

 

 

 

>Можно ли такое соединение создать под Андроид например?

увы, это проморгал. Посчитал что по Linux уж должно быть dial, поэтому и написал. Тогда больше не вмешиваюсь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>Можно ли такое соединение создать под Андроид например?

увы, это проморгал. Посчитал что по Linux уж должно быть dial, поэтому и написал. Тогда больше не вмешиваюсь

Линух нам не настолько критичен как Ведроид и Яблокофон. Так как устройство обязательно должно иметь возможность конфигурирования со смартфонов. :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет - кондовой командной строки точно не будет. на дворе давно уже не 1980-е гг.

Конфигурирование должно быть интерактивным, как можно более user-frendly. Так как клиентом надо дорожить.

Менюшки и в цвете - уже есть и работают. И ничего сложного в этом нет. Почти. "Почти" - потому что выбор нормальных терминалок бедный.

 

Давно не видели командной строки? В зависимости от задачи она бывает и удобнее, с дополнениями, подсказками и историей. И требует при этом лишь самого примитивного эмулятора терминала. Файлы я бы передавал в base64 или другом подобном кодировании.

 

Делать PPP через SPP это как-то уж слишком странно, много возни для пользователя может оказаться.

 

+ Под сматрфоны решение только в написании своего приложения, так у них там устроено.

Изменено пользователем amaora

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет - кондовой командной строки точно не будет. на дворе давно уже не 1980-е гг.

Конфигурирование должно быть интерактивным, как можно более user-frendly. Так как клиентом надо дорожить.

Менюшки и в цвете - уже есть и работают. И ничего сложного в этом нет. Почти. "Почти" - потому что выбор нормальных терминалок бедный.

cisco об этом расскажите.

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

ну и я это "почти" и имел ввиду, что даже цветной терминал может оказаться не очень доступен, а вся ваша цветная/мигающая красота нарисованная в обычном терминале который этого не понимает выглядеть будет так себе :)

и на простую командную строку свою отдельную морду поверх сделать потом всегда можно которая в порт команды посылать будет, а вот если там уже цветные мигающие менюшки, с ними уже будет гораздо сложнее.

 

з.ы.

а если взять и рядом поставить ещё отдельный esp32 за 3$ только с питанием, чтобы он подсоединялся к девайсу по BT, а сам при этом по wifi раздавал красивую веб-морду?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...