ESP8266 отлично подойдет для использования в такой аппаратуре как IP-камерах, микрофонах, розетках, переносной электроники. Другими словами данный модуль способен подсоединить к Интернету хоть микроволновку или холодильник, все ограниченно только вашей фантазией.
Существует целая линейка таких плат разных моделей, которые отличаются исполнением,колличеством выводов, рабочими параметрами
Существуют 2 основных пути использования ESP8266:
1) В качестве моста uart-wifi, в этом случае потребуется любой другой сторонний микроконтроллер. Который будет использоваться для управлением самим модулем, т.е. для считывания или передачи различного рода информации.
2) Сам wifi модуль будет выступать и в качестве микроконтроллера так и в роли wifi приема передатчика.
В первым случае потребуется специальная прошивка для самого МК чтобы коммутировать с esp8266. Для любителей Arduino в инете уже есть готовые библиотеки для коммутации с ним.
Во втором случае нужно будет писать прошивку для самого модуля wifi, что на мой взгляд более сложно. Очень привлекательная стоимость данного модуля порядка 200р если заказывать с AliExpress
Синтаксис:
AT | AT OK |
Тест |
AT+RST | AT+RST | Перезагрузит модуль |
AT+GMR | AT+GMR 00160901 OK |
Версия прошивки |
AT+CWMODE=<mode> | AT+CWMODE=1
OK |
Режим работы модуля <mode>: 1-клиент 2-точка доступа 3-совмещенный |
AT+CWJAP = <SSID>,<PWD> | AT+CWJAP="HOME","password" OK |
Присоединиться к точке доступа <SSID> — имя точки доступа <PWD> — ключ |
AT+CWLAP | AT+CWLAP +CWLAP:(0,"",0) +CWLAP:(4,"Sosed",-77) +CWLAP:(1,"HOME",-54) OK |
Получить список видимых точек доступа Первый параметр — шифрование: 0 — open 1 — WEP 2 — WPA_PSK 3 — WPA2_PSK 4 — WPA_WPA2_PSK Второй параметр — SSID Третий параметр — чувствительность |
AT+CWQAP | AT+CWQAP OK |
Отключиться от точки доступа |
AT+CWSAP=<ssid>,<pwd>,<chl>, <ecn> | AT+CWSAP="TEST","12345678",5,0 OK |
Установить точку доступа <ssid> — имя точки доступа <psd> — ключ <chl> — канал <ecn> — шифрование, см AT+CWLAP |
AT+CWLIF | AT+CWLIF | Список присоединённых устройств |
AT+CIPSTATUS | AT+CIPSTATUS STATUS:3 +CIPSTATUS:0,"TCP","46.38.56.236",80,0 OK |
Статус TCP соединения Возвращаемый параметр — статус соединения 3 — соединение установлено 4 — нет соединения Первый параметер — сессия Второй параметр — соединение: TCP или UDP Третий параметр — IP Четвёртый параметр — порт Пятый параметр — неизвестен |
AT+CIPMUX=<mode> | AT+CIPMUX=0 OK |
Количество соединений 0 — одно соединение 1 — мультисоединение (до 4-х) |
AT+CIPMODE=<mode> | AT+CIPMODE? +CIPMODE:0 |
Режим передачи данных <mode> — неизвестно |
Для одного соединения (+CIPMUX=0): AT+CIPSTART=<type>,<adr>,<port> Для мульти соединения (+CIPMUX=1): AT+CIPSTART=<id>,<type>,<adr>,<port> |
AT+CIPSTART="TCP","alex-exe.ru",80
OK … Unlink |
Соединение TCP/UDP <id> — идентификатор соединения <type> — тип соединения: TCP или UDP <adr> — адрес IP или URL <port> — порт |
Для одного соединения (+CIPMUX=0): AT+CIPSEND=<length> Для мульти соединения (+CIPMUX=1): AT+CIPSTART=<id>,<length> |
AT+CIPSEND=53 > GET /links/links.html HTTP/1.0 Host: alex-exe.ru busy SEND OK +IPD,233:HTTP/1.1 200 OK |
Отправить данные <id> — идентификатор соединения <length> — количество отправляемых данных Передаваемые данные отправляются после приглашения > , после ввода команды.е |
+IPD,1024:<html> <head> <title>Alex_EXE — Сайты</title> … обрезано … OK |
Приём данных Первый параметр <id> — идентификатор соединения (для +CIPMUX=1). Возвращает количество прочитанных байт, после двоеточия возвращает принятые данные. Принимает по 1024 байта, разделяя. |
|
Для +CIPMUX=0: AT+CIPCLOSE Для +CIPMUX=1: AT+CIPCLOSE=<id> |
AT+CIPCLOSE OK Unlink |
Закрыть соединение Единственный параметр <id> для мультипоточного режима — идентификатор соединения |
AT+CIFSR | AT+CIFSR 192.168.1.208 |
Получить IP адрес модуля |
AT+CIPSERVER=<mode>,<port> | AT+CIPSERVER=1,8888 OK |
Поднять сервер <mode> — режим скрытности 0 — скрыт 1 — открытый <port> — порт |
AT+CIPSTO=<time> | AT+CIPSTO=180 OK |
Установить время одной сессии на сервере <time> — время сессии в секундах, от 0 до 28800. |
В данном примере посылаем AT комманды через последовательный монитор Arduino IDE модулю и получаем ответ от него ответ.