Какую лучше связку программных средств использовать

korbnik

Новичок
Какую лучше связку программных средств использовать

Какую лучше связку программных средств использовать (например - PHP, HTML, javascript)
для написания web-интерфейсов (такие как программы только с меню выбора, как в платёжных терминалах)
так чтобы был прозрачный доступ из этой программы к последовательным портам и USB-портам?
Суть программы сводится к следующему:
На экране (тачскрине) в определённой последовательности нажимаются кнопки (буквы, цифры вводиться не будут).
При нажатии окончательной кнопки на экране, с одного порта (COM или USB) принимается определённый код, а потом на другой порт подаётся тоже определённый код, в зависимости от выбора в меню. Вот собственно и весь алгоритм.

Заранее благодарен. Борис. [email protected]
 

Alexandre

PHPПенсионер
javascript точно не нужен и вообще не уверен что эта программа для РНР
 

korbnik

Новичок
Тогда достаточно только HTML?
И есть ли способ как из HTML получить доступ
к COM или USB портам?

Заранее благодарен. Борис.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Я на питоне писал. И видел написанную на дельфях, "у-одного-известного-провайдера-не-скажу-какого"
 

dimagolov

Новичок
korbnik, откуда взялся веб-интерфейс вообще? что за устройства и какие где порты? какая операционка на устройстве?
 

korbnik

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

Заранее благодарен. Борис.
 

dimagolov

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

п.с. все равно не понятно. терминал будет отображать весь интерфейс сам, или он должен ретранслировать ввод на центральный сервер и только отображать полученный оттуда html? а как и где будут храниться данные и как к ним будет получать доступ терминал (если он не только будет передавать-отображать)? или будет COM-мультиплексор на центральном сервере и тупо тазик с браузером для отображения интерфейса?
 

korbnik

Новичок
Мы пока будем делать терминал без связи с сервером, то есть отдельно стоящий локальный терминал. Терминал будет отображать весь интерфейс сам. В будущем он будет только передавать определённую информацию, а с сервера ничего не забирать. Поэтому на первых порах данные будут на самом терминале - то есть это полноценный компьютер с самой распространённой конфигурацией под Windows. Возможно ли
сделать это только на HTML-е, если возможно, то тогда остаётся вопрос - как управлять портами используя только HTML?
 

dimagolov

Новичок
Возможно ли сделать это только на HTML
конечно нет.
то есть это полноценный компьютер с самой распространённой конфигурацией под Windows
Сильно рекомендую нанять в команду юниксоида и ставить Linux. Интерфейс можно будет получить почти идентичный виндовому, а возможностей программирования будет на порядок больше. Кроме того, линукс можно будет ужать до совершенно неприличного состояния и тем самым снизить требования к железу на порядок с одной стороны и повысить надежность и дуракоустойчивость решения с другой.
 

Adelf

Administrator
Команда форума
Да большинство терминалов - обычные браузеры с веб-сервером локальным.

1. Пишем расширение для PHP и работаем с портами там.
2. Пишем COM-сервер для винды и из php его юзаем. Это другой COM(OLE там.. ActiveX рядом стоят).
3. Смотреть что-нибудь готовое. Типа http://www.phpclasses.org/browse/package/3679.html - хотя я сомневаюсь что-то... Сам не пробовал.

Сильно рекомендую нанять в команду юниксоида и ставить Linux.
Лучше не советовать не зная всего. Вдруг там проги чисто виндовые юзаются?
 

korbnik

Новичок
Автор оригинала: dimagolov

Сильно рекомендую нанять в команду юниксоида и ставить Linux. Интерфейс можно будет получить почти идентичный виндовому, а возможностей программирования будет на порядок больше. Кроме того, линукс можно будет ужать до совершенно неприличного состояния и тем самым снизить требования к железу на порядок с одной стороны и повысить надежность и дуракоустойчивость решения с другой.
Такой юниксоид уже есть. У нас есть опыт по поводу ужатия до совершенно неприличного состояния - для игровых автоматов.
Тогда вопрос - как всё-таки использую web-интерфейс получить доступ к портам? Ну например в Linux-е?

-~{}~ 29.12.09 16:35:

Автор оригинала: Adelf
Да большинство терминалов - обычные браузеры с веб-сервером локальным.

1. Пишем расширение для PHP и работаем с портами там.
2. Пишем COM-сервер для винды и из php его юзаем. Это другой COM(OLE там.. ActiveX рядом стоят).
3. Смотреть что-нибудь готовое. Типа http://www.phpclasses.org/browse/package/3679.html - хотя я сомневаюсь что-то... Сам не пробовал.


Лучше не советовать не зная всего. Вдруг там проги чисто виндовые юзаются?
1. всё-таки PHP использовать придётся?
2. а если будет использоваться Linux придётся отдельно писать для Windows и отдельно для Linux :-( ?
3. вот это уже что-то, надо аккуратно просто посмотреть как это работает.

Для игровых автоматов мы писали общую прогу чтобы она работала как Windows так и Linux - правда мы писали на Си.

А здесь программа состоит только из меню (как раз в веб-интерфейсе это можно реализовать в лёгкую) и модулю
который работает с портами.
 

dimagolov

Новичок
korbnik, еще раз даю ссылку, ознакомиться ОБЯЗАТЕЛЬНО: http://phpfaq.ru/na_tanke

1. можно дописав расширения сделать интерфейс к портам на php. хотя лично мне кажется, что есть более приспособленные для подобного ЯП, которые хотя-бы нативно поддерживают многопоточность
2. писать что? если терминал должен исполнять чьи-то чужие программы, которые только под Windows, то это может быть аргументом в пользу использования Windows как платформу. а технология СOM-OLE-ActiveX это один из вариантов прилепить интерфейс между COM-портами и PHP, не факт, что самая подходящая. п.1 у Adelf-а это был другой вариант построить такой интерфейс, в виде расширения php (такая библиотека ф-й, доступных из скриптов PHP, пишется на C)

правда мы писали на Си
что расширение для PHP, что COM/OLE сервер нужно писать на C. Но под Linux-ом можно легко юзать разные скриптовые языки, которые поддерживают работу с COM-портами и более подходящие для realtime приложений, чем php
 

korbnik

Новичок
Автор оригинала: dimagolov


Но под Linux-ом можно легко юзать разные скриптовые языки, которые поддерживают работу с COM-портами и более подходящие для realtime приложений, чем php
Не могли бы подсказать, что за скриптовые языки?
 

A1x

Новичок
как насчет Java? с портами работать наверно умеет, кроссплатформенна и средства для создания веб-приложений тоже есть
 

korbnik

Новичок
Автор оригинала: A1x
как насчет Java? с портами работать наверно умеет, кроссплатформенна и средства для создания веб-приложений тоже есть
Вы хотите сказать, что можно такую программу сделать используя только Java?
И больше ничего не надо, никакой связки?
 

A1x

Новичок
Да думаю Java для такой задачи подойдет уж точно лучше чем пхп. В качестве веб-сервера можно использовать какой-нибудь Tomcat.
Но конкретно лучше спрашивать на форуме джавистов
 

dimagolov

Новичок
A1x, java это песочница-тормозильщица. переносимость работы с железом будет зависеть от переносимости либы, которая эту работу реализует. другое дело, что все можно будет реализовать не примешивая html вообще (так как становится неясно зачем он, если весь интерфейс можно реализовать на java и избавиться от веб-серера и браузера). ну а отображать что-то размеченное в html можно в java-приложении и так, там есть минибраузеры.
 

A1x

Новичок
dimagolov да вообще не понятно в каком месте там тачскрин, в каком веб-интрфейс, я предложил Java потому что там есть средства на все случаи жизни (включая многопоточность) и сделав такой выбор точно не ошибешься, даже если в процессе будет меняться архитектура (с веб или без веб) или придется менять ОС. Так что если все равно с чего начинать то лучше уж Java. Ну или Qt. :)
 

Alexandre

PHPПенсионер
Java - хороший выбор, WEB сервер лучше использовать либо Tomcat, либо Resin.
с переносимостью не хуже РНР, что-то хорошо переносится, а что-то нет. как правило все базовые серверные либы пеерносимы, GUI - проблемы. Сам на JAVA не программировал более 5 лет, так что полезных советов не дам...
что касается "песочница-тормозильщица", то в WEB контексте она раз в пять быстрее РНР.
 
Сверху