Веб сервер на ARM микроконтроллере
Веб сервер на ARM микроконтроллере довольно популярная тема в сети. Ведь в те давние времена, хотя это было еще не так давно, когда только разрабатывались первые интернет приложения, компьютеры были медленнее и имели меньший объем памяти чем современный ARM микроконтроллер.
И тем не менее на них удавалось сооружать сервера и сети. Поэтому соорудить сервер на современном ARM микроконтроллере задача вполне разрешимая. А если плата с микроконтроллером содержит еще и внешнюю динамическую память то задача становится еще проще.
Не будем вдаваться в подробости работы Ethenet на ARM микроконтроллере. Это большая и объемная тема. В этом посте представлена последовательность запуска веб сервера на готовой отладочной плате SK-MLPC2478 от Starterkit. Отладочная плата выполнена на высоком уровне и является большим подспорьем ей подобным, в первую очередь по оптимальности таких характеристик как цена, качество, функциональность. Поскольку к плате прилагается только принципиальная схема и демо приложения без всяких к ним пояснений, то у тех кто впервые столкнулся с ARM_ами вполне могут возникнуть вроде-бы банальные, но неразрешимые вопросы. В частности тем кто мало знаком с сетями не удастся с наскоку запустить веб сервер на SK-MLPC2478.
Давайте рассмотрим порядок запуска веб сервера на SK-MLPC2478 на базе прилагаемого к ней демо приложения EasyWEB+test+HDMI. Приложение компилируется и загружается в контроллер с помощью IDE Keil через любой ARM-JTAG отладчик. Keil для ARM можно найти на торренте поиском по одноименному ключевому слову.
Итак перво-наперво нужно соединить прямым сетевым кабелем DSL модем или роутер и плату. В нашем случае рассматривается модем типа D-Link с дополнительными Ethernert гнездами типа Lan2...Lan4. Использовать можно, например, гнездо Lan2. Что касается демо приложения то, для того, чтобы запустить веб сервер нужно произвести некорые изменения в файле tcpip.h. В частности необходимо настроить IP адреса применительно для вашей сети. Нужно прописать IP адрес шлюза - Default Gateway. Его можно узнать по статусу сетевого соединения, как показано на картинке ниже.
#define GWIP_1 192 // standard gateway (used if remote
#define GWIP_2 168 // IP is no part of our subnet)
#define GWIP_3 1
#define GWIP_4 1
Далее неоходимо присвоить плате IP адрес в соответствии с имеющимся шлюзом - MYIP_4 должно быть в пределах 3...255, поскольку 1 - присваивать нельзя, а 2 - присвоено компу. Например так:
#define MYIP_1 192 // our internet protocol (IP) address
#define MYIP_2 168
#define MYIP_3 1
#define MYIP_4 15
После изменений необходимо откомпилировать демку и зашить ею контроллер. Далее просто набираем в любом браузере 192.168.1.15 и видим интернет страничку показанную на картинке выше. Это и есть ответ сервера на LPC2478. Но это еще не все. В данном случае сервер будет работать только в пределах вашей внутренней сети. Из Мира, тоесть посредством интернет к нему еще не добраться. А жаль. Теряется весь смысл затеи. Но выход достаточно прост. Необходимо сделать перенаправление http запросов из Мира на IP адрес новоиспеченного сервера. Чаще всего это делается с помощью так называемого виртуального сервера, который имеется в интерфейсе управления роутера или DSL модема. Например в модеме D-Link перенаправление можно включить набрав в браузере IP адрес вашего шлюза 192.168.1.1 - откроется веб интерфейс модема. Обычно перед этим потребуется ввести логин и пароль. Если они ранее не устанавливались то по умолчанию Логин - admin (или login) Пароль - password (или pass).
Далее нужно перейти по ссылке Advanced, а затем по ссылке NAT. На открывшейся странице появится ссылка Virtual Server переход по которой выведет на страницу включения перенаправления. Все устанавливается примерно так, как на картинке, с последующим нажатием на кнопку Save.
Далее можно закрывать веб интерфейс модема или роутера. Выключить и через 1...2 минуты включить питание. Теперь интернет запрос 192.168.1.15 можно делать из любой точки Мира. Ответом веб сервера на ARM будет все та же страница с заголовком Hello World. Ваш веб сервер заработал в полную силу. Далее все зависит от знания IDE Keil, языка С и фантазии. На базе такого сервера из интернета, а значит даже из мобильника, теперь можно управлять чем угодно - охранной системой, стиральной машиной, видеокамерой, пылесосом с вертикальным взлетом и т. п. Ваш дом теперь вполне может стать умным.
Электроника :
- Техника электроника (11)
- Полезная электроника (4)
- Электроника для всех (5)
- Техника для дома (6)
- Cхемотехника ПЛИС (11)
- Пректирование PCAD (4)
Программирование :
- Микроконтроллеры (9)
- ПЛИС VHDL Verilog (29)
- C++ Builder (7)
- Visual Studio C++ C# (7)
- Java programming (7)
- Matlab programming (4)
Сайтостроение :
- Сайтостроение HTML (5)
- Сайтостроение PHP (8)
- PHP CMS на файлах (3)
- Web инструменты (9)
- Полезное вебмастеру (11)
- SEO раскрутка сайта (4)
- PHP скрипты (3)
Реклама :
Книги и учебники :
- Шаблоны сайтов (6)
- Книги и учебники (2)
Компьютер и интернет :
Поиск по сайту :
Реклама :
Облако меток :
Бесплатная подписка :
Статистика :
- Популярность (3)
- Посещаемость (3)
- Поисковые запросы (3)