Как подключить wifi-модуль к arduino

Программирование ESP8266 в Arduino IDE

Для удобства программирования на микроконтроллере в комплекте идут:

  • Компилятор кода программы типа GNU;
  • Библиотеки для работы со стандартами Wifi и TCP/IP;
  • Программные средства для загрузки данных в память чипа;
  • Интегрированная среда разработки программ.

Важно! Стандартная прошивка модуля позволяет ему управлять модулем с другого контроллера и организовать работу с Wifi и модемом. Помимо заводской прошивки есть также масса других готовых решений, настраиваемых с помощью веб-интрефейса

Программирование также возможно из среды разработки для Arduino. Она позволяет не только легко писать программы, но и загружать их в контроллер, прошивать его. Самое главное, что для этого не нужна сама плата Ардуино.

Функции, поддерживаемые микроконтроллером:

  • Большинство функций языка программирования Wiring;
  • Управление таймингом и delay’ем, позволяющие передать время, прошедшее со старта запуска чипа, завершить или приостановить выполнение кода;
  • Функции Serial, Serial1, которые аналогично Ардуино работают с данными и блокируют их запись или чтение по необходимости;
  • PROGMEM-макрос, позволяющий перемещать данные для чтения во flash-память;
  • I2C шина, которую нужно выбирать с помощью функции Wire.pins(int sda, int scl);
  • SPI и OneWire библиотеки.

Step 5: Board Nodemcuv2 (platform Esp8266, Package Esp8266) Is Unknown

IF YOU ARE GETTING THIS ERROR WHICH MANY PEOPLE DOES, as i have noticed,

you need to follow the steps below, to get rid of it…

Open arduino in your PC and then

step_1) goto FILE=> PREFERENCES or press «ctrl and comma» simultaneously.

step_2) goto the PATH mentioned at the Bottom of preferences screen, as shown HIGHLIGHTED IN A RED BOX in the picture above by clicking on it (ex- C:\Users\»Your Username»\AppData\Local\Arduino15)

step_3) Your PC will then open a folder in the File Explorer, as shown in picture above.

step_4) Now follow this Path as => packages ==> esp8266 ==> hardware ==> esp8266 HERE YOU WILL FIND TWO FOLDERS, REPRESENTING TWO VERSIONS OF «esp8266» DELETE THE OLDER VERSION, TRY UPLOADING THE SKETCH AGAIN,

AND THIS TIME THE SKETCH WILL BE UPLOADED, YOUR PROBLEM SOLVED :)Do comment if it helped…

Работа схемы

Схема устройства представлена на следующем рисунке.

Примечание: чтобы видеть ответы модуля ESP8266 на поступающие команды откройте монитор последовательного порта (Serial Monitor) в программной среде Arduino IDE.

В программе первым делом нам необходимо будет соединить наш Wi-Fi модуль с Wi-Fi роутером чтобы подключить Wi-Fi модуль к сети интернет. Затем мы должны сконфигурировать локальный сервер, передать данные на веб-страницу и закрыть соединение. Для этого нам необходимо выполнить следующую последовательность действий:

1. Сначала нам необходимо произвести тест Wi-Fi модуля при помощи передачи ему AT команды, он должен ответить OK.

2. После этого мы должны выбрать необходимый режим работы с помощью команды AT+CWMODE=mode_id , мы будем использовать Mode id =3. Полный же список доступных режимов выглядит следующим образом:
1 = Station mode (client) (режим станции, клиента)
2 = AP mode (host) (режим базовой станции, хоста)
3 = AP + Station mode (Yes, ESP8266 has a dual mode!) (режим станции + хоста – модуль ESP8266 поддерживает этот двойной режим).

3. Затем мы должны отсоединить наш Wi-Fi модуль от прежней Wi-Fi сети с помощью команды AT+CWQAP поскольку модуль ESP8266 по умолчанию автоматически соединяется с предыдущей использованной сетью Wi-Fi.

4. После этого можно сбросить модуль командой AT+RST – это необязательный шаг.

5. После этого мы должны соединить модуль ESP8266 с Wi-Fi роутером с помощью команды:AT+CWJAP=”wifi_username”,”wifi_password”.

6. После этого мы должны получить IP адрес с помощью команды AT+CIFSR, которая вернет нам IP адрес.

7. После этого нам необходимо задействовать режим мультиплексирования с помощью команды AT+CIPMUX=1 (1 для соединения с мультиплексированием и 0 для одиночного соединения).

8. Теперь сконфигурируем ESP8266 как сервер с помощью команды AT+CIPSERVER=1,port_no (port может быть 80). Теперь наш Wi-Fi готов. В представленной команде ‘1’ используется для создания сервера и ‘0’ для удаления сервера.

9. Теперь с помощью соответствующих команд можно передавать данные на созданный локальный сервер:AT+CIPSEND =id, length of data
Id = ID no. of transmit connection (номер соединения)
Length = Max length of data is 2 kb (максимальная длина данный 2 Кбайта).

10. После передачи ID (номера, идентификатора) и Length (длины данных) на сервер мы можем передавать данные, к примеру: Serial.println(“circuitdigest@gmail.com”);

11. После передачи данных нам необходимо закрыть соединение с помощью команды:AT+CIPCLOSE=0
После этого данные будет переданы на локальный сервер.

12. Теперь вы можете набрать IP адрес в строке адреса вашего браузера и нажать Enter. После этого вы увидите переданные данные на веб-странице.

Все описанные шаги можно более наглядно посмотреть в видео в конце статьи.

Примеры использования и передачи данных с AArduino на AArduino или ПК по Wifi

В качестве примера можно привести создание программы для NodeMCU в среде Ардуино. Для этого на ПК устанавливается ПО для модуля Arduino Wi fi, которое настраивается на работу с ESP8266.

Далее, например, плата NodeMCU подключается к аналоговому фоторезистору и отправляет данные на сервер по протоколу MQTT. Схема соединения представлена ниже.

Чтобы написать и запустить код, потребуется библиотека pubsubclient. Скачав ее, нужно поместить файлы из архива в папку библиотек IDE и открыть в среде скетч _2.ino. Чтобы все работало как надо, необходимо внести в код следующие изменения (SSID и пароль):

const char* ssid = «your_wifi_hotspot»;

const char* password = «your_wifi_password»;

Далее происходит загрузка программы на плату, открывается монитор последовательного порта и мониторится результат на картинке.

После всего этого плата подключится по Wifi к MQTT и он будет отображать данные фоторезистора.

Wifi сервер на Ардуино на базе ESP организовывается аналогичным образом. Для него можно использовать язык скриптов LUA. Скрипт, представленный ниже, создает простейший сервер, который отображает информацию при обращении устройств к плате:

serverport = 80

server=net.createServer(net.TCP)

server:listen(serverport,

function(connection)

connection:send(«HTTP/1.1 200 OK\nContent-Type: text/html\nRefresh: 10\n\n» ..

«<!DOCTYPE HTML>» .

«<html><body>» ..

«<b>Server </b></br>» ..

» ChipID : » .. node.chipid() .. «<br>» ..

» MAC : » .. wifi.sta.getmac() .. «<br>» ..

» Heap : » .. node.heap() .. «<br>» ..

» Timer Ticks : » .. tmr.now() .. «<br>» ..

«</html></body>»)

connection:on(«sent»,function(connection) connection:close() end)

end

Код сохраняется в файле server1.lua, после чего запускается. Чтобы проверить работу, можно подключиться к точке доступа и набрать в браузере IP-адрес http://192.168.4.1:

Testing the Web Server

Now, you can upload the code, and it will work straight away. Don’t forget to check if you have the right board and COM port selected, otherwise you’ll get an error when trying to upload. Open the Serial Monitor at a baud rate of 115200.

Finding the ESP IP Address

Press the ESP8266 RESET button, and it will output the ESP IP address on the Serial Monitor

Copy that IP address, because you need it to access the web server.

Accessing the Web Server

Open your browser, type the ESP IP address, and you’ll see the following page. This page is sent by the ESP8266 when you make a request on the ESP IP address.

If take a look at the serial monitor, you can see what’s going on on the background. The ESP receives an HTTP request from a new client – in this case, your browser.

You can also see other information about the HTTP request – these fields are called HTTP header fields, and they define the operating parameters of an HTTP transaction.

Testing the Web Server

Let’s test the web server. Click the button to turn GPIO 5 ON. The ESP receives a request on the /5/on URL, and turns LED 5 ON.

The LED state is also updated on the web page.

Test GPIO 4 button and check that it works in a similar way.

Шаг 6. Загрузите скетч в Arduino.

Скетч загружается в Arduino обычным способом. Однако из за того что модуль ESP8266 подключен к контактам 0 и 1, программирование становится невозможным. Компилятор будет показывать ошибку.

Перед программированием отсоедините провода идущие к ESP8266 от контактов 0 и 1. Произведите программирование. Затем верните контакты на место. Нажмите кнопку сброса Arduino.

Примечание: Первый признак того, что программирование прошло успешно, это мерцание синего светодиода на модуле ESP8266 в течении полсекунды сразу после сброса. Мерцание синего светодиода означает обмен данными между Arduino и ESP8266. В эти полсекунды Arduino производит настройку ESP8266 для работы в качестве точки доступа.

Prepare the Arduino IDE

1. Download and install the Arduino IDE on your operating system (some older versions won’t work).

2. Then, you need to install the ESP8266 add-on for the Arduino IDE. For that, go to File > Preferences.

3. Enter http://arduino.esp8266.com/stable/package_esp8266com_index.json into the “Additional Board Manager URLs” field as shown in the figure below. Then, click the “OK” button.

4. Go to Tools > Board > Boards Manager…

5. Scroll down, select the ESP8266 board menu and install “esp8266 by ESP8266 Community”, as shown in the figure below.

6. Go to Tools > Board and choose your ESP8266 board. Then, re-open your Arduino IDE.

WiFi Web Server

In this example, you will use the WiFi module of your board to create a simple Web server. Using the WiFi 1010 library, your device will be able to answer a HTTP request received from the WiFI connection. After opening a browser and navigating to your WiFi’s IP address, your board will respond with just enough HTML for a browser to display the input values from all six analog pins.

This example is written for a network using WPA encryption. For WEP or WPA, change the Wifi.begin() call accordingly.

Circuit

The WiFi module is integrated on your board and you don’t need any special circuitry to get this tutorial to work.

Please note: these three boards use dedicated pins to communicate and select the WiFi module, therefore you have no restriction in the usage of the available digital pins connected to the header pins.

Code

You should have access to a 802.11b/g wireless network that connects to the internet for this example. You will need to change the network settings in the sketch to correspond to your particular networks SSID.

For networks using WPA/WPA2 Personal encryption, you need the SSID and password. The shield will not connect to networks using WPA2 Enterprise encryption.

WEP network passwords are hexadecimal strings known as keys. A WEP network can have 4 different keys; each key is assigned a «Key Index» value. For WEP encrypted networks, you need the SSID, the key, and key number.

See Also:

  • WiFi NINA library – Your reference for the WiFi NINA Library.
  • AP_SimpleWebServer : A simple web server to manage a LED with AP feature
  • ConnectNoEncryption : Demonstrates how to connect to an open network
  • ConnectWithWEP : Demonstrates how to connect to a network that is encrypted with WEP
  • ConnectWithWPA : Demonstrates how to connect to a network that is encrypted with WPA2 Personal
  • ScanNetworks : Displays all WiFi networks in range
  • ScanNetworksAdwanced : Displays all WiFi networks, also the encrypted ones, in range
  • SimpleWebServerWiFi : A simple web server to manage a LED
  • WiFiChatServer : Set up a simple chat server
  • WiFiPing : Demonstrates how to ping a website or IP address
  • WiFiSSLClient : Connect to a website using SSL
  • UdpNTPClient : Query a Network Time Protocol (NTP) server using UDP
  • WiFiUdpSendReceiveString : Send and receive a UDP string
  • WiFiWebClient : Connect to a remote webserver
  • WiFiWebClientRepeating : Make repeated HTTP calls to a webserver

Last revision 2018/07/12 by SM

Описание ESP8266

ESP8266 — это контроллер, работающий со стандартом беспроводной связи Wifi и способный исполнять код программ из встроенной flash-памяти. Чип был разработан и выпущен китайской компанией Espressif и моментально стал одним из популярнейших для данных целей.

Сам вай фай модуль для Ардуино Wifi достаточно дешев и содержит небольшое количество внешних элементов, имея следующие технические характеристики:

  • Поддержка протоколов стандарта Wifi b/g/n с алгоритмами шифрования и защиты данных WEP, WPA, WPA2;
  • Четырнадцать портов ввода и вывода, последовательного периферийного интерфейса SPI, I2C, UART и 10-битовый аналого-цифровой преобразователь;
  • Поддержка внешней памяти до 16 Мб;
  • Достаточное для питания напряжение от 2.2 до 3.6 Вольт и потребление тока до 300 мА, которое зависит от режима работы.

Важно! Микроконтроллер не обладает пользовательской энергонезависимой памятью. Все программы выполняются из внешних постоянных запоминающих устройств и загружаются динамическим образом

Доступ к внутренним интерфейсам осуществляется через API набор библиотек, а не с помощью документации. Количество оперативной памяти приблизительно равно 50 Кб.

Особенности платы

Контроллер обладает следующими особенностями:

  • Удобство подключения к ПК через интерфейс порта USB. Через него же выполняется и питание;
  • Встроенный преобразователь напряжения на 3.3 Вольта;
  • 4 Мб flash-памяти;
  • Наличие кнопок перезагрузки и перепрошивки;
  • Порты выведены на контроллер в два ряда с шагом в 2.5 мм.

Сферы применения

Модуль часто применяют в различных проектах в связке с другими устройствами для:

  • Автоматизации процессов;
  • Создания систем «Умный дом» своими руками, которые включают управление условиями в доме (температура и свет), сигнализации и видеокамеры, беспроводное управление приборами;
  • Мобильных приборов;
  • Метки с помощью идентификаторов ID;
  • Игрушек для детей;
  • Сети Mesh типа.

Если не подключается…

Вы можете проверить наличие связи между Arduino и ESP8266 используя Serial Monitor, который можно открыть во вкладке Tools в Arduino IDE.

Откройте Serial Monitor и установите скорость 115200. Нажмите кнопку сброса на плате Arduino.

Проверьте наличие правильно загруженной программы

Если после сброса Arduino в Serial Monitor нет никаких сообщений, это скорее всего означает, что Arduino не выполнят вашу программу. Возможно:

  • нужный скетч не был загружен;
  • ваша Arduino не включена;
  • Serial Monitor не подключился к Arduino;
  • с вашей Arduino что то не так.

Проверьте связь между Arduino и ESP8266

Если после сброса Arduino в Serial Monitor вы видите следующую последовательность команд, это означает, что инициализация ESP8266 проходит успешно и связь между Arduino и ESP8266 есть:

Если вы видите только повторяющиеся команды «AT», это означает что нет связи между Arduino и ESP8266.

Связь может отсутствовать по разным причинам. Ниже перечислены основные:

  • контакты RX и TX подключены не верно, перепутаны контакты, или подключены не к тем контактам, или не подключены совсем;
  • нет питания на ESP8266, при подаче питания на ESP8266 должен светиться красный светодиод;
  • не хватает мощности источника питания 3.3 В для ESP8266;
  • модуль ESP8266 неисправен.

Проверьте прошивку ESP8266

Если после сброса Arduino в Serial Monitor вы видите только начало последовательности команд, но нет завершающей команды AT+CIPSERVER=1,6377 это означает, что модуль ESP8266 имеет устаревшую прошивку. Требуется обновление прошивки.

Если инициализация проходит успешно и вы видите последнюю команду AT+CIPSERVER=1,6377, но при попытке подключения с мобильного приложения возникает ошибка, возможно, что модуль ESP8266 имеет устаревшую прошивку.

Проверьте объем памяти вашего ESP8266. Это можно сделать так же посмотрев маркировку чипа памяти, который находится на плате рядом с чипом ESP8266. Если размер памяти составляет 4 Mbit и меньше (установлен чип 25Q40), скорее всего этот модуль не будет работать как точка доступа для RemoteXY.

Проверьте питание ESP8266

Так же возможно, что вашей ESP8266 не хватает мощности источника питания. Некоторые платы Arduino имеют слабый стабилизатор напряжения 3.3 В, который не способен выдавать 200-300 мА в пиковых режимах. В этом случае в Serial Monitor вы так же увидите обрыв последовательности команд.

Проверьте особенности вашего смартфона

Некоторые модели смартфонов на Android имеют особенности подключения точек доступа WiFi, и возможно точка доступа не включается автоматически. Попробуйте подключиться к точке доступа предварительно в ручную, используя системные настройки. После этого попробуйте соединиться с устройством из приложения RemoteXY. Если в этом случае соединение устанавливается, значит ваш смартфон имеет такую особенность. Сообщите нам об этом.

Распиновка

Важно понять, что вариаций модуля существует немало. На рисунке в конце предыдущего подраздела представлены лишь некоторые из них

Особую популярность обрел контроллер ESP-01. Исполнение кода программы задается состоянием портов GPIO0, GPIO2 и GPIO15: включением и выключением подачи питания на них. Существует два важных режима работы:

  • Код выполняется из универсального асинхронного приёмопередатчика (UART) с комбинацией GPIO0 = 0, GPIO2 = 1 и GPIO15 = 0. Эти действия выполняются для перепрошивки flash-накопителя;
  • Код выполняется из внешнего ПЗУ с комбинацией GPIO0 = 1, GPIO2 = 1 и GPIO15 = 0 для работы в штатном режиме.

Приводится официальное описание всех контактов:

  • 1 — заземление, а 8 — питание платы. Напряжение необходимо подавать до 3.6 В в отличие от Ардуино, в который подают 5В;
  • 6 — кнопка Reset, необходимая для перезагрузки чипа;
  • 4 — CP_PD — переводит чип в режим энергосбережения;
  • 7 или 0 — RXD0 и TXD0 аппаратные пины для универсального асинхронного приёмопередатчика, необходимые для перепрошивки;
  • 2 — TDX0, к которому подключают светодиод, срабатывающий в случае передачи данных по УАПП или при подключении на низком логическом уровне;
  • 5 — GPI0, позволяющий осуществлять вход и вывод, а также переводить контроллер в режим программирования;
  • 3 — GPIO2 — стандартный порт ввода/вывода.

Основные отличия Ардуино от ESP8266

От не менее популярного Arduino Wifi модуль ESP отличается следующими чертами:

  • Наличием большего объема flash-памяти и отсутствием энергонезависимой памяти;
  • Более быстрым процессором;
  • Наличием Wifi модуля;
  • Потреблением большей силы тока, чем Ардуино

Flashing your ESP8266

If you’re using an ESP8266-12 you just need to plug the ESP into your computer. If you’re using an ESP-01, you need an FTDI programmer to connect it to your computer. To establish a serial communication between your ESP8266 and a FTDI Programmer as shown in the schematic diagram below.

Open the flasher that you just downloaded and a window should appear (as shown in the following figure).

Press the button “Flash” and it should start the flashing process immediately (You might have to change some of the settings on the Advanced tab). After finishing this process, it should appear a green circle with a check icon.

Код Arduino

Теперь мы сталкиваемся с проблемой. ESP8266 использует UART в качестве интерфейса для AT-команд, а Arduino Uno (которая использует Atmega328) имеет только один порт UART. Этот порт уже подключен к мосту USB-TTL, а также к выводам 0 и 1.

В качестве решения вы можете использовать эмулятор для UART порта на другом цифровом выводе Arduino с помощью библиотек AltSoftSerial или SoftwareSerial. Это позволит вам по-прежнему иметь аппаратный порт UART для отладки и печати сообщений в консоли, а программный порт – для связи с модулем.

Платы Arduino

Многие люди (включая меня) сообщают о проблемах с программным последовательным портом при высоких скоростях передачи – как на тех, что мы будем использовать с esp8266, 115200 бит/с. Я могу сказать, что у вас 50% принятых от модуля данных будет повреждено, если вы используете программный UART, а из переданных от Arduino к модулю данных почти 100% будет корректно. Я получил эти результаты после отслеживания сигналов на линиях RX и TX.

В качестве решения я добавил в код несколько директив , чтобы облегчить вам выбор между аппаратным и программным UART портами. Имейте в виду, что вы не можете использовать один и тот же порт для отладки и общения с модулем, поэтому вам нужно выбирать между ними.

В исходнике вы найдете часть кода, которая устанавливает модуля с вашим роутером:

Цикл скетча ожидает команды, которые должны прийти через Wi-Fi соединение. В настоящее время поддерживаются следующие команды:

  • ‘con’ для получения состояния выводов, высокий или низкий логический уровень;
  • ‘on=’ включить соответствующий вывод;
  • ‘of=’ выключить соответствующий вывод;
  • ‘Tm=n/fS’ установить таймер включения (n) или выключения (f) соответствующего вывода.

Все команды имеют отклик подтверждения.

Примечания:

  • некоторые части скетча основаны на этом руководстве;
  • если вы используете модули со старым SDK, у вас могут быть такие же ошибки, как и у меня. Единственным решением в этом случае является обновление вашей прошивки до последней версии. Посмотрите эту статью, для получения помощи в обновлении прошивки модуля на ESP8266. Я обновил прошивку с версии 1.3 до 1.5.4.

Полный код программы:

Использование ESP8266 в качестве HTTP сервера в режиме Wi-Fi Station (STA)

Теперь давайте перейдем к следующему примеру, который демонстрирует, как переключить ESP8266 в режим Station (STA) и выдавать веб-страницы для любого клиента, подключенного к существующей сети.

Прежде чем приступить к загрузке скетча, чтобы он у вас заработал, необходимо внести некоторые изменения. Чтобы ESP8266 мог установить соединение с существующей сетью, вам необходимо изменить две следующие переменные с учетными данными вашей сети.

Теперь можно загрузить скетч в ESP8266.

Доступ к веб-серверу в режиме STA

После загрузки скетча откройте монитор последовательного порта со скоростью 115200 бит/с и нажмите кнопку RESET на ESP8266. Если всё в порядке, он выведет динамический IP адрес, полученный от вашего маршрутизатора, и покажет сообщение, что HTTP сервер запущен.

Рисунок 12 – Веб-сервер ESP8266 NodeMCU. Режим станции. Монитор последовательного порта – сервер запущен

Затем загрузите браузер и введите IP адрес, указанный на мониторе последовательного порта. NodeMCU должен выдать веб-страницу, показывающую текущее состояние светодиодов и две кнопки для управления ими. Если в это время взглянуть на монитор последовательного порта, то можно увидеть состояние выводов GPIO NodeMCU.

Рисунок 13 – Веб-сервер ESP8266 NodeMCU. Режим станции. Веб-страницаРисунок 14 – Веб-сервер ESP8266 NodeMCU. Режим станции. Монитор последовательного порта – доступ к веб-странице

Теперь нажмите кнопку ON светодиода 1, чтобы включить его, наблюдая за URL. После нажатия кнопки ESP8266 получает запрос на URL адрес /led1on. Затем он включает светодиод 1 и отображает веб-страницу с обновленным состоянием светодиодов. Одновременно он выводит состояние вывода GPIO в монитор последовательного порта.

Рисунок 15 – Веб-сервер ESP8266 NodeMCU. Режим станции. Веб-страница – управление светодиодамиРисунок 16 – Веб-сервер ESP8266 NodeMCU. Режим станции. Монитор последовательного порта – управление светодиодами

Вы можете проверить кнопку светодиода 2 и убедиться, что она работает аналогичным образом.

Объяснение кода

Если вы сравните этот код вместе с предыдущим примером, единственное отличие состоит в том, что мы не настраиваем точку доступа, а вместо этого с помощью функции  подключаемся к существующей сети.

Пока ESP8266 пытается подключиться к сети, мы проверяем состояние подключения с помощью функции .

Данная функция возвращает следующие статусы:

  • WL_CONNECTED: возвращается при подключении к сети Wi-Fi;
  • WL_NO_SHIELD: возвращается, когда Wi-Fi модуль не подключен;
  • WL_IDLE_STATUS: временное состояние, возвращаемое при вызове , и остающееся активным до тех пор, пока не истечет количество попыток подключения (что приводит к WL_CONNECT_FAILED), или пока не будет установлено соединение (что приводит к WL_CONNECTED);
  • WL_NO_SSID_AVAIL: возвращается, когда нет доступных SSID;
  • WL_SCAN_COMPLETED: возвращается, когда сканирование сетей завершено;
  • WL_CONNECT_FAILED: возвращается при неудаче подключения после всех попыток;
  • WL_CONNECTION_LOST: возвращается при потере соединения;
  • WL_DISCONNECTED: возвращается при отключении от сети.

Как только ESP8266 будет подключен к сети, скетч печатает IP адрес, присвоенный для ESP8266, отображая значение в мониторе последовательного порта.

Единственная разница между режимами AP и STA состоит в том, что один создает сеть, а другой подключается к существующей сети. Остальная часть кода для обработки HTTP запросов и выдачи веб-страниц в режиме STA такая же, как и в режиме AP, описанном выше. Это включает в себя:

  • объявление выводов GPIO NodeMCU, к которым подключены светодиоды;
  • определение нескольких методов для обработки входящих HTTP запросов;
  • определение метода для обработки HTTP ошибки 404;
  • создание пользовательских функций, которые выполняются при вводе определенного URL;
  • создание HTML страницы;
  • стилизация веб-страницы;
  • создание кнопок и отображение их состояния.

ESP8266 – микроконтроллер / микросхема с модулем Wi-Fi

Новый микроконтроллер привлек внимание профессиональных разработчиков и любителей, и он может стать потенциальным лидером в интернете вещей. Микросхема под названием «ESP8266» представляет собой 32-битный RISC процессор со всеми свистелками и перделками, которые вы могли бы ожидать от полнофункционального микроконтроллера, но это еще не всё

ESP8266 также включает в себя встроенную схему Wi-Fi 802.11 b/g/n, которая готова к непосредственному подключению к антенне.

Микроконтроллер ESP8266

ESP8266 в настоящее время доступен только в 32-выводном корпусе QFN, в данном семействе присутствует только одна микросхема. Разработчик, Espressif, Шанхай, Китай, решил в полной мере использовать эффективность масштабного производства и предложить одну микросхему, которая подходит для использования в различных сборках печатных плат. В настоящее время существует более десятка печатных плат модулей ESP, которые отличаются в основном типом антенн и количеством доступных входов/выходов. Из-за QFN корпуса ESP8266, большинство любителей довольны этим решением, тем более, что рыночные цены начинаются с менее 5 долларов США за модель младшего класса, получившей название ESP-01 и изображенной ниже.

Модуль ESP-01 (вид сверху и снизу)

Для ESP8266 существует форум поддержки очень активного сообщества, который является отличным источником идей и информации. Первоначально документация была доступна только на китайском языке, а информацию по прошивкам до сих пор бывает трудно найти. В настоящее время многие DIY проекты работают в режиме «проб и ошибок», но есть много поставщиков, которые продают платформы разработки и другие аксессуары. Однако, как вы увидите ниже в этой статье, запустить ESP8266 на макетной плате совсем не трудно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector