LPT через Web страницу(Debian) (Управлять железом сервера через веб страницу.)
Модератор: Модераторы разделов
-
Goshadram
- Сообщения: 9
- ОС: Windows nCore
LPT через Web страницу(Debian)
С llnux работаю в первее.
Debian linux and apache2 php5 установлен.
Страница index.php доступна. Веб сервер работает.
Пробовал в php :fopen("/dev/lp0","a"); но сюда нет доступа!
Пробовал и так : exec ("/usr/sbin/lptout 0xFF"); Просто не работает, не знаю почему? lptout доступен всем!
lptout - программа на С меняет состояние регистров по адресу 0x378 на int argc в главной функции.
lptout в консоле работает как надо.
Вопрос: как менять состояние LPT порта через веб страницу?
Debian linux and apache2 php5 установлен.
Страница index.php доступна. Веб сервер работает.
Пробовал в php :fopen("/dev/lp0","a"); но сюда нет доступа!
Пробовал и так : exec ("/usr/sbin/lptout 0xFF"); Просто не работает, не знаю почему? lptout доступен всем!
lptout - программа на С меняет состояние регистров по адресу 0x378 на int argc в главной функции.
lptout в консоле работает как надо.
Вопрос: как менять состояние LPT порта через веб страницу?
-
sciko
- Сообщения: 1744
- Статус: Ъ-участник
- ОС: Debian/Ubuntu/etc
Re: LPT через Web страницу(Debian)
Так! Описываем, что нужно получить в результате. Сейчас явно попытка сделать всё через жопу.
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: LPT через Web страницу(Debian)
Вы в каком году до нашей эры заснули?
Из под root? Возможно. apache2 работает не с правами root.
Мои розовые очки
-
Goshadram
- Сообщения: 9
- ОС: Windows nCore
Re: LPT через Web страницу(Debian)
Я же писал: "С llnux работаю в первее"
Да Вы правы!
Вобщем нужно управлять не одним устройством и показывать тмпературу на датчиках через веб страницу, ну вот и все.
Да Вы правы!
Вобщем нужно управлять не одним устройством и показывать тмпературу на датчиках через веб страницу, ну вот и все.
-
Goshadram
- Сообщения: 9
- ОС: Windows nCore
Re: LPT через Web страницу(Debian)
Зашел под другим пользователем.
lptout не работает
ioperm(,,) не может получить доступ к адресу 0x378
Как назначить права пользователю на использывание портов?
Под каким пользывателем apache2 работает?
lptout не работает
ioperm(,,) не может получить доступ к адресу 0x378
Как назначить права пользователю на использывание портов?
Под каким пользывателем apache2 работает?
-
BlackStar
- Сообщения: 1338
- Статус: We are all Kosh
- ОС: Fedora 10
Re: LPT через Web страницу(Debian)
Я бы написал отдельно демона работающего из под root, который читает/пишет в порт и получает команды из вне через любой IPC (очереди сообщений, фифо, сокеты, файл) и пэхопэ скрипт который эти команды отправляет.
LightLang Team
-
Doublespace
- Сообщения: 275
- ОС: Debian Lenny,Squeeze,Centos
Re: LPT через Web страницу(Debian)
apache работает,естественно,не под рутом, у меня, скажем- user www-data group www-data. ioperm требует для выполнения прав рута. Попробуйте запихать ее в sudo.
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: LPT через Web страницу(Debian)
Так даже под Windows и MacOS никто уже не делает. Так делали только до нашей эры в разных DOS'ах.
man 4 lp
man chmod, man chown, man udev
Мои розовые очки
-
Goshadram
- Сообщения: 9
- ОС: Windows nCore
Re: LPT через Web страницу(Debian)
watashiwa_daredeska писал(а): ↑04.02.2010 17:55Так даже под Windows и MacOS никто уже не делает. Так делали только до нашей эры в разных DOS'ах.
man 4 lp
man chmod, man chown, man udev
так Windows выше 98 непозволет работать с железом напрямую, только через драйвер!
но linux позволяет. Так почему этим не пользоваться.
начинаю потехоньку понемать религию linux, или это мне кажеться, любое устройство это фаил!? даже винт, сетка, USB! интересно видео контролер тоже?
ща буду что-то пробывать делать.
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: LPT через Web страницу(Debian)
В Windows NT можно работать с портами напрямую точно также, как и в Linux: запуская ПО с повышенными привилегиями. Только ни один вменяемый разработчик этого делать не будет ни там, ни там. Разве что для совсем уж наколеночных поделок для на полчаса.
Никакой «религии Linux» нет. Понимание этого приходит при получении образования, так же как и грамотность.
Мои розовые очки
-
Goshadram
- Сообщения: 9
- ОС: Windows nCore
Re: LPT через Web страницу(Debian)
Писать и читать файлы это не на прямую!
это сейчас LPT, а потом устройство на PCI, а может это все будет делать ARM. Учить все ровно надо, и желательно все пути.
Рели́гия — особая форма осознания мира(в донном случае linux), обусловленная верой в сверхъестественное, включающая в себя свод моральных норм и типов поведения, обрядов, культовых действий и объединение людей в организации (форумы,общи́ны ).
Я думаю тут можно все описать.
это сейчас LPT, а потом устройство на PCI, а может это все будет делать ARM. Учить все ровно надо, и желательно все пути.
Рели́гия — особая форма осознания мира(в донном случае linux), обусловленная верой в сверхъестественное, включающая в себя свод моральных норм и типов поведения, обрядов, культовых действий и объединение людей в организации (форумы,общи́ны ).
Я думаю тут можно все описать.
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: LPT через Web страницу(Debian)
Через
напрямую.
Linux — не форма осознания мира и не сам мир. Разве что для совсем уж узколобых придурков, особенно тех, кто верит в сверхъестественное. Моральных норм Linux не определяет. Обрядов и культовых действий, связанных с Linux, нет. А объединяются люди и в клубы, и в партии, и во много чего ещё.
Тему религии тут прекращаю, ибо оффтоп. Если есть желание, можете в Разговоры обо всём тему создать.
Мои розовые очки
-
Goshadram
- Сообщения: 9
- ОС: Windows nCore
Re: LPT через Web страницу(Debian)
писать и читать файлы это не на прямую(ну какой-то драйвер этим занимается)
а это напрямую:
MOV DX,0378H
MOV AL,n
OUT DX,AL
n -наши данные
ну LPT один, а физически минимум 3 регистра для работы
lptout тоже на прямую, по скольку функция берет адрес системы.
В Windows NT ядро берет под себя железо всей системы, на любых правах, и приходится работать с драйыером.
а это напрямую:
MOV DX,0378H
MOV AL,n
OUT DX,AL
n -наши данные
ну LPT один, а физически минимум 3 регистра для работы
lptout тоже на прямую, по скольку функция берет адрес системы.
В Windows NT ядро берет под себя железо всей системы, на любых правах, и приходится работать с драйыером.
-
Crazy
- Сообщения: 862
- Статус: Адепт Дзен.
- ОС: Mint, Win7.
Re: LPT через Web страницу(Debian)
Напоминаю что любые команды ввода/вывода, когда процессор находится в режиме пользователя, запрещены.
Desipere in loco
-
Goshadram
- Сообщения: 9
- ОС: Windows nCore
Re: LPT через Web страницу(Debian)
Буду всё описывать, все свои ошибки и не ошибки. администрация не против?
Теперь работает lptout и под обычным пользователем.
chmod +s /usr/sbin/lptout
Теперь работает lptout и под обычным пользователем.
chmod +s /usr/sbin/lptout
-
Goshadram
- Сообщения: 9
- ОС: Windows nCore
Re: LPT через Web страницу(Debian)
теперь могу дергать ногами lpt порта через веб.
Но это действительно всё через *опу.
А как правельно?
Нужно и читать с порта и выводить на страницу.
Думаю черевато разрешать пользоваться этим фойлом всем!!!
Но это действительно всё через *опу.
А как правельно?
Нужно и читать с порта и выводить на страницу.
Думаю черевато разрешать пользоваться этим фойлом всем!!!
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: LPT через Web страницу(Debian)
Правильно «правильно».
Как правильно работать с LPT написано выше: man 4 lp.
Не на любых. По крайней мере, в NT 4 можно было использовать in/out. Подробностей уж не помню, чай больше 10 лет прошло.
Мои розовые очки
-
Goshadram
- Сообщения: 9
- ОС: Windows nCore
Re: LPT через Web страницу(Debian)
правельно«правильно»
у нас в школе нет учителя русского языка!!!
у нас в школе нет учителя русского языка!!!
-
NickLion
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: LPT через Web страницу(Debian)
А книжки почитать, посмотреть как умные люди пишут - не судьба? В конце-то концов, на украинском тоже не "правело", а "правило". Да и спеллчека два поставить на укр и рус - не проблема (у мну ещё и на англ). Короче - не отмазывайтесь
-
eddy
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: LPT через Web страницу(Debian)
Вам уже говорили: пишите простенький демон, который будет иметь suid-права, и запускаться либо вручную, либо при первом обращении браузера. CGI, который выводит информацию вам на веб-страницу может общаться с демоном при помощи, например, именованного канала. С другой стороны, если вам надо только изредка "дергать" параллельный порт, то не так уж и страшно оставить все, как есть.
У меня самого CGI для работы с железом через RS-232 имеет suid-бит, запускается при первом обращении в режиме демона и контролирует себе все железяки, общение с ним идет при помощи разделяемой памяти (т.е. веб-страница раз в n секунд отправляет XML-запрос, CGI их выдает, JavaScript отображает).
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка
-
Northsoft
- Сообщения: 14
- ОС: Linux Mandriva 2010 Free
Re: LPT через Web страницу(Debian)
Имхо если сильно надо - написать CGI-программу на Си, написать в ней то, что надо, и сделать:
gcc -o lpt.cgi lpt.c
mv lpt.cgi ~/public_html/cgi-bin/ <-- здесь должна быть папка, в которой находятся CGI-файлы (cat `locate httpd.conf` | grep ScriptAlias)
chown root ~/public_html/cgi-bin/lpt.cgi
chmod u+s ~/public_html/cgi-bin/lpt.cgi
gcc -o lpt.cgi lpt.c
mv lpt.cgi ~/public_html/cgi-bin/ <-- здесь должна быть папка, в которой находятся CGI-файлы (cat `locate httpd.conf` | grep ScriptAlias)
chown root ~/public_html/cgi-bin/lpt.cgi
chmod u+s ~/public_html/cgi-bin/lpt.cgi