Содержание
Интернет-магазин
Компания Microchip поддерживает свою бесплатную реализацию TCP/IP стека уже много лет. Стек оптимизирован для использования с микроконтроллерами семейств PIC18, PIC24, dsPIC и PIC32. Стек делится на несколько слоев, каждый из которых имеет доступ к соседнему через различные сервисы.
Предлагаемый Microchip стек протоколов TCP/IP имеет следующие особенности:
Необходимое Программное обеспечение:
Для начала, необходимо отметить, что библиотека хорошо структурирована и легко перенастраивается под использование тех или иных сервисов TCP/IP, любой тип контроллеров Microchip, внешнюю периферию.
За конфигурацию «железа» отвечает заголовочный файл HardwareProfile.h, за настройки стека – TCPIPConfig.h. Соответственно, если мы используем не готовую демонстрационную плату, а что-то свое, то в файле HardwareProfile.h нам необходимо «переподключить» используемые выводы микроконтроллера к индикатору, светодиодам, кнопкам, внешней памяти и пр.
Чтобы добавить или исключить те или иные сервисы стека TCP/IP – нужно править файл TCPIPConfig.h. Большинство настроек реализовано в виде define:
#define STACK_USE_UART // Application demo using UART for IP address display and stack configuration #define STACK_USE_UART2TCP_BRIDGE // UART to TCP Bridge application example //#define STACK_USE_IP_GLEANING #define STACK_USE_ICMP_SERVER // Ping query and response capability #define STACK_USE_ICMP_CLIENT // Ping transmission capability //#define STACK_USE_HTTP_SERVER // Old HTTP server //#define STACK_USE_HTTP2_SERVER // New HTTP server with POST, Cookies, Authentication, etc. //#define STACK_USE_SSL_SERVER // SSL server socket support (Requires SW300052) //#define STACK_USE_SSL_CLIENT // SSL client socket support (Requires SW300052) ...
«Закоментаривая» или «раскоментаривая» те или иные строки мы подключаем к проекту те или иные сервисы, соответственно управляем функционалом устройства и размером получаемой прошивки.
Все просто? Да! Однако есть еще более простой способ конфигурации TCP/IP стека – утилита TCPIPConfig, входящей в состав библиотеки..
Запускаем TCPIPConfig.exe
Выбираем путь к конфигурируемому проекту, задаем нужно ли конфигурировать беспроводную сеть (Да, стек поддерживает и работу с Wi-Fi модулями ZG2100/ZG2101, MRF24WB0MA/ MRF24WB0MB и MRF24WG0MA/ MRF24WG0MB).
Рис. 1.
Далее выбираем необходимые в проекте протоколы. Для начала создадим простой мост Ethernet-UART.
Рис.2.
Обратите внимание, если навести указатель мышки на тот или иной пункт, то увидите подсказку. Так мост RS232-Ethernet будет использовать порт 9761.
Рис.3.
Задаем доменное имя платы и MAC адрес.
Рис.4.
Готово!
Рис.5.
Открываем в среде разработки MPLAB IDE наш проект, компилируем и прошиваем контроллер.
Рис.6.
На индикаторе платы Explorer 16 видем IP адрес платы, теперь можно открыть соединения через Ethernet и COM-порт (RS-232) и проверяем связь.
Рис.7.
Рис.8.
Связь есть! Все работает.
Таким простым способом мы настроили TCP/IP стек и реализовали передачу данных с UART (RS-232) через Ethernet и можем удаленно через сеть передавать файлы, отлаживать или управлять приборами и т.п.
Немного усложним задачу – добавим в проект web-сервер. Снова запускаем TCPIPConfig.exe, только теперь еще помечаем что нам нужен web-сервер.
Рис.9.
Дополнительно указываем имя заглавной html странички, место где будут храниться файлы нашего сервера (файлы хранятся не в виде исходных файлов html, jpg и т.п., а их нужно будет преобразовать в внутреннюю файловую систему MPFS с помощью соответствующей утилиты).
Рис.10.
Рис.11.
Компилируем, прошиваем проект, в браузере открываем адрес нашего web-сервера. Так как сервер пока пуст, то со страницы /mpfsupload выбираем и заливаем на сервер образ нашего «минисайта».
Рис.12.
Теперь мы получили готовый web-сервер и мост RS-232-to-Ethernet.
Рис.13.
Данный пример web-сервера содержит демонстрацию возможностей стека TCP/IP – отсылку e-mail, загрузку файлов, аутентификацию, настройку сетевых параметров узла (которые защищены паролем).
Рис.14.
Рис.15.
Как отмечалось ранее, TCP/IP стек совместим с микроконтроллерами семейств PIC18, PIC24, dsPIC и PIC32.
В качестве Ethernet-контроллера могут применяться:
Для обеспечения беспроводной связи по Wi-Fi стек поддерживает:
Дискуссия
Уважаемый pickit2, не могли бы Вы в статье добавить ссылки на необходимые компиляторы. Заранее благодарен.
ОК, см в начале статьи
Добрый День. Нужна консультация по запуску ZG2100/ZG2101 и MRF24WB0MA/MRF24WB0MB Wi-Fi модулей . Есть люди,которые в этом хорошо разбираются? спасибо
Очень уж кратко,вот бы рассказано было что от чего зависит и в ручную собрать проект под пинг…. Автоматом проект не очень хорош будет,пока не разберешься в внутри исходников.
Уважаемые! Какие именно PIC можно использовать? Только не дорогие. Столкнулся сбольшими сложностями.
PIC18F66J60, PIC18F67J60