[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP и СОКЕТЫ
Somoss
Всем доброго времени суток!
Есть один непростой для меня вопрос, надеюсь на вашу помощь.

Задача - подключение при помощи PHP-сценария, расположенного на web-сервере, к оборудованию, которое тоже в свою очередь подключено к нему.
Т.к. через HTTP-протоколы этого сделать нельзя, прошу совета.

Реально ли это сделать при помощи подключения через сокеты при помощи функции fsockopen?

Или же другой вариант - нужно использовать какую-то стороннюю программу, которая будет работать с оборудованием на сервере и передавать данные сценарию?

Заранее примного всем благодарен за помощь.



Спустя 19 минут, 9 секунд (24.05.2009 - 18:43) waldicom написал(а):
Можно, если Вы знаете протокол, по которому должны общаться веб-сервер и оборудование.

Спустя 8 минут, 18 секунд (24.05.2009 - 18:51) Somoss написал(а):
То есть, если оборудование и сценарий общаются на одном протоколе, то они должны друг друга увидеть и возможен взаимообмен данными?
Не могли бы дать ссылку на пример или описать поподробнее?
Нашёл только примеры обращения к страницам, но не оборудованию.

Спустя 16 минут, 57 секунд (24.05.2009 - 19:08) waldicom написал(а):
Я понял Вас так:
есть оборудование (пусть это будет контроллер управления светом в комнате). Этот контроллер принимает на входе команды по какому-либо протоколу и имеет определенный набор команд (включи, выключи, уменьши на Х люмен, увеличь на Х люмен и прочее). Теперь, если Вы знаете набор этих команд, то Вы можете общаться с контроллером хоть через веб, хоть через обычные приложения.

Такая задача стоит?

Спустя 21 минута, 50 секунд (24.05.2009 - 19:30) Somoss написал(а):
Да, да. Именно это.

Разумнее всего будет, я думаю, иметь список команд, которые будет знать оборудование и php-сценарий.

Например, на конкретный запрос сценария к оборудованию мы получаем конкретный ответ, описание которого прописано в сценарии и ему всё сразу становиться понятно.
Или же сценарий может заранее знать, что получит на входе какие-то переменные, которые так же описаны в нём, то их значение не будет для него непонятным набором.
О безопасности я думаю переживать не стоит, т.к. всё происходит локально. На всякий случай можно прикрепить шифрование.
Наткнулся на статью только что...здесь + новинкой для меня стали функции сокетов (раньше просто не приходилось решать подобные задачи).

Если я где-то выразился неправильно или предположил немного неверно, поправьте пожалуйста.
Так же очень интересно Ваше мнение по поводу тех ссылок, что я указал.
Собираюсь всё изучить. Могли бы подсказать - это то, что стоит прочесть или посоветуете что-то другое?

Спустя 13 минут, 7 секунд (24.05.2009 - 19:43) waldicom написал(а):
Гут. Тогда по-порядку.

Цитата
Разумнее всего будет, я думаю, иметь список команд, которые будет знать оборудование и php-сценарий.

Это я не совсем понял? По идее, у Вас уже должен быть список команд, которые понимает оборудование (или Вы только собираетесь разработать такой контроллер)? К тому же, надо знать, как обратиться к этому обрудованию (протокол, порт и все, что нужно для установления связи и отсылки/приема команд)

Цитата

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

Я думал так: вы через веб-интерфейс посылаете команду (через GET/POST). Скрипт обрабатывает эти массивы и формирует их них команду, которая понятна оборудованию. Затем, возможно, получает ответ (например "свет уменьшен на 100 люмен").
Цитата

Наткнулся на статью только что...здесь + новинкой для меня стали функции сокетов (раньше просто не приходилось решать подобные задачи).

Хорошие статьи, стоящие.

Спустя 40 минут, 29 секунд (24.05.2009 - 20:24) Somoss написал(а):
Цитата
По идее, у Вас уже должен быть список команд, которые понимает оборудование (или Вы только собираетесь разработать такой контроллер)?
Дело всё в том, что по идее то оно так, но пока что я не знаю этих команд.
На неделе будет оборудование и я всё изучу. Оборудование можно программировать под свои нужды. Пока всё что я знаю.

Цитата
К тому же, надо знать, как обратиться к этому оборудованию (протокол, порт и все, что нужно для установления связи и отсылки/приема команд)
Всё станет так же известно чуть позже.

Цитата
Я думал так: вы через веб-интерфейс посылаете команду (через GET/POST). Скрипт обрабатывает эти массивы и формирует их них команду, которая понятна оборудованию. Затем, возможно, получает ответ (например "свет уменьшен на 100 люмен").
Да, примерно или именно так ) только не знал, как получше описать, но алгоритм примерно такой.

Цитата
Хорошие статьи, стоящие.
Спасибо, уже начал изучать.

P.S. пока что вижу такой логический вывод:
1- нужно узнать, как обращаться к оборудованию (протокол, порт и все, что нужно для установления связи и отсылки/приема команд), это самое важное, т.к. построение алгоритма и логики работы, я думаю, не зависит от технических характеристик. Разве что могут быть ограничения на размер и тип передаваемых данных, но это ограничение можно обойти путём программирования;
2- изучить те статьи, в них есть именно то, что мне надо и станет ещё немного понятнее.
3- можно будет потом если что к Вам обратиться снова за помощью? Если да, вышлите пожалуйста мне в ЛС Email. Просто в ICQ стучаться не всегда удобно. Но номер я Ваш запишу, можно на всякий случай?

Спустя 24 минуты, 26 секунд (24.05.2009 - 20:48) waldicom написал(а):
Можно так же обсуждать сдесь: и форума польза (более менее уникальный контент) и может еще кому поможем. Но тут на усмотрение.

Email выслал. Хотя по мне, ICQ быстрее и удобнее.

Спустя 6 минут, 56 секунд (24.05.2009 - 20:55) Somoss написал(а):
Отлично! Тогда, если что свяжемся ещё. Спасибо большое за помощь.

P.S. при оформлении топика случайно написал в подзаголовке "Обращение к обрудованию". Как изменить? Для лучшей индексации поисковиками.

P.P.S. готово, снова благодарствую smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.