как нажать на ссылку тбо лампочка загорелась?

mozg

*Как нажать на ссылку, чтобы лампочка загорелась

Я занаю что вы подумали… 😵 но всёже.

Как сделать так, чтобы я зашёл на сайт с любой точки земного шара, нажал на ссылку и у меня дома загорелась лампочка (светодиод)?

(Это совсем не шутка мне действительно нужно сделать так)

6wings

если хочется именно “зайти на сайт и нажать конпочку”, то надо:

  1. чтобы сайт хостился дома
  2. компьютер с этим сайтом имел бы фиксированный внешний (паблик) IP для того, чтобы ресурс всегда однозначно определялся бы в Интернет. Этот компьютер не долен никогда выключаться и должен выполнять функцию НТТР сервера
  3. на сайте должен быть HTML код, который по нажатию кнопочки запускает некоторую программу на этом же компьютере
  4. программа должна уметь либо напрямую управлять напряжениями, например, на ножках LPT порта - в этом случае светодиод(ы) можно подключить туда, либо через какие-нибудь другие порты (например, USB-) общаться с исполнительным устройством, которое будет зажигать светодиод.
mozg

Ага значит итого: я перевожу свой тарифный план на выделенный IP, запихиваю динамики в линейный выход (вместо светодиода) и теперь осталось написать софтинку, которая при нажатии на ссылку вами запустит на моём компьютере проигрывание музыки.

остальсь разобраться со второй частью.

Может существуют готовые решения для этого случая?

6wings

думаю, что практически любой медиа-плейер, вызванный в формате командной строки с указанием имени проигрываемого файла, с этой задачей легко справится

Шифт

но ведь я так понимаю нужен какойто хостинг? тоесть даже если сайт фактически будет находиться на вашем компе, нужно доменное имя сайта зарегистрировать както? Как это осуществляется?

6wings

это называется не хостинг, а регистрация домена. Наличие домена для данной задачи не является обязательными, т.к. к сайту можно обращаться и непосредственно по IP адресу, например, так:
111.222.333.444
Конечно, использовать символическое имя вместо IP удобнее, но можно обойтись и без регистрации домена в том случае, когда на данном IP предполагается разместить всего один сайт.

mozg

Хмм что-то я не соображу. создал я на HTML страничку со ссылкой. а как теперь сделать так, чтобы при тыкании на ссылку с другого компьютера код исполнялся у меня а не на чужом компьютере? java script для этого не годится? нужно PHP или parser использовать? или как-то по другому?

Чему меня 5 лет учили… 😊

6wings

ничего для этого не надо, кроме того, чтобы эта страничка размещалась на сервере, а кнопке (не ссылке!) было бы приписано действие на обычном HTML. Учите этот самый HTML.

mozg

Ага начинаю понимать. итого:

Переходу на тарифный план с выделенным ip
устанавливаю софт, который делает из моего компьютера сервер
создаём сайт с кнопкой при нажатии на которую запускается что-то

Сейчас сделаю последний пункт

6wings

только учтите, что без сервера этот код не будет работать (т.е. не будет исполняться просто в браузере, т.к. он предназначен для выполнения на серверной машине, а не на клиентской)

Володимир
mozg:

*Как нажать на ссылку, чтобы лампочка загорелась

Я занаю что вы подумали… 😵 но всёже.

Как сделать так, чтобы я зашёл на сайт с любой точки земного шара, нажал на ссылку и у меня дома загорелась лампочка (светодиод)?

(Это совсем не шутка мне действительно нужно сделать так)

Есть другое решение, уже многократно обкатаное.
ГСМ-сигнализация с функцией управления внешней нагрузкой. Команду можно отправить с сотового, а можно и через интернет, все тем же старым СМС…
GSM контроллер CCU6225 - это гибко настраиваемая система контроля и управления. Может применяться для охраны квартир, офисов, гаражей, дач, складских помещений и автомобилей. Посредством встроенных реле, контроллер может коммутировать электрические цепи по команде владельца (DTMF сигналы), SMS команде или автоматически, по совокупности событий.
ССЫЛКА

mozg

Хмм интересный девайс, но мне нужно чтобы была вэб страничка с человеческим интерфейсом, чтобы я нажимал на пиктограму лампочти и она загоралась (и лампочка и пиктограмма), чтобы я мог зайти с КПК на сайт и управлять из того-же помещения, где нахожусь, или с другой стороны планеты. (а ещё нужно чтобы то-же работало через bluetooth, WiFi, локальную сеть)

На случай, если не будет интернет соединения и я буду находится в зоне доступа к локальной сети, где находится сервер.

Сейчас apache ставлю…

Шифт

А чегото я не пойму зачем нужно серверское ПО, теость апач там? Чтобы по хтмл управлялась машина на которой собственно и находится код? Или просто чтобы сайт был доступен по запросу из инета, теость соединяет странички хтмл’ные лежащие просто в какойто папке с интернетом?

6wings

Шифт прекрати демонстрировать свою безграмотность и в русском языке, и в этой предметной области.
Читать тебя просто ужасно во всех отношениях.

mozg

Серверное ПО нужно, чтобы сайт был доступен со всего шарика, где инет есть.

Хорошо бы вэб сервером КПК сделать…
Ещё лучше - контролер, но так, чтобы это было “быстро и просто” - чтобы не возится пару месяцев его программируя.
Может WAGO контроллер использовать или BECKHOFF

Завтра (уже сегодня) помучаюсь на работе с этим, но у нас там маки и времени возможно на это не будет.

Apache - установил, работает (на той-же машине). в локальной сети по localhost - не видет почему-то. Может из-за антивирусов, может я что-то не то делаю.

Перевести тарифный план на выделенный IP - пока не удалось. придётся звонить провайдеру.

Для батона я так понимаю такой HTML код должен быть:

<button onclick=“java script: alert(‘msg box’)”>click me</button>

lelik
mozg:

может я что-то не то делаю.

Не что-то, а все.

mozg

издевайтесь издевайтесь…

Выделенный IP - получил.

Но мой чудо сайт с кнопкой из инета - не виден. Разбераюсь… (машина к интернету подключена через роутер)

lelik
mozg:

издевайтесь издевайтесь…

Я абсолютно серьезен. интерфейс с адресом 127.0.0.1 (localhost) означает “эта” машина и пакеты на этот адрес на физический уровень не выходят. Javascript исполняется на стороне клиента, а не сервера.

mozg:

Но мой чудо сайт с кнопкой из инета - не виден. Разбераюсь… (машина к интернету подключена через роутер)

Ага. И рутер с NAT ? Да еще и в одну сторону ?

mozg

Ага. И рутер с NAT ? Да еще и в одну сторону ?

Не уверен. Локальная сеть из нескольких компьютеров подключена к интернет, и выделен для этого 1 IP адрес, кажется. значит наверное с NAT. дома меня сейчас нет, так что точно сказать - не могу. Какой-то D-Link с Wi-Fi -ной антенной стоит.

Вариант соединять напрямую - не годится, также как и распределать интернет через мой компьютер.

Насчёт java скрипта - ступил.

Похоже просто - не получится. Значит буду мучится.

smalltim

А зарегистрировать у себя на компуке ICQ и просто посылать туда сообщение, чтоб из динамиков “ку-ку” раздалось - не проще? 😃

И вообще, проще и надежнее всего с домашней машины мониторить сотояние какого-нибудь стороннего объекта, например, почтового ящика, и делать всё, что надо если приходит письмо с ключевым текстом. Письмо отправить можно откуда угодно 😃

Ну а если надо прямую связь со своей машиной, поставьте Hamachi, он через любой NAT пробьется, и запускайте Remote Desktop. Гугль поможет понять что такое в этих английских словах написано 😉

mozg

Мне нужен именно вэб интерфейс управления.

В конечном счёте всё должно выглядеть примерно так:
К контроллеру, например ATMega8535 присоединены устройства ввода-вывода: датчики температуры, влажности, кнопки, лампочки, платы управления сервоприводами и пр…
Контроллер через COM или LPT порт соединён с компьютером (контроллеров может быть много и все - не общей шине общаются бродкастовыми пакетами (как в DMX протоколе)).
Компьютер соединён с интернетом и локальной сетью и является вэб сервером.
Клиенты тыкая на ссылки запускают программы на сервере, которые управляют микроконтроллерами (через COM порт посылая соответствующие пакеты) или запускают программы, которые читают пакеты присылаемые контроллерами.
Или клиенты время от времени спрашивают у сервера “что изменилось” чтобы обновить информацию на дисплее (например там отображается температура) (тоесть HTML страница должна время от времени обновляться)

Клиенты должны иметь доступ к сайту (страницам сайта) (для разных клиентов понадобятся разные страницы) через все возможные соединения - WiFi, bluetooth, проводные.
Клиентами могут быть любые устройства, способные отображать вэб страницы - мобильники, КПК, компьютеры.

Короче - универсальная система - любые устройства ввода-вывода, любые типы связи, любые клиенты.

lelik
mozg:

Не уверен. Локальная сеть из нескольких компьютеров подключена к интернет, и выделен для этого 1 IP адрес, кажется. значит наверное с NAT. дома меня сейчас нет, так что точно сказать - не могу. Какой-то D-Link с Wi-Fi -ной антенной стоит.

Ну, у таких звериков обычно есть опция port forwarding. Но что бы это работало надо иметь фиксированный (обычно - динамический по DHCP) адрес сервера.

mozg:

Похоже просто - не получится. Значит буду мучится.

На самом деле это просто. Только понимать надо, что ты делаешь. И книжек “интернет для полных дебилов” тут недостаточно. Nothing personal 😃

smalltim

>Короче - универсальная система - любые устройства ввода-вывода, любые типы связи, любые клиенты.

Желтый снег? 😃

Шифт
mozg:

Не уверен. Локальная сеть из нескольких компьютеров подключена к интернет, и выделен для этого 1 IP адрес, кажется. значит наверное с NAT. дома меня сейчас нет, так что точно сказать - не могу. Какой-то D-Link с Wi-Fi -ной антенной стоит.

Вариант соединять напрямую - не годится, также как и распределать интернет через мой компьютер.

Насчёт java скрипта - ступил.

Похоже просто - не получится. Значит буду мучится.

У меня кстати была такая проблема когда пришлось в инет выходить через роутер с NAT, а я на своем компе всегда поднимал сервак контры чтоб с друзьями играть, я ее решил так (сначала пытался настроить переадресацию портов и т.д. - на скорую руку ничего не вышло а гемороиться не стал) нашел там такую опцию как DMZ. Вбил туда локальный адрес своего компа и вуаля - у меня работают все серверные приложения на компе и они видны из инета, тоесть типа как внешний айпи. В хелпе к роутеру вычитал что DMZ это:

DMZ (DeMilitarized Zone) is a part of an network that is located between a secure LAN and an insecure WAN. DMZs provide a way for some clients to have unrestricted access to the Internet.

Роутер у меня Trendnet какойто.

2 6wings я задавал вопросы не с целью постебаться и не с целью выставить на показ свою безграмотность а потому что мне это интересно и я хотел конкретно узнать то что спросил. Я узнал, спасибо mozg’у. Ну а с русским языком - я уже ничего поделать не могу. Вы можете меня засунуть в блек лист или как там называется и не будете видеть мои посты

P.S. А, блин, есть еще проблема с DHCP и адресами в сети, потому что если вручную задать контроллеру сети на компьютере сетевой адрес то вообще ничего работать не будет а если отдаться на волю DHCP то он не факт что влепит вам тот адрес который у вас и был, но у меня пока все работает, тоесть я забил допустим в поле DMZ в роутере адрес 192.168.0.2 и потом руками выставил этот же адрес на компе на котором сервер, потом сбросил адрес, DHCP роутера мне тут же выдал такой же и с тех пор он мне всегда дает такой адрес, даже после выключения компа или выключения/рестарта роутера. Я думал в роутере можно както управлять DHCP, незнаю может по МАК адресу можно застолбить адрес за компом, но в своем не нашел такого. По этому сделал просто вот так как описал, пока работает. Правда тут недавно началась другая напасть, когда включаешь сначала компьютер а потом роутер то роутер не показывает компьютер мой в списке подключенных к нему по сети устройств, хотя инет работает и сетевое соединение есть, но вот сервер не работает, тоесть как раз тот самый DMZ. Приходится заставлять роутер переподключаться к инету (это почемуто решает проблему хотя роутер судя по его таблице подключенных устройств по прежнему не видит комп, хотя это раз на раз не приходится, иногда он его засекает всетаки, иногда нет)