![]() |
Разработка Terminal-клиента для управления RS232 устройствами
Есть идея написать Terminal-client для управления разными устройствами (модемы, свичи, видео-камеры, счетчики электроэнергии и тд), имеющими разьем RS232 (COM-port) с помощью всего-лишь мобильного телефона и COM-шнурка.
По-моему было бы удобно, например, не лезть на чердак с ноутом, чтобы прописать в свиче ему новый IP или поменять пару настроек, а приконнектиться к нему прямо телефона ) Плюс, возможно, с некоторой переделкой шнура можно будет подцепляться ко всяким TTL-инженерным выходам в устройствах, например в роутерах (как Asus WL-500Gp и подобные), ADSL-модемах (например в ZTE такой точно есть), жестких дисков и прочее. Нужно в первую очередь для восстановления данных устройств - можно посмотреть, что он в терминалку пишет, дать какую-либо команду и прочее. Сейчас занимаюсь написанием текстового редактора. Так, как делаю все в графическом режиме, придется придумывать свою функцию ввода текста... Возможно будет нечто, наподобии T9, только для основных терминальных команд. Потом возможно будет сохранение логинов и паролей, чтобы каждый раз их не набирать... Но пока лишь самое начало. И в принципе, самый главный этап - текстовый редактор. |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Наполеоновские планы. Управление теликом по ИК не сделали - а тут...
Но - удачи. |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Вложений: 1
Провозился сегодня весь день только лишь чтобы создать библиотеку, которая определяет на разных моделях телефонов коды софт-клавиш. http://forum.boolean.name/showthread...368#post116368
Нужны добровольцы-тестеры, чтобы потестить ее на реальных аппаратах. Ну и пока набросал предварительный интерфейс. Вот думаю, может свой фиксированный шрифт использовать? |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Мучаюсь над интерфейсом. Сделал скроллинг текста, мигающий курсорчик ;-) , сейчас пишу обработку клавиш, как в обычном телефоне - например нажали цифру 1, а он открывает менюшку с набором 'abc1' и тд.
Но что примерно получаеться можно посмотреть уже сейчас - пока любая цифровая кнопка = ввод буквы "a". Левая софткей - как выглядит менюха выбора и после этого * - выход. |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
в таком деле инетрфейс, прокрутка текста и шрифт самое главное ! так держать !
|
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Спасибо за поддержку.
Первая проблемма - не могу подсчитать количество нажатий одной и той-же клавиши. |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Скорее всего, если это будет работать, то только на старых моделях определенных тел.
Напр. в мотороле шнур имеет usb выход, а паять переходник или экспериментировать с готовым, usb->com (продается где-то за ~350p.) нет времени. А еще для переходника нужен источник питания 5V. __ Терминал можно сделать и в форме, главное следить за размером поля вывода чтоб тел. не вис, как моторолы. __ p.s.: а вообще идея хорошая, успешного завершения проекта. |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Цитата:
Цитата:
Цитата:
UPD: Фухх. Кажется разобрался с клавишами \w/. Не зря говорят утро вечера мудренее )) Продолжаю разработку своей функции ввода текста. |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Вложений: 1
Уффф. Написал свою функцию ввода текста, на подобии той, что используется в текстовых формах. Можно набирать и стирать текст. Просьба кому не лень потестировать - что-нибуть понабирать/постирать. Может быть я каких-то глюков просто не замечаю?
Да и еще, я вот думаю - а на всех ли телефонах одинаковая раскладка? Тоесть вот у меня допустим когда нажимаешь клавишу "1" появляеться выбор: ' 1' (пробел или единица), цифру "2" - 'abc2' и так далее. А может быть такое, что в каких-то телефонах клавиша "1" означает 'abc1' ? Сейчас раскладка у меня хранится в мидлете - это файл keyb.txt, можно без проблемм добавить другие раскладки, скажем для моторол, сони эриксонов и так далее.. Только вот было бы не плохо, если бы вы мне их подсказали. Сейчас начну заниматься менюхами и доводкой интерфейса. |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Раскладка не везде одинаковая.
Вообще, сделал бы ты сначала собственно управление RS232 устройствами, а потом уже интерфейс, свистелки и т.д. |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Цитата:
Проблемма в другом - у меня нет под рукой ни одного RS232 девайса, кроме как компа. Соответственно для тестирования нужна какая-то программа на компе, которая будет посылать в ком порт какие-то данные. Желательно текстовые данные. В идеале - почти эмулятор настройки каково-нибуть железного девайса... Не знаете таких программ? Наверное придется писать что-то самому на скорую руку на фри паскале.. |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
ну дык HyperTerminal, можно также использовать тот же p-330w или другое устройство с rs232
|
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
как вариант для экспериментов, можно подключить другой сотовый с rs232
|
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Мда, поторопился я. Не получается у меня коннект сделать.
Процедуру чтения из порта сделал в виде отдельного треда. В ней rcbuf := rcbuf + Chr(comm_read); Далее по ходу программы посылаю в порт строку, она нормально уходит на компьютер. далее печатаю на компе hello, оно должно в треде накопиться в строке rcbuf, а в rcbuf получаеться по-чему то только первый символ 'h'... Может быть конечно косяк в либе lib_thread.... Не знаю, весь день сегодня бился, но увы. Завтра помучаю еще немного, но... Видимо не удачная идея с проектом была. ( |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Не могу разобраться в чем проблемма. Все нормально отсылает в комп, но при приеме упорно накапливает в строке-буффере только первый символ. Код:
PHP код:
PHP код:
Хелп плиз! Проект из-за этого застопорился (( P.S. Есть конечно мысли сделать как-нибуть свою псевдо-мультитредность нахимичив чего-нибуть с таймером, но пока мысль эта до конца не оформилась ( |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Tronix, поток - это не таймер, если в нем прописано одно действие, значит и выполнится это действие ОДИН РАЗ. Напиши что-то в роде
PHP код:
|
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Чорт, во я тормаз :-D
Спасибо большое ))) Продолжаем разработку ) |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Вложений: 1
вот реализация практического использования устройства с COM-интерфейсом с j2me-программой. В коде реализован протокол обмен данными полученными через gprs-соединение по https-каналу, и обмен с com-портом ресивера.
|
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Вложений: 1
мои исходники экспериментов по передачи изображения с экрана компьютера в сотовый телефон, тестировалось на телефонах моторола, картинка RGB размером 128x128 передавалась где-то за 20 сек.
(изображение берется с местоположения курсора и передается delphi- программкой, исходники прилагаются) |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Спасибо, посмотрю на досуге. Пока чего-то подзабил, ввиду отсутствия под рукой какого-нибуть COM девайса, кроме компа.
Все-таки там тонкости тоже есть, в самой передаче... А инфы в инете маловато на тему написания терминалок... Приходится пока методом тыка все проверять. Но уже туда-сюда данные передаються )) Если будет попроще со временем, обязательно допишу прогу. |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
немного о подключении (на примере телефона Motorola):
1. установить в телефоне "Menu - Connectivity - USB Settings - Default Connection - Data/Fax Connection", "меню - подключения - usb настройки - подключение по умолчанию - модем" 2. запустить j2me программу в телефоне 3. подключить шнур (если найдено новое оборудование - указать местоположение драйвера CD-диск от телефона) 4. "Пуск - Настройка - Панель управления - Администрирование - Управление - Диспетчер устройств - модемы - двойным щелчком по нашему модему - вкладка Диагностика - жмем Опросить модем" если ответил, значит драйвер и соединение установилось, иначе проверяем соединение шнура и установку драйверов и тд. 5. На вкладке модем смотрим строку "порт:" - это адрес нашего модема, его можно сменить на вкладке "Дополнительные параметры связи - Дополнительные параметры... - Номер COM-порта". Примечание: необходимо чтобы номер порта был меньше 10, иначе не работает перенаправление данных в com-порт как в файл. Пример управления дозвоном из bat-файла: Код:
@echo off |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Вложений: 1
Все это интересно, но тут надо не просто конкретные байты туда-сюда гонять (как в случае например с передачей изображения с компа на телефон). Терминал - дело несколько сложное, нужно учитывать наличие эха (echo), символов $10,$13 (нужно или не нужно их обрабатывать при посылке/приеме) и кучу другого. Инфы в инете на русском ноль, на английском - половина - другая килобайта. Очень странно.
Но скелет вообщем-то готов. Шлет/принимает простой текст c/на телефон. Можно набирать текст в терминале, стирать его. Решетка - Enter (отправить набранный на телефоне текст). Левый софткей - стереть введенный текст. Правый софткей - выход. Скринов пока нет, да и они мало чем отличаются от скрина, который лежит где-то в начале темы. Буду теперь возиться с обработкой эха, символов LF/CF, менюшек. Эх, единственное о чем жалею - что сразу начал использовать системный шрифт. Это было fail. Ну ладно. Выложу, может вдруг кому интересно... |
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Вложений: 1
Так как никакого устройства с com-портом у меня не появилось для тестов, а так-же по просьбам трудящихся выкладываю исходники программы как есть.
|
Ответ: Разработка Terminal-клиента для управления RS232 устройствами
Блиин..! Почему я сюда стока времени не заходил((
Совсем недавно сам тоже реализовывал ввод в канве. Впринципе ничего сложного, но у тебя вышло гораздо ровнее. Насчет системного шрифта, а чего бы тебе не подключить font32, нажать ctrl-h, drawtext -> drawstring, заменить все? |
Часовой пояс GMT +4, время: 20:17. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot