Есть один непростой для меня вопрос, надеюсь на вашу помощь.
Задача - подключение при помощи 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-сценарий.
Например, на конкретный запрос сценария к оборудованию мы получаем конкретный ответ, описание которого прописано в сценарии и ему всё сразу становиться понятно.
Или же сценарий может заранее знать, что получит на входе какие-то переменные, которые так же описаны в нём, то их значение не будет для него непонятным набором.
О безопасности я думаю переживать не стоит, т.к. всё происходит локально. На всякий случай можно прикрепить шифрование.
Наткнулся на статью только что...здесь + новинкой для меня стали функции сокетов (раньше просто не приходилось решать подобные задачи).
Если я где-то выразился неправильно или предположил немного неверно, поправьте пожалуйста.
Так же очень интересно Ваше мнение по поводу тех ссылок, что я указал.
Собираюсь всё изучить. Могли бы подсказать - это то, что стоит прочесть или посоветуете что-то другое?
Разумнее всего будет, я думаю, иметь список команд, которые будет знать оборудование и 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 стучаться не всегда удобно. Но номер я Ваш запишу, можно на всякий случай?
P.S. пока что вижу такой логический вывод:
1- нужно узнать, как обращаться к оборудованию (протокол, порт и все, что нужно для установления связи и отсылки/приема команд), это самое важное, т.к. построение алгоритма и логики работы, я думаю, не зависит от технических характеристик. Разве что могут быть ограничения на размер и тип передаваемых данных, но это ограничение можно обойти путём программирования;
2- изучить те статьи, в них есть именно то, что мне надо и станет ещё немного понятнее.
3- можно будет потом если что к Вам обратиться снова за помощью? Если да, вышлите пожалуйста мне в ЛС Email. Просто в ICQ стучаться не всегда удобно. Но номер я Ваш запишу, можно на всякий случай?
Спустя 24 минуты, 26 секунд (24.05.2009 - 20:48) waldicom написал(а):
Можно так же обсуждать сдесь: и форума польза (более менее уникальный контент) и может еще кому поможем. Но тут на усмотрение.
Email выслал. Хотя по мне, ICQ быстрее и удобнее.
Email выслал. Хотя по мне, ICQ быстрее и удобнее.
Спустя 6 минут, 56 секунд (24.05.2009 - 20:55) Somoss написал(а):
Отлично! Тогда, если что свяжемся ещё. Спасибо большое за помощь.
P.S. при оформлении топика случайно написал в подзаголовке "Обращение к обрудованию". Как изменить? Для лучшей индексации поисковиками.
P.P.S. готово, снова благодарствую
P.S. при оформлении топика случайно написал в подзаголовке "Обращение к обрудованию". Как изменить? Для лучшей индексации поисковиками.
P.P.S. готово, снова благодарствую