Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Проекты на MidletPascal

Ответ
 
Опции темы
Старый 26.08.2009, 00:47   #1
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Разработка Terminal-клиента для управления RS232 устройствами

Есть идея написать Terminal-client для управления разными устройствами (модемы, свичи, видео-камеры, счетчики электроэнергии и тд), имеющими разьем RS232 (COM-port) с помощью всего-лишь мобильного телефона и COM-шнурка.
По-моему было бы удобно, например, не лезть на чердак с ноутом, чтобы прописать в свиче ему новый IP или поменять пару настроек, а приконнектиться к нему прямо телефона )

Плюс, возможно, с некоторой переделкой шнура можно будет подцепляться ко всяким TTL-инженерным выходам в устройствах, например в роутерах (как Asus WL-500Gp и подобные), ADSL-модемах (например в ZTE такой точно есть), жестких дисков и прочее. Нужно в первую очередь для восстановления данных устройств - можно посмотреть, что он в терминалку пишет, дать какую-либо команду и прочее.

Сейчас занимаюсь написанием текстового редактора. Так, как делаю все в графическом режиме, придется придумывать свою функцию ввода текста... Возможно будет нечто, наподобии T9, только для основных терминальных команд. Потом возможно будет сохранение логинов и паролей, чтобы каждый раз их не набирать...

Но пока лишь самое начало. И в принципе, самый главный этап - текстовый редактор.
(Offline)
 
Ответить с цитированием
Старый 26.08.2009, 01:27   #2
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Разработка Terminal-клиента для управления RS232 устройствами

Наполеоновские планы. Управление теликом по ИК не сделали - а тут...
Но - удачи.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
Phantom (26.08.2009), SBJoker (26.08.2009), Trazzy (18.09.2009)
Старый 26.08.2009, 17:07   #3
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Разработка Terminal-клиента для управления RS232 устройствами

Провозился сегодня весь день только лишь чтобы создать библиотеку, которая определяет на разных моделях телефонов коды софт-клавиш. http://forum.boolean.name/showthread...368#post116368

Нужны добровольцы-тестеры, чтобы потестить ее на реальных аппаратах.

Ну и пока набросал предварительный интерфейс. Вот думаю, может свой фиксированный шрифт использовать?
Миниатюры
Нажмите на изображение для увеличения
Название: rs2322.PNG
Просмотров: 1041
Размер:	2.5 Кб
ID:	7334  

Последний раз редактировалось Tronix, 26.08.2009 в 22:33.
(Offline)
 
Ответить с цитированием
Старый 26.08.2009, 22:15   #4
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Разработка Terminal-клиента для управления RS232 устройствами

Мучаюсь над интерфейсом. Сделал скроллинг текста, мигающий курсорчик ;-) , сейчас пишу обработку клавиш, как в обычном телефоне - например нажали цифру 1, а он открывает менюшку с набором 'abc1' и тд.

Но что примерно получаеться можно посмотреть уже сейчас - пока любая цифровая кнопка = ввод буквы "a". Левая софткей - как выглядит менюха выбора и после этого * - выход.

Последний раз редактировалось Tronix, 27.08.2009 в 14:54.
(Offline)
 
Ответить с цитированием
Старый 26.08.2009, 22:56   #5
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: Разработка Terminal-клиента для управления RS232 устройствами

в таком деле инетрфейс, прокрутка текста и шрифт самое главное ! так держать !
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо NitE за это полезное сообщение:
Romanzes (27.08.2009), xmoonlight (01.04.2010)
Старый 27.08.2009, 00:11   #6
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Разработка Terminal-клиента для управления RS232 устройствами

Спасибо за поддержку.

Первая проблемма - не могу подсчитать количество нажатий одной и той-же клавиши.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (27.08.2009)
Старый 27.08.2009, 09:50   #7
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: Разработка Terminal-клиента для управления RS232 устройствами

Скорее всего, если это будет работать, то только на старых моделях определенных тел.
Напр. в мотороле шнур имеет usb выход, а паять переходник или экспериментировать с готовым, usb->com (продается где-то за ~350p.) нет времени. А еще для переходника нужен источник питания 5V.
__
Терминал можно сделать и в форме, главное следить за размером поля вывода чтоб тел. не вис, как моторолы.
__
p.s.: а вообще идея хорошая, успешного завершения проекта.
(Offline)
 
Ответить с цитированием
Старый 27.08.2009, 11:00   #8
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Разработка Terminal-клиента для управления RS232 устройствами

Сообщение от abcdef Посмотреть сообщение
Скорее всего, если это будет работать, то только на старых моделях определенных тел.
Напр. в мотороле шнур имеет usb выход, а паять переходник или экспериментировать с готовым, usb->com (продается где-то за ~350p.) нет времени. А еще для переходника нужен источник питания 5V.
Да, я понимаю, что работать будет далеко не везде. Я мало вообще работал с телефонами, кроме сименсов (у меня они всегда были). Поэтому скорее всего конечная целевая аудитория - сименсоводы x65 - x75 серий.
Терминал можно сделать и в форме, главное следить за размером поля вывода чтоб тел. не вис, как моторолы.
Перед началом задумки посмотрел всякие мидлеты - текстовые редакторы, но не один из них не понравился. Да и в графическом режиме на экране по больше информации уместиться. Хотя конечно есть совмещенные, текст рисуют в графике, а ввод с помощью формы... Ну не знаю. Если с проклятыми клавишами не разбирусь, то может быть так и придеться делать, хотя не хочеться.

_
p.s.: а вообще идея хорошая, успешного завершения проекта.
Спасибо, буду стараться.

UPD: Фухх. Кажется разобрался с клавишами \w/. Не зря говорят утро вечера мудренее )) Продолжаю разработку своей функции ввода текста.

Последний раз редактировалось Tronix, 27.08.2009 в 11:36.
(Offline)
 
Ответить с цитированием
Старый 27.08.2009, 15:11   #9
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Разработка Terminal-клиента для управления RS232 устройствами

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

Да и еще, я вот думаю - а на всех ли телефонах одинаковая раскладка? Тоесть вот у меня допустим когда нажимаешь клавишу "1" появляеться выбор: ' 1' (пробел или единица), цифру "2" - 'abc2' и так далее. А может быть такое, что в каких-то телефонах клавиша "1" означает 'abc1' ? Сейчас раскладка у меня хранится в мидлете - это файл keyb.txt, можно без проблемм добавить другие раскладки, скажем для моторол, сони эриксонов и так далее.. Только вот было бы не плохо, если бы вы мне их подсказали.

Сейчас начну заниматься менюхами и доводкой интерфейса.
Вложения
Тип файла: zip termrs232.zip (9.7 Кб, 617 просмотров)
(Offline)
 
Ответить с цитированием
Старый 27.08.2009, 16:56   #10
Romanzes
Разработчик
 
Аватар для Romanzes
 
Регистрация: 06.04.2008
Сообщений: 541
Написано 196 полезных сообщений
(для 637 пользователей)
Ответ: Разработка Terminal-клиента для управления RS232 устройствами

Раскладка не везде одинаковая.
Вообще, сделал бы ты сначала собственно управление RS232 устройствами, а потом уже интерфейс, свистелки и т.д.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Phantom (28.08.2009)
Старый 27.08.2009, 17:13   #11
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Разработка Terminal-клиента для управления RS232 устройствами

Сообщение от Romanzes Посмотреть сообщение
Раскладка не везде одинаковая.
Вообще, сделал бы ты сначала собственно управление RS232 устройствами, а потом уже интерфейс, свистелки и т.д.
Я пробовал использовать библиотеку Lib_comm - она прекрасно работает. Проверял с HyperTerminal + я более-менее разобрался как писать собственные библиотеки, так что если что - добавление новых функций - не проблемма. Ну а в случае затруднительных ситуаций надеюсь на помощь здешних гуру )

Проблемма в другом - у меня нет под рукой ни одного RS232 девайса, кроме как компа. Соответственно для тестирования нужна какая-то программа на компе, которая будет посылать в ком порт какие-то данные. Желательно текстовые данные. В идеале - почти эмулятор настройки каково-нибуть железного девайса... Не знаете таких программ? Наверное придется писать что-то самому на скорую руку на фри паскале..
(Offline)
 
Ответить с цитированием
Старый 27.08.2009, 19:04   #12
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: Разработка Terminal-клиента для управления RS232 устройствами

ну дык HyperTerminal, можно также использовать тот же p-330w или другое устройство с rs232
__________________
(Offline)
 
Ответить с цитированием
Старый 27.08.2009, 20:25   #13
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: Разработка Terminal-клиента для управления RS232 устройствами

как вариант для экспериментов, можно подключить другой сотовый с rs232
(Offline)
 
Ответить с цитированием
Старый 27.08.2009, 23:41   #14
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Разработка Terminal-клиента для управления RS232 устройствами

Мда, поторопился я. Не получается у меня коннект сделать.
Процедуру чтения из порта сделал в виде отдельного треда. В ней rcbuf := rcbuf + Chr(comm_read); Далее по ходу программы посылаю в порт строку, она нормально уходит на компьютер. далее печатаю на компе hello, оно должно в треде накопиться в строке rcbuf, а в rcbuf получаеться по-чему то только первый символ 'h'... Может быть конечно косяк в либе lib_thread.... Не знаю, весь день сегодня бился, но увы. Завтра помучаю еще немного, но...

Видимо не удачная идея с проектом была. (
(Offline)
 
Ответить с цитированием
Старый 01.09.2009, 11:24   #15
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Разработка Terminal-клиента для управления RS232 устройствами

Не могу разобраться в чем проблемма. Все нормально отсылает в комп, но при приеме упорно накапливает в строке-буффере только первый символ. Код:
program NewProject;
uses commthread;
var
    
i,
  
idinteger;
  
tstring;

procedure threadaction;    // Тред. Собираем все что пришло с порта в строку t
begin
    t 
:= chr(comm_read);
end;

procedure WaitKey;    // Ждем нажатия на звездочку
begin
    
while GetKeyClicked <> KE_STAR do 
    
begin 
      Delay
(100); 
    
end
end;  
begin
    drawText
(GetProperty('microedition.commports'),0,0);    // Выводим доступные порты
    
repaint;
    
drawText(comm_open('comm:COM0;baudrate=115200'),0,10); //Открываем COM0
    
drawText('Opened.',0,20);
    
repaint;
    
WaitKey;
  
drawText(comm_write_string('Test Line 123456789'),0,70); //Посылаем в комп тестовую строку
    
drawText('Send string OK.',0,30);
    
repaint;
    
WaitKey;

      
init;        // Запускаем тред с comm_read
    
start;
    

repeat  // Постоянно выводим что у нас образовалось в строке-буффере
setcolor(0,0,0);
fillrect(0,0,100,20);
setcolor(0,255,0);
    
DrawText(t0,0);
    
repaint;
until getkeyclicked KE_STAR// выходим по звездочке
    
stop// все закрываем.
  
comm_close;
    
drawText('Closed.',0,50);
  
WaitKey;
end
Причем если отключить использование треда и заменить цикл repeat-until на что-то вроде
while t<>'0' do begin
      i
:= comm_read;
        
drawText(integertostring(i),id,40);
        
repaint;
        
id:= id+10;
    
end
То все работает. Но comm_read ждет пока что-либо не получит из порта, тоесть если ничего не приходит - получаеться пауза в цикле (программе). А в терминалке мне этого не надо совершенно. Где косяк?
Хелп плиз! Проект из-за этого застопорился ((

P.S. Есть конечно мысли сделать как-нибуть свою псевдо-мультитредность нахимичив чего-нибуть с таймером, но пока мысль эта до конца не оформилась (
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Lib_comm соединение с устройствами через RS232 floks Основной форум 45 22.08.2010 16:40
панель управления Pro_100_Den 3D-программирование 6 29.06.2009 13:19
Постаянная скорость управления мышью Crystal 3D-программирование 16 25.01.2008 18:57
система управления с USB smersh Blitz3D 5 10.09.2007 01:32
эргономика управления и юзабельность jimon Болтовня 8 29.06.2007 21:42


Часовой пояс GMT +4, время: 09:31.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com