Беспроводные модули Wi-Fi
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
Wi-Fi в любительском проекте? Нет ничего проще!
Всем здравствуйте!
В этом посте я постараюсь убедить вас в том, что добавить поддержку Wi-FI к своему устройству на микроконтроллере можно абсолютно без проблем. И для этого не надо ни курочить свой любимый роутер и подпаиваться к выводам отладочного uart’а, ни ставить переходник usb-uart (что, конечно выход).
Я расскажу о двух модулях фирмы WizNet: WizFi220.
Вместо предисловия
Компания WizNet основана в 1998 в Корее и занимается производством сетевых решений. Спектр того, что компания производит, широк. Это и микроконтроллеры на ядре 8051 со встроенный PHY-контроллером, и отдельные SPI-управляемые контроллеры Ethernet, и модули Wi-FI, и макетки почти к каждой микросхеме.
Про первые два вида я мало чего знаю, поскольку с ними не работал. А про Wi-Fi довольно много.
Кому интересно — прошу под кат.
WizFi220
Отличается от WizFi210 более высокой мощностью сигнала и, как следствие, повышенным энергопотреблением.
Эта небольшая штука размером 32х24.5 мм имеет следующие характеристики:
- Вся настройка — через UART
- Время старта — 20 мс
- Относительно малое потребление: 34 мкА в режиме ожидания, 125 мА — приём, 250 мА — передача
- Поддерживает стандарты 802.11b/g/n.
- Поддержка следующих типов шифрования: WEP, WPA/WPA2-PSK, Enterprise EAP-FAST, EAP-TLS, EAP-TTLS, PEAP
- Температурный диапазон: -40℃… 85℃
- Напряжение питания — 3.3В
Распиновка модуля
Легко видеть, что в сам модуль много чего понапихано: SPI, UART, GPIO, I2C, ADC, JTAG. Но что из этого списка можно использовать — другой вопрос.
Простейшая схема подключения модуля
Здесь все предельно просто. Выводы CTS2, RX2, RTS2, TX2 идут к контроллеру. Если нет желания выделять какой-либо пин микроконтроллера под управление сбросом модуля, то EXT_RESETN можно подтянуть к питанию через резистор 10К или бросить в воздухе.
Вывод №25 (GPIO_21/CLK_11MHz) нужен для того, чтобы применить одну из двух стандартных настроек WizFI220.
- Два раза опустить в ноль на 300 мс с паузой между импульсами в 300 мс — включение режима Limited AP (максимум 3 клиента)
- Три раза опустить в ноль — включение ad-hoc
Светодиоды нужны для индикации происходящих в модуле процессов.
Начнём эксперименты
Все эксперименты будем проводить с помощью макетки WizFi220-EVB.
Которая для оценки возможностей WizFi220 — самое то.
Для включения модуля потребуется mini-USB кабель и переходник USB-RS232. После подачи питания синие светодиоды (что в правом нижнем углу) весело моргнут три раза. Это свидетельство того, что WizFi220 успешно запустился. Открываем любимый терминал и подключаемся к порту. Конфигурация порта: скорость 115200, 8 бит, 1 стоп-бит, контроль четности отключен.
И вводим туда первое, что в голову пришло AT.
Замечание: каждая команда должна заканчиваться символом CR (carriage return, 0x0D) иначе она не будет обработана.
Модуль должен весело отрапортовать
Те две буквы, которые сейчас были приняты модулем, назваются AT-командой. WizFi220 понимает множество AT-команд, описание к которым (порой весьма скудное) содержится в мануале.
Давайте теперь поднимем Limited AP. Сделать это можно небольшим числом команд.
AT+WD [OK] AT+WM=2 [OK] AT+WAUTH=0 [OK] AT+NDHCP=0 [OK] AT+NSET=192.168.55.1,255.255.255.0,192.168.55.1 [OK] AT+WA=MyCoolFreeAP,,8 IP SubNet Gateway 192.168.55.1: 255.255.255.0: 192.168.55.1 [OK] AT+NSTCP=2345 [OK]
- AT+WD — разрываем все соединения, если они были.
- AT+WM=2 — модуль будет работать в режиме Limited AP.
- AT+WAUTH=0 — отсутствует шифрование.
- AT+NDHCP=0 — отключен DHCP. Поэтому необходимы статические параметры при подключении к этой точке доступа.
- AT+NSET=192.168.55.1,255.255.255.0,192.168.55.1 — задаём адрес модуля, маску подсети и адрес шлюза.
- AT+WA=MyCoolFreeNet,,8 — задаём имя сети и канал, на котором она будет работать. Две запятые подряд означают то, что между ними стоит необязательный параметр.
- AT+NSTCP=2345 — поднимаем TCP — сервер на 2345 порту.
Всё, мы подняли точку доступа. Видите, как всё просто!
А помните tcp-сервер на 2345 порту? Мы ведь его не просто так поднимали. Подключитесь к сети MyCoolFreeNet, откройте браузер и введите в адресной строке 192.168.55.1:2345.
Вопрос: что делает браузер, когда пользователь вводит что-то подобное? Правильно, посылает GET-запрос. А что делает наш умный WizFi220? Он кидает текст запроса в UART. Если не верите, то можно легко убедиться в этом самостоятельно. Поэтому с помощью этого модуля и МК можно сделать что-нибудь, управляемое через Wi-Fi с собственной админкой.
WizFi220, равно как и WizFi210, имеет встроенную web-админку. Но она слабая и хилая. Вот её общий вид.
Резюме
WizFi220/210 хороший и недорогой (примерно $38) модуль для тех, кто хочет попробовать поработать с Wi-FI. И встроить его куда-нибудь. К примеру, в радиоуправляемую машинку.
С этим модулем я работаю около трех месяцев и могу сказать про него следующее.
Плюсы: малые габариты, малое энергопотребление, простая схема включения, простота настройки и работы, дешевизна.
Минусы: не очень хорошая документация, некоторые непредвиденные сюрпризы при работе.
Берите, работайте, получайте удовольствие!
Беспроводные модули Wi-Fi
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр
быстрый просмотр