Подключение wi fi модуля
После установки Wi-Fi роутера, у многих возникает вопрос, а как же теперь подключать к интернету обычный стационарный компьютер, у которого нет Wi-Fi. Раньше интернет был подключен к компьютеру по кабелю, а теперь что делать? Прокладывать сетевой кабель от роутера к компьютеру не очень хочется. Мы ведь для того и устанавливали роутер, что бы избавится от проводов в доме.
Да, после установки роутера и настройки Wi-Fi сети дома, или в офисе, все ноутбуки, планшеты, телефоны и ряд других устройств смогут подключатся к Wi-Fi сети, "по воздуху". В этих устройствах есть встроенный Wi-Fi приемник. А если у вас есть еще стационарный компьютер, к которому так же нужно подключить интернет, то здесь только два варианта:
- От роутера, к стационарному компьютеру проложить сетевой кабель. Но, такой вариант не часто подходит, так как не всегда хочется возится с кабелями, да и иногда просто нет возможности провести этот кабель к ПК.
- Ну и второй вариант, о котором мы поговорим в этой статье, это подключение к вашему компьютеру внешнего, или внутреннего Wi-Fi адаптера. С его помощью, обычный, стационарный компьютер сможет подключаться к интернету по Wi-Fi.
Точно с такой же ситуацией я столкнулся у себя дома. После установки маршрутизатора, все устройства подключались по беспроводной сети. А вот компьютер, который нужно было оставить, я подключил по Wi-Fi с помощью USB Wi-Fi приемника. Именно об этих приемниках я сейчас расскажу подробнее.
Оказывается, в качестве Wi-Fi адаптера можно использовать телефон или планшет на Android. Скорее всего у вас есть такое устройство. Можете использовать это решение. Хотя бы временно.
Один важный момент: если у вас есть лишний Wi-Fi роутер, который лежит без дела, то можно попробовать настроить его в качестве приемника. Он будет принимать по Wi-Fi сигнал от вашего главного роутера, и по кабелю давать интернет на стационарный компьютер. С этой работой отлично справляются например роутеры ZyXEL. О настройке такой функции на ZyXEL, я писал в этой статье. Другие роутеры, можно настроить в режиме моста.
Видеообзор платы
Работа с AT командами
Восстановление стандартной АТ-прошивки
После программирования платформы в режиме самостоятельного контроллера может понадобиться восстановить на модуле стандартную AT-прошивку. Для этого необходимо воспользоваться утилитой Flash Download Tool.
Примеры работы
Рассмотрим несколько примеров по работе с «AT-командами»
Тестовая команда «AT»
Настройка режима работы
Wi-Fi модуль умеет работать в трёх режимах:
Переведём чип в смешанный режим командой:
После установки модуль должен ответить «OK»:
В отличии от аппаратного UART (HardwareSerial), за работу программного UART (SoftwareSerial) отвечает микроконтроллер, который назначает другие пины в режим работы RX и TX , соответственно и данные которые приходят от Wi-Fi модуля обрабатывает сам микроконтроллер во время программы. По умолчанию скорость общения Troyka Wi-Fi равна 115200 , что значительно выше чем позволяет библиотека SoftwareSerial. В итоге часть информации которая приходит с Wi-Fi модуля будет утеряна. Если вы используете плату с HardwareSerial подключением модуля можете пропустить пункт настройки скорости и сразу перейти к дальнейшей работе с модулем.
AT установка скорости общения
Для корректной работы с большими объемами необходимо понизить скорость соединения модуля и микроконтроллера. Для этого используйте «AT-команду»:
После проделанной операции, измените скорость программного UART в скетче программы и прошейте плату.
По итогу программный UART успеет обработать каждый пришедший байт с Wi-Fi модуля.
AT сканирование WI-FI сетей
Откройте Serial-порт и отправьте на модуль «AT-команду» для сканирования всех доступных Wi-Fi сетей:
Для продолжение работы используйте перечень «AT-команд»
Элементы платы
Внешний вид
Работа с AT командами
Кнопка RESET
Кнопка предназначена для ручного сброса прошивки — аналог кнопки RESET обычного компьютера.
Подключение и настройка
Для начала работы с платой Uno WiFi в операционной системе Windows скачайте и установите на компьютер интегрированную среду разработки Arduino IDE.
Подключение и настройка
В стандартной прошивке Troyka Wi-Fi общается с управляющей платой через «AT-команды» по протоколу UART. Дополнительный сигнальный пин P служит для перевода модуля в режим сна или пониженного энергопотребления.
На всех платах Iskra и Arduino присутствует хотя бы один аппаратный UART — HardwareSerial. Если же по каким то причинам он занят другим устройством, можно воспользоваться программным UART — SoftwareSerial.
HardwareSerial
На управляющей плате Iskra JS и платах Arduino с микроконтроллером ATmega32U4 / ATSAMD21G18 , данные по USB и общение через пины 0 и 1 осуществляется через два раздельных UART . Это даёт возможность подключить Wi-Fi модуль к аппаратному UART на пинах 0 и 1 .
Список поддерживаемых плат:
При подключении удобно использовать Troyka Shield. С Troyka Slot Shield можно обойтись без лишних проводов. Прошейте управляющую платформу кодом ниже.
Код прошивки
SoftwareSerial
Некоторые платы Arduino, например Uno, прошиваются через пины 0 и 1 . Это означает невозможность использовать одновременно прошивку/отладку по USB и общение с Wi-Fi модулем. Решение проблемы — программный UART . Подключите пины TX и RX Troyka Wi-Fi к другим контактам управляющей платы и используйте библиотеку SoftwareSerial.
Для примера подключим управляющие пины Wi-Fi модуля TX и RX — на 8 и 8 контакты управляющей платы.
При подключении удобно использовать Troyka Shield. Прошейте управляющую платформу кодом ниже.
Код прошивки
HardwareSerial Mega
На платах форм-фактора Arduino Mega 2560 аппаратный UART, который отвечает за передачу данных через пины 1 и 0 , отвечает также за передачу по USB. Это означает невозможность использовать одновременно UART для коммуникации с GPS-модулем и отладки по USB.
Но на платах такого форм-фактора есть ещё дополнительно три аппаратных UART:
Список поддерживаемых плат:
Подключите Wi-Fi модуль к интерфейсу Serial1 на пины 18 и 19 на примере платы Mega 2560 Прошейте управляющую платформу кодом ниже.
Код прошивки
Подключение и настройка
В стандартной прошивке Wi-Fi модуль общается с управляющей платой через «AT-команды» по протоколу UART.
На всех платах Iskra и Arduino присутствует хотя бы один аппаратный UART — HardwareSerial. Если же по каким то причинам он занят другим устройством, можно воспользоваться программным UART — SoftwareSerial.
HardwareSerial
На управляющей плате Iskra JS и платах Arduino с микроконтроллером ATmega32U4 / ATSAMD21G18 данные по USB и общение через пины 0 и 1 осуществляется через два раздельных UART . Это даёт возможность подключить Wi-Fi модуль к аппаратному UART на пинах 0 и 1 .
Список поддерживаемых плат:
Для примера подключим модуль Wi-Fi к платформе Iskra Neo.
Прошейте управляющую платформу кодом ниже.
Код прошивки
SoftwareSerial
Некоторые платы Arduino, например Uno, прошиваются через пины 0 и 1 . Это означает невозможность использовать одновременно прошивку/отладку по USB и общение с Wi-Fi модулем. Решение проблемы — программный UART . Подключите пины TX и RX ESP-модуля к другим контактам управляющей платы и используйте библиотеку SoftwareSerial.
Для примера подключим управляющие пины Wi-Fi модуля TX и RX — на 8 и 9 контакты управляющей платы. Прошейте управляющую платформу кодом ниже.
Код прошивки
HardwareSerial Mega
На платах форм-фактора Arduino Mega 2560 аппаратный UART, который отвечает за передачу данных через пины 1 и 0 , отвечает также за передачу по USB. Это означает невозможность использовать одновременно UART для коммуникации с Wi-Fi модулем и отладки по USB.
Но на платах такого форм-фактора есть ещё дополнительно три аппаратных UART:
Список поддерживаемых плат:
Подключите Wi-Fi модуль к объекту Serial1 на пины 18 и 19 на примере платы Mega 2560 Прошейте управляющую платформу кодом ниже.
Код прошивки
Примеры использования
Пины питания
VIN: Напряжение от внешнего источника питания (не связано с 5 В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, если к устройству подключён внешний адаптер.
5V: На вывод поступает напряжение 5 В от стабилизатора платы. Данный стабилизатор обеспечивает питание микроконтроллера ATmega328. Запитывать устройство через вывод 5V не рекомендуется — в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.
IOREF: Вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В зависимости от напряжения, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5 В, так и с 3,3 В устройствами.
Распиновка
Порты ввода/вывода
Цифровые входы/выходы: пины 0 – 13
Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
АЦП: пины A0 – A5
6 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 значений). Разрядность АЦП — 10 бит.
TWI/I²C: пины SDA и SCL
Для общения с периферией по синхронному протоколу, через 2 провода. Для работы — используйте библиотеку Wire .
SPI: пины 10(SS) , 11(MOSI) , 12(MISO) , 13(SCK) .
Через эти пины осуществляется связь по интерфейсу SPI. Для работы — используйте библиотеку SPI .
UART: пины 0(RX) и 1(TX)
Эти выводы соединены с соответствующими выводами микроконтроллера ATmega16U2, выполняющей роль преобразователя USB-UART. Используется для коммуникации контроллера с компьютером или другими устройствами через класс Serial .
Общие сведения
По умолчанию модуль настроен на работу через «AT-команды». Управляющая плата посылает команды — Wi-Fi модуль выполняет соответствующую операцию.
Но под металлической крышкой прячется целый микроконтроллер, который является самодостаточным устройством. Прошивать модуль можно на разных языках программирования. Но обо всё по порядку.
Микроконтроллер ATmega328P
Wi-Fi модуль как самостоятельный контроллер
ESP-01 (ESP8266) — очень умный модуль. Внутри чипа прячется целый микроконтроллер, который можно программировать на языке C++ через Arduino IDE и JavaScript через Espruino Web IDE .
Светодиодная индикация
Имя светодиода | Назначение |
---|---|
RX и TX | Мигают при обмене данными между Wi-Fi модулем и управляющим устройством. |
POWER | Горит, если на модуль подано питание |
Программирование на JavaScript
Для старта с платформой ESP-01 на языке JavaScript скачайте и установите интегрированную среду разработки Espruino Web IDE.
После выполненных действий модуль ESP-01 готов к программированию через Espruino Web IDE.
Подробнее о функциях и методах работы ESP8266 на языке JavaScript читайте на Espruino.
Разъём USB Type-B
Разъём USB Type-B предназначен для прошивки платформы Uno WiFi с помощью компьютера.
Видеообзор
Питание
Родное напряжение модуля — 3,3 В. Его пины не толерантны к 5 В. Если вы подадите напряжение выше, чем 3,3 В на пин питания, коммуникации или ввода-вывода, модуль выйдет из строя.
Web-сервер
Поднимем простой web-сервер, который будет отображать страницу с текущими значениями аналоговых входов.
Что-то пошло не так?
Дополнительные контакты
Через Troyka-контакты вы можете получить доступ к 4 , 5 , 12 , 13 и 14 пину модуля ESP-12. Для этого достаточно капнуть припой на контактные площадки с обратной стороны устройства.
Обратите внимание, на плате версии B8 и ниже, шёлк на контактах 4 и 5 перепутан местами.
Общие сведения
ESP-01 — плата-модуль WiFi на базе популярного чипсета ESP8266EX . На борту платы находится микросхема Flash-памяти объёмом 2 МБ, чип ESP8266EX, кварцевый резонатор, два индикаторных светодиода и миниатюрная антенна из дорожки на верхнем слое печатной платы в виде змейки. Flash-память необходима для хранения программного обеспечения. При каждом включении питания, ПО автоматически загружается в чип ESP8266EX.
По умолчанию модуль настроен на работу через «AT-команды». Управляющая плата посылает команды — Wi-Fi модуль выполняет соответствующую операцию.
Но внутри чипа ESP8266 прячется целый микроконтроллер, который является самодостаточным устройством. Прошивать модуль можно на разных языках программирования. Но обо всё по порядку.
Как выбрать Wi-Fi адаптер для компьютера: внешние и внутренние
Давайте разберемся, какие эти адаптеры бывают, и как выбрать такой адаптер для вашего ПК. Значит, бывают они внешние и внутренние.
Внешние адаптеры
Подключаются в USB разъем компьютера. Для его установки не нужно вскрыть системный блок, это несомненно плюс. Выглядят они как обычные флешки. Есть маленькие, есть такие как на картинке выше, а есть еще и с антеннами. Те которые с антеннами, я советую покупать в том случае, если в комнате, где у вас стоит компьютер, не очень сильный сигнал Wi-Fi сети.
Если вы не очень сильно разбираетесь в компьютерах, то рекомендую купить именно внешний Wi-Fi приемник. Подойдет практически любой. Установка не ложная: подключили адаптер в USB разъем компьютера, установили драйвера, и все, можете подключатся к Wi-Fi.
Вот, еще фото внешних адаптеров:
С этими устройствами разобрались. Идем дальше.
Внутренние адаптеры
Эти адаптеры подключаются в PCI (или PCI Express) разъем на материнской плате вашего компьютера. Понятное дело, что для установки такого адаптера нужно разбирать системный блок. Установка в принципе тоже не сложная. Сняли крышку с системного блока, установили в PCI разъем адаптер, перезагрузили компьютер, установили драйвер и все.
Снаружи системного блока, будет выглядывать антенна адаптера, или даже несколько. Это все для лучшего приема. Ведь если обычный USB приемник можно подключить через удлинитель, что бы он лучше принимал сигнал, то с внутренним адаптером так не получится.
Вот как выглядят внутренние PCI адаптеры:
Какой адаптер лучше купить для подключения обычного компьютера к Wi-Fi? Да в принципе, какая разница. Но, мне почему-то кажется, что внешние USB адаптеры более удобные и практичные. Их можно без проблем подключить к другому компьютеру. Процесс подключения и установки немного проще.
Как видите, подключить стационарный компьютер к Wi-Fi сети совсем не сложно. Зато, можно избавится от проводов. Это актуально особенно в том случае, если роутер находится далеко от компьютера.
Модуль ESP-01 с чипом ESP8266 предназначен для связи устройства с беспроводными сетями по WiFi.
Примеры работы
Рассмотрим несколько примеров по работе с «AT-командами»
Тестовая команда «AT»
Настройка режима работы
Wi-Fi модуль умеет работать в трёх режимах:
Переведём чип в смешанный режим командой:
После установки модуль должен ответить «OK»:
В отличии от аппаратного UART (HardwareSerial), за работу программного UART (SoftwareSerial) отвечает микроконтроллер, который назначает другие пины в режим работы RX и TX , соответственно и данные которые приходят от Wi-Fi модуля обрабатывает сам микроконтроллер во время программы. По умолчанию скорость общения Troyka Wi-Fi равна 115200 , что значительно выше чем позволяет библиотека SoftwareSerial. В итоге часть информации которая приходит с Wi-Fi модуля будет утеряна. Если вы используете плату с HardwareSerial подключением модуля можете пропустить пункт настройки скорости и сразу перейти к дальнейшей работе с модулем.
AT установка скорости общения
Для корректной работы с большими объемами необходимо понизить скорость соединения модуля и микроконтроллера. Для этого используйте «AT-команду»:
После проделанной операции, измените скорость программного UART в скетче программы и прошейте плату.
По итогу программный UART успеет обработать каждый пришедший байт с Wi-Fi модуля.
AT сканирование WI-FI сетей
Откройте Serial-порт и отправьте на модуль «AT-команду» для сканирования всех доступных Wi-Fi сетей:
Для продолжение работы используйте перечень «AT-команд»
Программирование на JavaScript
Для старта с платформой Troyka Wi-Fi на языке JavaScript скачайте и установите интегрированную среду разработки Espruino Web IDE.
После выполненных действий платформа Troyka Wi-Fi готова к программированию через Espruino Web IDE.
Подробнее о функциях и методах работы ESP8266 на языке JavaScript читайте на Espruino.
Код прошивки
Для прошивки всех используемых ниже модулей используем один и тот же код.
Установка Wi-Fi соединения
Подключение к объекту на платформе Rightech IoT Cloud по протоколу MQTT
Отправка рандомных значений по температуре ("base/state/temperature") и влажности ("base/state/humidity") каждые 5 секунд (PUB_DELAY)
Работоспособность кода будем проверять на платформе Rightech IoT Cloud, именно поэтому в качестве адреса MQTT-брокера указан dev.rightech.io. Идентификаторами клиентов служат идентификаторы объектов, созданных на платформе. Под каждую проверку я завела на платформе отдельный объект, именно поэтому во всех скринах кодов, которые будут далее представлены, отличается только строка .
Прим. - Можно подключаться и к одному и тому же объекту, тогда можно использовать один и тот же код для прошивки всех плат без изменений, однако следите, чтобы в таком случае платы не подключались к одному и тому же объекту одновременно, иначе случится коллизия.
Пины питания
Программирование на C++
Для начала работы с платформой Troyka Wi-Fi на языке C++ скачайте и установите на компьютер интегрированную среду разработки Arduino IDE.
По умолчанию среда программирования настроена только на AVR-платы. Для платформы Troyka Wi-Fi добавьте в менеджере плат поддержку платформ на модуле ESP8266.
В пункте меню Инструменты Плата выбирайте Generic ESP8266 Module .
После выполненных действий платформа Troyka Wi-Fi готова к программированию через Arduino IDE.
Подробности о функциях и методах работы Troyka Wi-Fi (ESP8266) на языке C++ читайте на ESP8266 Arduino Core’s.
Светодиодная индикация
Имя светодиода | Назначение |
---|---|
LED | Индикаторный светодиод подключённый к цифровому пину 1 |
POWER | Индикатор питание на модуле |
Подключение компьютера к Wi-Fi с помощью адаптера. Без кабеля
Как я уже писал выше, для обычных компьютеров, в которых нет встроенных приемников беспроводных сетей, в продаже есть большое количество сетевых адаптеров. Эти адаптеры есть как внешние, так и внутренние. Что качается цены, то они не очень дорогие. Есть конечно же разные модели, у разных производителей. Но, самый дешевый обойдется вам примерно в 6-7 долларов (это устройства популярных производителей) . У Tenda есть недорогие модели. У меня, например, так же есть недорогой, внешний USB Wi-Fi адаптер TP-LINK TL-WN721N. Выглядит он вот так:
Работает отлично. Нужно будет подготовить инструкцию по его настройке на ПК. Кстати, многие называют такие адаптеры "флешками для подключения к Wi-Fi":)
Программирование на C++
Для начала работы с платформой ESP на языке C++ скачайте и установите на компьютер интегрированную среду разработки Arduino IDE.
По умолчанию среда программирования настроена только на AVR-платы. Для платформы ESP-01 добавьте в менеджере плат поддержку платформ на модуле ESP8266.
В пункте меню Инструменты Плата выбирайте Generic ESP8266 Module .
После выполненных действий модуль ESP-01 готов к программированию через Arduino IDE.
Подробности о функциях и методах работы ESP-01 (ESP8266) на языке C++ читайте на ESP8266 Arduino Cores.
Настройка железа
Ввиду отсутствия у платформы ESP-01 собственного USB-порта, понижающего преобразователя и отсутствия толерантности к 5 вольтам, подключите её к компьютеру, используя один из перечисленных способов:
Схема через Arduino Uno
Для сборки программатора понадобится:
Соберите схему, представленную ниже.
Необходимо каждый раз выполнять перед прошивкой модуля.
Схема через USB-Serial адаптер
Для сборки программатора понадобится:
Соберите схему, представленную ниже.
Необходимо каждый раз выполнять перед прошивкой модуля.
Стабилизатор напряжения
Стабилизатор MC33275ST-3.3T3G с выходом 3,3 вольта, обеспечивает питание модуля ESP-12. Максимальный выходной ток составляет 300 мА.
На плате так же присутствует необходимая обвязка для сопряжения устройств с разными питающими напряжениями.
В нашем случае это может быть управляющая плата Arduino с 5 вольтовой логикой и Wi-Fi модуль с 3,3 вольтовой логикой.
Arduino Uno WiFi — оригинальная итальянская плата семейства Uno с модулем Wi-Fi.
[NEW] На сегодняшний день на смену ей пришла более новая версия платы: Uno WiFi Rev2 c модулем Wi-Fi и Bluetooth.
На Uno WiFi предусмотрено всё для удобной работы с микроконтроллером: 14 цифровых входов/выходов (6 из них могут использоваться в качестве ШИМ-выходов), 6 аналоговых входов, разъём USB, разъём питания, разъём для внутрисхемного программирования (ICSP) и кнопка сброса микроконтроллера.
Изюминка платы — модуль WiFi ESP8266, который позволяет ей обмениваться информацией с другими модулями по беспроводным сетям стандартов 802.11 b/g/n.
ESP8266 позволяет прошивать плату без использования USB-кабеля в режиме OTA (Firmware Over The Air — «микропрограммы по воздуху»).
Настройка среды программирования Arduino IDE
По умолчанию среда IDE настроена только на AVR-платы. Для платформ, представленных ниже, необходимо добавить в менеджере плат дополнительную поддержку.
1) Открываем среду программирования Arduino IDE.
4) В пункте меню Tools (Инструменты) -> Board (Плата) выбираем Boards manager (Менеджер плат).
Находим в списке платформы на ESP8266 и нажимаем на кнопку Install (Установить).
6) Надпись INSTALLED сообщает, что дополнения успешно установлены.
7) Аналогичным образом устанавливаем дополнение для ESP32.
8) Теперь нам доступны к программированию платформы с модулем ESP8266 и ESP32.
Примечание - Также для работы с платами понадобится установить драйверы CH340 (WeMos и Goouuu) и CP2102 (для остальных). Их отсутствие повлияет на то, найдет ли Arduino IDE COM-порт, к которому подключена плата.
ICSP-разъём для ATmega328P
ICSP-разъём предназначен для внутрисхемного программирования микроконтроллера ATmega328P. С использованием библиотеки SPI данные выводы могут осуществлять связь с платами расширения по интерфейсу SPI. Линии SPI выведены на 6-контактный разъём, а также продублированы на цифровых пинах 10(SS) , 11(MOSI) , 12(MISO) и 13(SCK) .
Модули на базе ESP8266
Для работы с модулями на базе ESP8266 есть два варианта:
Работа с AT командами (в стандартной прошивке Wi-Fi модуль общается с управляющей платой через «AT-команды» по протоколу UART);
Wi-Fi модуль как самостоятельный контроллер (все представленные модули очень умные: внутри чипа прячется целый микроконтроллер, который можно программировать на языке C++ через Arduino IDE).
В статье будем рассматривать второй вариант - прошивка модулей в виде самостоятельного полноценного устройства. Здесь также есть два варианта прошивки с точки зрения железа:
Через плату Arduino;
Через USB-Serial адаптер.
Настройка железа
Ввиду отсутствия у платформы Troyka WiFi собственного USB-порта, подключите её к компьютеру, используя один из перечисленных способов:
через платформу Arduino Uno
через USB-Serial адаптер
через USB-UART преобразователь
Необходимо каждый раз выполнять перед прошивкой модуля.
Получите доступ к пинам GPIO , которые можно использовать для управления или считывание данных с других устройств.
1. ESP-01
ESP-01 - самый популярный модуль на ESP8266. PCB антенна обеспечивает дальность до 400 м на открытом пространстве.
Кнопка PROG
Кнопка служит для перевода модуля в режим прошивки:
Светодиодная индикация
Имя светодиода | Назначение |
---|---|
ON | Индикатор питания на плате. |
L | Светодиод вывода 13 . При отправке значения HIGH светодиод включается, при отправке LOW – выключается. |
WIFI | Мигает при поиске и обмена данными с WiFi сетями |
RX и TX | Мигают при обмене данными между контроллером и ПК. |
Микроконтроллер ATmega16U2
Микроконтроллер ATmega16U2 обеспечивает связь микроконтроллера ATmega328P с USB-портом компьютера. При подключении к ПК плата Uno WiFi определяется как виртуальный COM-порт. Прошивка микросхемы 16U2 использует стандартные драйвера USB-COM, поэтому установка внешних драйверов не требуется.
Восстановление стандартной АТ-прошивки
После программирования платформы в режиме самостоятельного контроллера может понадобиться восстановить на модуле стандартную AT-прошивку. Для этого необходимо воспользоваться утилитой Flash Download Tool.
Регулятор напряжения 3,3 В
Стабилизатор MPM3810GQB-33 с выходом 3,3 вольта. Обеспечивает питание модуля WiFi ESP8266 и выведен на пин 3,3V . Максимальный выходной ток составляет 1 А.
Элементы платы
Прошивка по WiFi
Arduino Uno WiFi имеет в своём запасе ещё один приятный бонус — возможность загружать скетчи без использования USB-кабеля в режиме OTA (Firmware Over The Air). Рассмотрим подробнее, как это сделать.
Отключите плату от ПК и подключите к другому источнику питания — например, к блоку питания или Power Shield.
Запустите Arduino IDE.
Сообщите среде IDE, с какой платой будете работать. Для этого перейдите в меню: Инструменты Плата и выберите плату «Arduino Uno WiFi».
Теперь необходимо сообщить среде программирования номер COM-порта, который соответствует подключённой плате.
Для этого необходимо войти в меню: Инструменты Порт и выбирать нужный порт.
Так как мы прошиваем Arduino по WiFi, плата определится как удалённое устройство с IP-адресом
Загрузка скетча
Среда настроена, плата подключена. Можно переходить к загрузке скетча. Arduino IDE содержит большой список готовых примеров, в которых можно подсмотреть решение какой-либо задачи. Выберем среди примеров мигание светодиодом — скетч «Blink». Прошейте плату, нажав на иконку загрузки программы. После загрузки светодиод начнёт мигать раз в секунду. Это значит, что всё получилось.
Теперь можно переходить к примерам использования.
Регулятор напряжения 5 В
Когда плата подключена к внешнему источнику питания, напряжение проходит через стабилизатор MPM3610 . Выход стабилизатора соединён с пином 5V . Максимальный выходной ток составляет 1 А.
Пины ввода/вывода
В отличии от большинства плат Arduino, родным напряжением платформы ESP-01 является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Большее напряжение может повредить модуль!
Будьте внимательны при подключении периферии: убедитесь, что она может корректно функционировать в этом диапазоне напряжений.
Цифровые входы/выходы: 4 пина; 0 – 3
Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 12 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
ШИМ: 4 пинов; 0 – 3
Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ – 10 бит.
UART: пины 3(RX) и 3(TX)
Используется для коммуникации модуля Wi-Fi с компьютером или другими устройствами по интерфейсу UART .
Wi-Fi (Troyka-модуль) на модуле ESP-12 с чипом ESP8266EX позволит передать данные по Wi-Fi сети.
Элементы платы
Чип ESP8266EX
Чип ESP8266 — выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле). В основе кристалла входит процессор семейства Xtensa — 32-х битный Tensilica L106 с частой 80 МГц с ультранизким энергопотреблением, радиочастотный трансивер с физическим уровнем WiFi IEEE 802.11 b/g/ и блоки памяти SRAM. Мощности процессорного ядра хватает для работы сложных пользовательских приложений и цифровой сигнальной обработки.
Программное приложение пользователя должно храниться на внешней микросхеме Flash-памяти и загружаться в ESP8266EX через один из доступных интерфейсов (SPI, UART, SDIO и др.) каждый раз в момент включения питания системы.
Чип ESP8266 не содержит в себе Flash-память и многих других компонентов для пользовательского старта. Микросхема является основой на базе которой выпускаются модули с необходимой периферией, например ESP-01.
Настройка модуля WiFi
Для первичной настройки Arduino с модулем WiFi выполните следующие действия.
Подключите питание к плате. Через несколько секунд в списке доступных сетей появится новая — с именем Arduino-Uno-WiFi-xxxxxx , где xxxxxx — уникальный номер платы.
Откроется web-интерфейс настройки платы.
Зайдите в сетевые настройки платы, нажатием на кнопку CHANGE в пункте Network SSID .
Выберите вашу сеть Wi-Fi из списка доступных сетей, введите пароль и подключитесь к ней.
При успешном подключении к Wi-Fi сети появится информация о присвоенном IP-адресе. Запомните или запишите его. В нашем примере мы получили адрес 192.168.43.17 .Теперь на Arduino Uno WiFi можно зайти с любого устройства, подключенного к этой сети.
Для дальнейшей работы с платой переключите ваш ПК с Wi-Fi-сети Arduino-Uno-WiFi-xxxxxx на вашу домашнюю беспроводную сеть — Amperka Mobile .
Зайдите в браузере по выданному ранее IP-адресу. Откроется тот же web-интерфейс настройки платы.
Обратите внимание: в данный момент плата работает в режиме «клиент + точка доступа» AP+STA . Если вы хотите прошить плату по Wi-Fi, необходимо переключить режим работы платы из AP+STA в STA
Зайдите в сетевые настройки платы, нажав на кнопку CHANGE в пункте Network SSID .
Переключите режим сети из AP+STA в STA кнопкой SWITCH TO STA MODE .
В колонке WiFi Mode отобразится режим STA .
Это значит, вы всё сделали верно, и можно переходить к прошивке платы по Wi-Fi.
Видеообзор
Разъём для внешнего питания
Разъём для подключения внешнего питания от 7 В до 12 В.
Мозг платформы
Troyka Wi-Fi основан на модуле ESP-12 с чипом ESP8266EX от Espressif.
Чип ESP8266EX
Чип ESP8266 — выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле). В основе кристалла входит процессор семейства Xtensa — 32-х битный Tensilica L106 с частой 80 МГц с ультранизким энергопотреблением, радиочастотный трансивер с физическим уровнем WiFi IEEE 802.11 b/g/ и блоки памяти SRAM. Мощности процессорного ядра хватает для работы сложных пользовательских приложений и цифровой сигнальной обработки.
Программное приложение пользователя должно храниться на внешней микросхеме Flash-памяти и загружаться в ESP8266EX через один из доступных интерфейсов (SPI, UART, SDIO и др.) каждый раз в момент включения питания системы.
Чип ESP8266 не содержит в себе Flash-память и многих других компонентов для пользовательского старта. Микросхема является основой на базе которой выпускаются модули с необходимой периферией, например ESP-12.
Модуль ESP-12
ESP-12 — плата-модуль WiFi на базе популярного чипсета ESP8266EX . Под металлическим кожухом находится микросхема Flash-памяти объёмом 2 МБ, чип ESP8266EX и кварцевый резонатор. Flash-память необходима для хранения программного обеспечения. При каждом включении питания, ПО автоматически загружается в чип ESP8266EX.
Рядом с кожухом расположен индикаторный светодиод и миниатюрная антенна из дорожки на верхнем слое печатной платы в виде змейки. Металлический кожух экранирует компоненты модуля и тем самым улучшает электромагнитные свойства.
По периметру платы расположены 22 пина через которые модуль ESP-12 взаимодействует с внешним миром. В нашем случае коммуникация с компонентами и модулями на платформе Troyka Wi-Fi.
Wi-Fi модуль как самостоятельный контроллер
Wi-Fi (Troyka-модуль) — очень умный модуль. Под металлической крышкой прячется целый микроконтроллер, который можно программировать на языке C++ через Arduino IDE и JavaScript через Espruino Web IDE .
Troyka контакты
Сигнальный (TX) — цифровой выход Wi-Fi модуля. Используется для передачи данных в микроконтроллер. Подключите к пину RX микроконтроллера.
Сигнальный (P) — используйте для перевода модуля в режим сна. Подключите к любому цифровому пину микроконтроллера.
Сигнальный (RX) — цифровой вход Wi-Fi модуля. Используется для приёма данных из микроконтроллера. Подключите к пину TX микроконтроллера.
ICSP-разъём для ATmega16U2
ICSP-разъём предназначен для внутрисхемного программирования микроконтроллера ATmega16U2.
Последние пару лет практически все прототипирование несложных IoT-устройств я делаю на NodeMCU, хотя зачастую она и великовата по размеру, и дороговата, и избыточна по функционалу. А все потому, что имела неудачный опыт с ESP-01, которая совершенно не поддавалась прошивке. Сейчас пришло время преодолеть этот барьер и освоить другие железки, от которых мне нужно следующее - Wi-Fi и пины для подключения периферии.
В этой статье разберем подключение к платформе Интернета вещей наиболее популярных плат с интерфейсом Wi-Fi. Их можно использовать, чтобы управлять своим устройством дистанционно или чтобы снимать показания с сенсоров через интернет.
Несколько представленных в статье модулей (ESP-01, ESP-07, ESP-12E, ESP-12F) и плат (Goouuu Mini-S1, WeMos D1 mini и NodeMCU V2) базируются на контроллере ESP8266, использование которого позволяет простым и дешевым способом добавить в своё устройство беспроводную связь через Wi-Fi.
Так выглядит модельный ряд модулей на базе чипа ESP8266.
Последняя плата из тех, о которых я расскажу (ESP32 WROOM DevKit v1), построена на контроллере семейства ESP32 - более продвинутой по своим возможностям версии ESP8266.
Все представленные модели можно программировать и загружать прошивки через Arduino IDE точно так же, как при работе с Arduino.
Читайте также: