skyled 0 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба На основе WIZ200WEB хочу иметь доступ к управлению устройством посредством WEB-браузера, в т.ч. с мобильного. В ту платку нужно загрузить rom-файл. Программа для его конвертации есть. Чтобы с ее помощью получить rom-файл нужно написать саму web-страничку. Вот теперь и возник главный вопрос как и в чем можно написать эту страничку? А как сделать так чтобы я на страничке ткнул в надпись, а плата отправила по USART нужную последовательность? Что можно почитать чтобы понять идею? Спасибо. WIZ_EmbeddedWebServser_User_Manual_V1_0_2.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mempfis_ 0 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба Вам нужно на запросы браузера отправлять web-странички. Например mozilla при попытку связи отправляет get-запрос GET / HTTP/1.1 User-Agent: Opera/9.62 (Windows NT 6.1; U; ru) Presto/2.1.1 Host: 192.168.0.1 Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: uk-UA,uk;q=0.9,en;q=0.8 Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1 Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0 Connection: Keep-Alive Вы можете вернуть ей web-страницу - напр. я возвращаю примитивную страницу ввода пароля (можете набрать её в блокноте, сменить расширение на html и открыть браузером) <html> <body> <form action=http://192.168.0.1/ method=post> Password<br> <input type=text name=ps size="6" maxlength="6"/><br> <input type=submit value=SUBMIT> </form> </body> </form> </form> Нажимаете на кнопку SUBMIT браузер методом post отправляет то что было введено в поле ввода. А там уже можете проверить пароль, вернуть другие страницы с другими полями, гипрессылками, надписями и т.д. Почитайте о тегаx html - особенно о html, body, input, br. В opera 10.x можно просматривать и редактировать коды web-страниц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
skyled 0 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба Мне пока совсем не понятно как установить взаимосвязь между нажатием кнопки на страничке и конкретным действием МК на плате. Даже идеи не представляю пока. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба На основе WIZ200WEB хочу иметь доступ к управлению устройством посредством WEB-браузера, в т.ч. с мобильного. В ту платку нужно загрузить rom-файл. Программа для его конвертации есть. Чтобы с ее помощью получить rom-файл нужно написать саму web-страничку. Вот теперь и возник главный вопрос как и в чем можно написать эту страничку? А как сделать так чтобы я на страничке ткнул в надпись, а плата отправила по USART нужную последовательность? Что можно почитать чтобы понять идею? Спасибо. WIZ_EmbeddedWebServser_User_Manual_V1_0_2.pdf Ну из мануала ссылку на который вы дали действительно не понять как они предлагают управлять чем-то. Реализовали ли они это способом Get или способом Post или у них вообще поддержка CGI не организована. Не удивлюсь если китайцы в своей демке сделали какой-нить примитив который кроме как для зажигания светодиодов ни для чего не годится. Видно только, что отдельного модуля поддержки CGI у них в сорсах нет, а значит придется многое дописывать самим юзерам по обработке HTTP запросов Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
skyled 0 12 апреля, 2011 Опубликовано 12 апреля, 2011 (изменено) · Жалоба Ну из мануала ссылку на который вы дали действительно не понять как они предлагают управлять чем-то. Реализовали ли они это способом Get или способом Post или у них вообще поддержка CGI не организована. Не удивлюсь если китайцы в своей демке сделали какой-нить примитив который кроме как для зажигания светодиодов ни для чего не годится. Видно только, что отдельного модуля поддержки CGI у них в сорсах нет, а значит придется многое дописывать самим юзерам по обработке HTTP запросов Хоть они и корейцы, но действительно ничего мне пока не ясно. Может порекомендуете что-то подобное с большей степенью ясности? Насколько сложно будет что-то дописывать? Они для примера дают вот такой проект для mega128, что на борту. Может прояснит что. Я совершеннейший новичок в этих делах (ethernet-tcp/ip). Нужны подсказки и советы.ex03_webserver.rar Изменено 12 апреля, 2011 пользователем skyled Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 16 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба Хоть они и корейцы, но действительно ничего мне пока не ясно. Может порекомендуете что-то подобное с большей степенью ясности? Насколько сложно будет что-то дописывать? Они для примера дают вот такой проект для mega128, что на борту. Может прояснит что. Я совершеннейший новичок в этих делах (ethernet-tcp/ip). Нужны подсказки и советы.ex03_webserver.rar Написали уже, с чего начать. С изучения основ HTTP и HTML. написать в блокноте <HTML> <HEAD> <TITLE>Заголовок хелловорда</TITLE> </HEAD> <BODY> Хелловорд </BODY> </HTML> , поиграться немного. Это нулевой уровень. Дальше разбираться с кишками парсера HTTP из вашего примера, искать похожие буквы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
skyled 0 12 апреля, 2011 Опубликовано 12 апреля, 2011 (изменено) · Жалоба Написали уже, с чего начать. С изучения основ HTTP и HTML. написать в блокноте <HTML> <HEAD> <TITLE>Заголовок хелловорда</TITLE> </HEAD> <BODY> Хелловорд </BODY> </HTML> , поиграться немного. Это нулевой уровень. Дальше разбираться с кишками парсера HTTP из вашего примера, искать похожие буквы. А где кишки искать? Ну положим я разберусь с языком HTML - HTTP. Ну напишу в блокноте и все получится. Что толку если сама идея взаимосвязи HTTP - Mega128 мне пока непонятна. Да и из-за преобразования в rom-файл наверняка все усложнится. Изменено 12 апреля, 2011 пользователем skyled Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 16 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба А где кишки искать? Ну положим я разберусь с языком HTML - HTTP. Ну напишу в блокноте и все получится. Что толку если сама идея взаимосвязи HTTP - Mega128 мне пока непонятна. А идея в том, что в ваше устройство приходит 2 типа запросов - Get или Post. По какому-то из существующих каналов связи (UART/Eth/Etc). Из большого количества буков вы выковыриваете небольшой кусочек информации - что именно от вас хочет пользователь. И генерируете для него ответную страницу, примерно как я написал, но посложнее, конечно. В простейшем случае можно заготовить несколько шаблонов ответов, а в нужные "клеточки" вписывать нужные значения. Но для начала всё-таки поиграйтесь со статическими страничками на компе, или на narod.ru попробуйте что-нибудь сваять. Всёж немного понятнее станет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
skyled 0 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба Меня на первое время вполне бы устроило только знать куда нажал пользователь на страничке. Что бы такое почитать чтобы понять как и откуда выковыривается то, что мне нужно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 16 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба Меня на первое время вполне бы устроило только знать куда нажал пользователь на страничке. Что бы такое почитать чтобы понять как и откуда выковыривается то, что мне нужно? http://ru.wikipedia.org/wiki/HTTP Обычно в этом случае отправляют запрос Post Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба Хоть они и корейцы, но действительно ничего мне пока не ясно. Может порекомендуете что-то подобное с большей степенью ясности? Насколько сложно будет что-то дописывать? Они для примера дают вот такой проект для mega128, что на борту. Может прояснит что. Я совершеннейший новичок в этих делах (ethernet-tcp/ip). Нужны подсказки и советы.ex03_webserver.rar Начинайте анализ со строки 397 в файле main.c С этого места они начинают просматривать информацию которая пришла с вашего броузера методом POST. Из всех файлов в вашем примере метод Post имеет только страница ipconfig.htm. Откройте ее и увидите описание формы начинающееся со строки <form action="NETCONFIG.CGI" name="form1" method="post"> (лучше это делать в среде Dreamweaver ) Ключевое слово здесь: method="post" Далее ниже будет строка <input type="submit" value="Network Config" action="NETCONF.CGI"> Это описание самой кнопки. Здесь важна фраза action="NETCONF.CGI" Так вот файл main.c ищет в HTTP запросе надпись типа NETCONF.CGI и находит ее в строке 458 с кодом if(strstr(name,"NETCONFIG.CGI")) после чего начинает парсить параметры идущие в HTTP запросе вслед за NETCONF.CGI в функции cgi_ipconfig Какие они там будет зависеть от содержания формы с method="post" Имена параметров кодируются строками вида <input name="dns" ... И величины строками вида value="$DNS_SERVER_IP$"> Запись $DNS_SERVER_IP$ означает не саму величину, а шаблон на место которого ваш WEB сервер вставит реальное значение когда будет выдавать страницу в ваш броузер. Эта технология называется SSI (server side includes). (А обсуждаемая технология называется CGI) Итого в процедуре cgi_ipconfig вы могли бы при обнаружении интересующего параметра послать его величину в UART. Само название параметра и его значение должны быть написаны в форме HTML с кнопкой на вашей странице. Более детально поймете когда снифером посмотрите пакеты отправляемые и принимаемые броузером по протоколу HТTP. Мутными здесь остаются моменты насколько объемными могут быть POST запросы и откуда прога будет брать для них память. Также при синхронном стиле выполнения процедур отправка в порт будет тормозить прикладной стек. Ну и неясно как разруливать аутентификацию и доступ нескольких пользователей одновременно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
skyled 0 12 апреля, 2011 Опубликовано 12 апреля, 2011 (изменено) · Жалоба Мутными здесь остаются моменты насколько объемными могут быть POST запросы и откуда прога будет брать для них память. Также при синхронном стиле выполнения процедур отправка в порт будет тормозить прикладной стек. Ну и неясно как разруливать аутентификацию и доступ нескольких пользователей одновременно. Пользователь может быть только один. Приложение будет индивидуального использования. Ресурсы - на плате есть внешняя память (ОЗУ и флеш). На счет тормозов прикладного стека так я понимаю W5300, что на плате, должна разруливать это дело. Весь ethernet на ней держится (как я понимаю, а иначе зачем она там). P.S. Спасибо за подсказки. Пытаюсь разобраться, хотя пока мало что понятно. Иерархию взаимоотношений в программе пока не вижу толком. Изменено 12 апреля, 2011 пользователем skyled Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Слесарь 9 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба Я управляю устройствами по WEB с помощью PIC18F67J60. Этот контроллер уже содержит модуль Ethernet. Микрочип предлагает библиотеку TCP/IP Stack, в библионеке есть все необходимое для работы с HTTP протоколом. Так же есть, для удобства виндовс прога конвертор заранее заготовленных HTML страничек с ссылками эдитами, кнопками и картинками, в специальный С код для подключения к проекту на языке С, к другим С файлам программы контроллера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 4 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба думаю для начала вам стоит установить web сервер под винду или линукс, на вашу рабочую машину. Чтобы понять как это все работает. Далее начать изучать html, потом навалять свой cgi скрипт, а потом javascript и ajax. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Слесарь 9 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба думаю для начала вам стоит установить web сервер под винду или линукс, на вашу рабочую машину. Чтобы понять как это все работает. Далее начать изучать html, потом навалять свой cgi скрипт, а потом javascript и ajax. А зачем CGI и яваскрипт ajax ? Ведь для управления устройством по WEB достаточно поверхностного знания HTML и боле-менее HTTP, совсем чуть-чуть TCP/IP. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться