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

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. Приходится заставлять роутер переподключаться к инету (это почемуто решает проблему хотя роутер судя по его таблице подключенных устройств по прежнему не видит комп, хотя это раз на раз не приходится, иногда он его засекает всетаки, иногда нет)

CrazyElk

Ребятыыы прочитал и страшно стало 😃.

Небольшой ликебез для начинающих WWW сервис-строителей. отталкиваясь от желания mozg

  • Клиенты тыкая на ссылки запускают программы на сервере,

Итак клиенты тыкая на ссылку (HTTP) всегда везде

  1. Просят установить соединение от своего компьютера (КПК, телефона) до компьютера указанного в ссылке. Указан он в первой в первая ее часть после типа протокола (http:\\) конкретно сюда на форум этот адрес rcopen.com - В процессе установления связи происходит много приседаний с бубнами, как то перевод имени в цифры (DNS) определение кому из физически достижимого оборудования поручить доставку (ARP) на сервере опеделение отвечающий за требуемый сервис (тот самый WWW сервер) - которые нам пока не важны но итог один - между двумя программами (броузер у клиента, WEB сервер на сервере) на разных компютерах установлен канал связи для передачи даных туда и обратно.
  2. по установленному каналу связи программа бровзер передает серверу фразу в стиле - GET <все что стоит в ссылке после имени сервера> HTTP/1.1. (для этой ветки GET /index.php?showtopic=84957&st=20 HTTP/1.1.) Которая по замыслу создателей WWW должна была указать на конкретный файл лежащий на сервере (вот такой странный файл якобы в корне с именем /index.php?showtopic=84957&st=20 ) коей надо было серверу открыть прочитать и все содержимое вернуть по каналу связи обратно бровзеру. В простейшем случае это так и есть файл содержимое которого HTML страница читаетется а содержимое передается по каналу связи клиентской программе бровзеру. После чего они говорят друг другу good bye и забывают друг о друге. Это в простейшем случае.

В более сложном случае, а соответствее случая сложному определяется web сервером обрабатывающим крик пользователя (Apache, IIS, Tomcat …) согласно своих настроек и разумения чуть чуть сложнее. Программа web сервер говорит —а понЯл на самом такого странного файла какой просит клиент на сервере нет. Но согласно моих настроек есть программа (скрипт, модуль …) которые если из попросить (запустить исполнить) передав им все что тут мне прислал клиент вернут мне готовое содержание которое я и перешлю клиенту . После чего web сервер запускает внешнюю программу исполняет скрипт, инициирует сервлет … (и еще тысячу и одни вариант что там ему подсказывает его его конфигуцрация) а результат работы этой программы (скрипта, JSP, ASP …) возвращает пользователю пол видом содержимого запрашиваемого файла. В нашем случае это скорее всего по куче признаков косвенных (99,999% 😃 это программа или модуль apache интерпритатор PHP который по переданной ему строке сообразит что надо взять файл скрипта index.php создать переменные showtopic и st присвоить им значения 84957 и 20 после чего исполнить все что написано в index.php а результат вернуть WWW серверу)

Ограничений на то что может делать программа вызываемая WWW сервером как она разбирает даные присланные пользователем xnj dspsdftn нет - это ее личное дело. Ограничений тут практически НИКАКИХ. Она может в свою очередь обращаться совершенно по другим правила к другим компьютерам, дергать порты того на котором она крутится обращаться к базам данных - что хочет то и делает (настолько наcколько позволяют администраторы компютера на котором она исполняется). За время прошедшее с начала зарождения WEB наработан много стандартных и проверенных путей как именно писать и подключать к WEB серверу программы (скрипты, JSP, …) разбирать даные ти т.д. и т.п. Но принципиальных ограничений и/или обязательных правил практически НЕТ. Хоть из BAT файла с помощью команд echo можно дать ответ. Главное чтобы получившая ответ программа (бровзер) догадалась что именно ей дали в ответ на ее крик хАчу (GET …) и как это присланное отобразить на экране ( или сохранит на диск, передать во внешнюю программу на клиентском компютере …). Обычно присылают HTML и бровзер просто его рисует на экране (в настоящий и момент ха словом “просто” крыться может много вплоть до того что в этом HTML пришлют целую программу оперативно прерисовывающую картинку по данным косультациий с сервером – AJAX, applet, flash программа …)

TCP/IP канал связи откуда бы его ни начинал клиент (провода, GPRS, WiFI, WiMAX, E_VDO ) и на каком бы устройстве не крутился бровзер (нотебук, КПК, телефон) используя стандартные протоколы можно дотянуть хоть до контроллера упаковав хоть в RS232 (протоколы PPP, SLIP) а и соответствующий стек TCP/IP на COM линии + простенькую программу WWW сервера разбирающую клиентский крик хАчу (GET …) упихать в туже мегу. Хоть последнее вовсе не обязательно можно все WWW HTML оставить на другой машине сервере, а контроллер звать как удобнее LPT, COM, USB из которых программа запускаемая WWW сервером для формирования ответа клиенту вытащит даные и сделает ответ для клиента. Контроллер станет программно проще.

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

WBR CrazyElk

P.S. Сами понимаете что крик клиента можно обработать в принципе как угодно и чем угодно. Используя стандартные компоненты apache, PHP, MySQL … мы просто минимизируем обьем собственного труда для достижения цели и в зависимости от предпочтений и/или возможностей можно взять совсем другой набор (Tomcat, jsp, applet-ы и servlet-ы), (IIS, ASP, activeX) - кому чего удобно иной раз бывает удобнее с 0 чем прикручивать монстра скажем для сервиса который все навсего возвращает - 1 число - температуру градусника.

Кстати часто можно и выгоднее сделать так чтобы контроллер таки имел WEB сервер и таки обрабатывал очень ограниченный круг запросов возвращая простые ответы данные через HTTP в одном из из популярных WWW форматов лутше всего в XML по ряду причин. ПОсле чего можно просто разместить все WWW формирование на сервере у хостера и программа на том языке/скрипте который разрешает хостер при получении запроса от клиента в свою очередь запросит у расположенного черт знает где через HTTP контроллера используя его стандартные запросы ( то что ему передают в GET) даные отформатирует их красиво сделает для клиента страницу WWW морды сформировав по данным нужный HTML. И спрашивать программа у хостера может контроллер по IP и своего сервера не надо и контроллеры по миру могут быть раскиданы . … короче много плюсов - хотя и минусы есть у подхода.

УФ.

mozg

ЫЫЫ что-то никак. не хочет работать 😵 .

Как я понимаю, DHCP раздаёт IP-шники компьютерам локальной сети.

Если его отрубить, поставить на один из компьютеров локалки выделенный ISP IP - 84.204.187.X, Gateway - 84.204.187.Y, DNS server - 10.2.0.10, а на роутер DI-524 В настройки LAN выставить IP - 84.204.187.Y и Subnet Mask - 255.255.255.0, то… ничего не работает. А вроде - должно.

Если сделать то-же но IP начинаются со 192,168 - то что-то работает. Странно…

Как я понимаю IP сервера должно быть таким, который выделил ISP, чтобы по одному IP и из локалки и из интернет сайт был виден (с локалкой проблем - нет)
DMZ - Хорошо, но первые 3 байта должны быть такими, как у роутера (у меня - 192,168,11), а IP, выделенный ISP - начинается с 84.204 😃

CrazyElk

В великом многообразии IP адресов желанием левой пятки разработчиков были выделены следующие диапазоны 10.*.*.*; 192.168.*.*; 127.0.0.0 ДЛЯ ВНУТРЕННЕГО ИСПОЛЬЗОВАНИЯ. Ничего особо кримнальтного в этих адресах нет за исключение того что 127.0.0.0 никогда не выйдет за преды компьютера а любые пакеты с адресами из 10 и 192.168 маршрутизатор находящийся на границе внутренней и внешней сети откажется выпускать наружу ибо назначение этих адресов адресация внутри собственной сети.

DHCP - раздает адреса компьютерам сети так как его сконфигурирует администратор. Чей DHCP тот и администрирует. ISP как сущность жадная до чужого добра выделяет обычно 1 единственный адрес для одного единственного устройства имеющегося у пользователя - об остальных компьютерах, роутерах, свичах и прочей сетевой мелочи он знать не хочет в глаза не видит (более того иногда пытается запретить ее использование совершенно не обоснованно). Поэтому пользователь должен сконфигурировать САМ свою сеть так чтобы его сетевое оборудование имея или получая от DHCP выдуманные с потолка адреса из диапазонов subNet 10 и/или из диапазона subNet 192.168 при общении между собой использовало их, а при общении с внешним миром поручало бы всю работу тому единственному и не повторимому устройству имеющему на внешнем интерфейсе (интерфейс соедененый с провайдером) адрес выделенный ISP от своего имени (адреса). С точки зрения внешнего мира в сети у пользователя есть один единственный адрес он и жнец и швец и на дуде игрец. На котором логически расположены все сервисы и сервера к которым захотел миру дать доступ пользователь (где именно располагаются на каких серверах и адресах реально внутри сетки пользователя эти сервера внешнему миру глубоко безразлично логически они все располагаются на единственном адресе том который выделил ISP и адрес этот может быть назначен толко одному устройству). Другое дело что современному устройству можно растолковать конфигурированием если таки поступает запрос на соединение с этим адресом по порту XXX то будь добр передай этот запрос во внутреннюю сетку на арес такой то порт такой то а его ответы оттранслируй обратно от своего имени (адреса) - это PortMapping. И наоборот если поступит запрос от когонибудь из внутренней сети наружу отправь его наружу от своего имени а полученный ответ верни тому кто рвался на волю - тот самый NAT. И волки сыты и овцы целы снаружи считают что это все делает единственный и неповторимый супер сервер с выделенным IP, а в сетки пользователя туда сюда обратно всем серверам приятно в строгом соответствии с политикой партии (то биш настройками сети). Так что IP сервера ожет быть любым, а если ему назначить IP выделенный ISP то именно этот сервер именно этим интерфесом (сервер может иметь много интерфейств сетевых карт, модемов и т.д. а адреса имеют именно интерфейсы) должен быть соединен с ISP и обслуживать проходящий трафик всей сети. Иначе выделенный адрес достается роутеру, соединяющему сетку пользователя с ISP, а он уже должен быть сконфигурирован так чтобы часть или все входящие запросы на соединение перебрасывать на сервер и ответы по этим запросам/каналам обратно.

WBR CrazyElk

Самовольно хватать ареса вне диапазонов 10 и 192.168 черевато аяяем и не работоспособностью. Современные оутеры и ADSL модемы (а точнее их производители) достаточно умыны чтобы по умолчанию в режиме воткнул пользуюсь сразу организовать пользователю и NAT и раздачу адресов по DHCP но вот если больше надо прикладовать руки

mozg

Спасибо. Понимания добавилось.
Очень не густо со свободным временем. Ещё немного повозился.

Попытался настроить apache на port binding, на что он мне сакзал

could not bind to address 192.186.11.188 port 80
could not bind to address 84.204.187.110 port 80

Настроил Virtual server на адрес своего компьютера - 192,168,11,188, public port - 80, private port - 80, protocol - TCP
настроил Demilitarized Zone на адрес своего компьютера.

Пока - безуспешно
---------

собераюсь покупать этот конструктор:

www.mntc.ru/projects/rc/

чтобы баловаться с вводом - выводом (они говорят к 19-му числу новая партия будет готова).

В принципе, ничто не мешает купить то-же в Чип и Дип и не возится с транспортной компанией и переводом денег… Только что-то беспаечной макетной платы у них не было, когда я в последний раз туда заходил.

CrazyElk

2 mozg чтобы баловаться с вводом - выводом (они говорят к 19-му числу новая партия будет готова).

знаете это настораживает. На forum.ixbt.com/?id=48 авторы и разработчики этого конструктора появлялись с просьбами о комментариях и предложениях по его поводу другого их детища конструктора Кулибин . Люди там на форуме не злобные поэтому активно помогали в становлении идеях и пожеланиях. Настолько активно что авторы конструктора Кулибина по собственному почину решили отблагодарить самых активных участников выдачей бесплатного набор о чем и объявили громкогласно на форуме кому именно. Прошел ГОД никто ничего не получил бесплатно. Более того появился человек который слезно пожаловался что он заказал оплатил и вот уже месяц бегает за этой контрой в тщетной попытке получить заказанное и оплаченное (то у представителей нет веремени, то некомплект, то командировка, то они могут он не может …). Я оставил наблюдение на фазе через три дня опять попытаюсь встретится и получить.

Как справка ВСЕ компоненты этого набора доступны по отдельности в розницу в обычных магазинах. В частности то что они называют процессорм в специализированных магазинах (например терра электроника ) называется Head . Программы это свободно распрастраняемый софт бесплатно доступный у авторов. Единственная ценная часть этого пакета это собственно сам ПАКЕТ тоесть то что вы не собираете а все собранно и даны примеры для начального освоения. Но в свете выше изложенного на меня эта фирма произвела странное впечатление мягко говоря слегка не обязательного партнера. Если само руководство не является основной ценностью которую вы хотите купить то ябы не рекомендовал. Сходите на указанную мной конференцию поспрошайте местных гуру что вам лутше всего взять для ваших целей (цели естественно распишите настолко насколько подробно себе их представляете) там как раз AVR & ARM любители не злобные подскажут .