Espressif что за устройство в роутере
Wi-Fi чипы Espressif ESP8266 и ESP8285
Компания Espressif — это один из мировых лидеров по разработкам и производству ультрасовременных Wi-Fi-систем-на-кристалле и беспроводных решений для телекоммуникаций и IoT-приложений.
Помимо популярных модулей компания выпускает Wi-Fi чипы, самые популярные из которых ESP8266 и ESP8285 (система на кристалле).
ESP8266EX
Wi-Fi-чип ESP8266 предназначен для развертывания точки доступа Wi-Fi. Он реализован на базе RF-процессора, имеет собственные UART, GPIO и SPI-интерфейсы и LDO-источники питания периферии. Это делает возможным использование чипа для разработки автономных устройств. Более того, модуль позволяет заливать собственные прошивки.
Характеристики Wi-Fi-чипа ESP8266EX:
ESP8285
Модули ESP8285 являются молодой разработкой компании Espressif, их выпуск был начат в 2016 году. Модули сразу получили популярность благодаря схожему функционалу и аналогичной стоимости с хитом ESP8266.
В базе радиомодуля лежит контроллер 80 МГц L106 от Tensilica (с возможностью разгона до 160 МГц). По сравнению с предшественником ESP8266 Flash память модуля для хранения данных и программ расширена до 1 МБ, а габаритные размеры, наоборот, уменьшены до QFN-32. На базе модуля ESP8285 производятся отладочные платы со встроенной микросхемой FTDI FT230X для записи, которая дает возможность напрямую записывать программный код Arduino без использования дополнительных программаторов. Также на плате есть датчики освещенности, температуры и влажности, которые позволяют быстро собрать погодную станцию или регистратор.
Особенности
— архитектура ESP8266EX + встроенная flash-память 8Мбит для хранения данных и программы
— радиоблок 2.4 ГГц соответсвует 802.11 b/g/n
— поддерживаются режимы WiFi Direct (P2P), soft-AP (точка доступа)
— встроенный стек TCP/IP
— встроенные радиокомпоненты, прямое подключение к антенне (TR switch, balun, LNA, усилитель мощности и согласующие цепи внутри чипа)
— встроенные компоненты тактирования, требуется только внешний кварцевый резонатор
— выходная мощность +19.5dBm в режиме 802.11b
— потребление в выключенном режиме — потребление в режиме ожидания — процессорное 32-битное RISC ядро также может исполнять код приложения
— последовательные интерфейсы SDIO 1.1/2.0, SPI, UART
— шифрование WEP, TKIP, AES, and WAPI (в т.ч. поддерживается WPA2)
— корпус QFN32.
ESP8266: Революция в мире интернета вещей
В не столь далекие времена поддержка устройством Wi-Fi-соединения была дорога, громоздка и не энергоэффективна. Разработчики вынуждены были использовать радиоинтерфейсы на базе различных конкурирующих решений. Выдумывали свои «велосипеды» на уровне протоколов. И попадали в заветный Wi-Fi только с использованием дополнительных устройств, реализующих функционал моста. Стоивших весьма заметные деньги.
Но жизнь идет. Технологии стремительно развиваются. Термин «Интернет вещей» все чаще на слуху. Многим производителям микросхем, большим и не очень, наконец-то стало актуальным решить извечную проблему интеграции Wi-Fi в небольшие и недорогие устройства. Чтобы иметь возможность подключить их напрямую в инфраструктуру, уже имеющуюся почти в каждом жилище. Чтобы отъесть как можно больший кусок грядущего нового рынка подключаемых к сети простых устройств.
UART-WIFI мост на ESP8266
Модуль уже можно купить на Taobao, AliExpress и во множестве других мест. Доступной документации мало, но руководство по работе через AT-команды можно свободно скачать уже даже не только на китайском языке. В сети начинают появляться примеры работы с модулем для Arduino:
Интересная схемотехника, сравнение с конкурентами
Из пресс-релизов Espressif заметно, что производитель гордится степенью интеграции компонентов своего чипа. Действительно, типовая обвязка микросхемы состоит всего из семи элементов. Плата модуля практически пуста, компонентов — мизерное количество. Все это естественно будет сказываться на стоимости конечных устройств в сторону удешевления.
Если взглянуть на продукцию конкурентов, выигрыш минимизации штатной обвязки становится еще более очевидным. Так выглядит типовой модуль на базе MT7681, конкурирующего решения от Mediatek:
Вот модуль на базе чипсета от Marvell, «a highly cost-effective, flexible and easy-to-use hardware/software platform to build a new generation of connected device»:
В чем революция?
С появлением таких недорогих решений даже у домашних разработчиков различных arduino-решений «умных домов» появляется недоступная до сих пор возможность подключения своих устройств в Wi-Fi-сети. ESP8266 уже называют в интернете «убийцей NRF24LE1». При даже меньшей стоимости модули на базе ESP8266 сулят гораздо больше возможностей. Теперь в устройствах на Arduino можно будет просто и недорого реализовать и полноценный веб-интерфейс, и удобный JSON API.
Продвинутые разработчики смогут использовать чип в качестве основного процессора в своих решениях с беспроводными датчиками, устройствами управления светом, водой и любыми другими «вещами», которые окружают каждого человека в его повседневной жизни.
КОМПАНИЯ ESPRESSIF. ОБЗОР ПРОДУКЦИИ
Компания Espressif Systems (Шанхай, Китай) – абсолютный лидер в области разработки и производства высокопроизводительных маломощных Wi-Fi и Wi-Fi / Bluetooth- решений. Чипы, модули и программное обеспечение Espressif разрабатывается большой международной командой квалифицированных разработчиков.
В январе 2018 года Espressif произвела и продала 100-миллионный SoC (System-on-a-Chip) чип ESP8266EX, подтвердив своё абсолютное лидерство на рынке IoT. Чипированные и модульные решения компании ежегодно отмечаются многочисленными наградами крупных промышленных форумов и потребительских ассоциаций.
Выпуск в 2014 году чипа ESP8266 сегодня официально признан поворотным моментом для мирового рынка IoT. Эффект этого события был повторен выпуском текущего флагманского SoC-чипа ESP32 в 2016 году, ставшего самым интегрированным Wi-Fi+BT+BLE-чипом в истории индустрии IoT.
Сегодня решения Espressif используются во многих популярных высокотехнологичных продуктах, от планшетов, телевизионных приставок, управляющих устройств промышленной и бытовой техники до интеллектуальных приборов освещения и климат-контроля HVAC. Чипы Espressif – основа высокозащищенных профессиональных решений, таких как камеры наблюдения, механизмы и системы безопасности и контроля доступа, телеметрические системы, сенсорные сети и роботы.
Espressif совершила революцию в IoT, предоставив открытый доступ к своим кодам. Продолжением этого подхода стали многочисленные разнопрофильные платформы и вспомогательные средства разработки пользовательского программного обеспечения IoT – ESP-AT, ESP-SDK, ESPHomeKitSDK, ESP-IDF, ESP-ADF, ESP-WIFI-MESH, ESP-BLE-MESH, ESP-NOW, ESP-Skainet, ESP-TOUCH, Espressif® IoTAPP и ESP-MDF, а также ресурсы сообщества непосредственно на сайте производителя (ESP32 BBS, ESP32 GitHub, ESP32 Tools), Перечисленные информационные и программные ресурсы позволяют оперативно создавать с их помощью и в их средах клиентские проекты и платформы. Бюджетность предложения, достаточно подробная и регулярно обновляемая документация на чипы и модули и ПО для работы с ними, а также функционирующие на сайте производителя форумы разработчиков – ESP32 EnglishForum и ESP8266 EnglishForum – дополнительные весомые факторы, обуславливающие высокую популярность и востребованность решений Espressif.
Двухъядерные модули Wi-Fi с Dual-mode Bluetooth (BT + BLE)
Особенности
В основу функционала двухядерных модулей положены масштабируемые и адаптируемые возможности встроенных чипов ESP32. Чипы построены на основе двухъядерных процессоров, каждым из ядер которых можно управлять индивидуально. Тактовая частота процессора регулируется в пределах от 80 МГц до 240 МГц. Пользователь также может выключить процессор и использовать сопроцессор с низким энергопотреблением для постоянного контроля периферийных устройств, отслеживая текущие изменения или пересечения порогов.
Модули универсальны: интеграция спецификаций Bluetooth v4.2 (BR/EDR + BLE) и Wi-Fi обеспечивает возможность реализации самого широкого спектра приложений. Wi-Fi обеспечивает широкий функционал и прямое подключение к Интернету через маршрутизатор, а использование Bluetooth позволяет пользователю удобно подключаться к телефону (смартфону или планшетнику) или транслировать низкоэнергетические маяки для обнаружения устройства. Операционная система ESP32 бесплатна и основана на Amazon FreeRTOS с LwIP; TLS 1.2 со встроенным аппаратным ускорением. Также поддерживается безопасное (шифрованное) беспроводное обновление ПО (OTA), благодаря которому пользователи могут обновлять свои продукты даже после их выпуска, с минимальными затратами и усилиями. При этом новейший из модулей этой серии ESP32-WROOM-32SE интегрирует в себе ещё и микрочип ATECC608A CryptoAuth от Microchip (Secure Element для безопасного хранения критической информации об идентификации устройства и его аутентификации), обеспечивающий встроенную защиту подключенных устройств от несанкционированного доступа.
До +20 дБм на входе антенны обеспечивает устойчивость радиоканала линейки ESP32 даже в неблагоприятных условиях приёма. Классический Bluetooth для устаревших подключений, поддерживающий профили L2CAP, SDP, GAP, SMP, AVDTP, AVCTP, A2DP (SNK) и AVRCP (CT). Поддержка профилей низкой мощности Bluetooth Low Energy (BLE), включая профили L2CAP, GAP, GATT, SMP и GATT, такие как BluFi, SPP-like и т. д. BLE подключается к смартфонам, передавая низкоэнергетические сигналы-маяки для легкого обнаружения вашего устройства.
Потребление в режиме сна составляет менее 5 мкА, что делает модули на основе ESP32 оптимальными для использования в приложениях и в устройствах с батарейным питанием (компактные носимые устройства и закладки).
Модули поддерживают скорость передачи данных в радиоканале до 150 Мбит/с (при максимуме обмена через высокоскоростной UART HCI до 4 Мбит/с) и имеют интегрированную флэш-память до 16 МБ. Периферийные устройства включают емкостные сенсорные датчики, датчик Холла, малошумящие усилители сигнала, интерфейс SD-карты, поддержку Ethernet, высокоскоростной SPI, UART, I2S и I2C. Недорогие, полностью сертифицированные модификации, в т.ч. модификации со встроенными антеннами, различным объемом памяти, разным рабочим диапазоном температур и поддержкой специализированных программных стеков – идеальная основа для создания беспроводных решений IoT.
Флагман линейки – модуль ESP32-WROOM-32 имеет несколько модификаций на основе базовой платы 18х25,5 мм. Содержит чипсет ESP32 SoC, флэш-память (в различных модификациях объем памяти различается), прецизионные дискретные компоненты и антенну на PCB, обеспечивающие выдающиеся радиочастотные характеристики в приложениях с ограниченным объемом. Схемное решение модуля и оптимизированная компоновка его четырехслойной печатной платы доступны для скачивания на сайте производителя и могут использоваться в качестве исходной справочной информации для разработки собственных аппаратных решений на основе ESP32.
Модули линейки ESP32-WROVER с 4…16 МБ ОЗУ и двухъядерным процессором, с поддержкой тактовой частоты до 240 МГц, нацелены на высокие требования к производительности. Создавайте интернет-камеры, интеллектуальные дисплеи, системы голосового управления или интернет-радиоприемники с помощью высокоинтегрированных сверхмощных модулей этой линейки, подключая к ним ЖК-дисплеи, камеры, микрофоны и кодеки.
Для устройств, работающих от батарей, удобнее использовать модули ESP32-WROVER, потому что у них меньше реальная нижняя граница питания. Тем не менее, с 2019 года, после многочисленных тестов с памятью различных производителей, Espressif ограничил рекомендованный диапазон питающих напряжений модулей линейки ESP32 диапазоном 3,0 … 3,6 В.
ESP8266 с чего начать или первый опыт
В этой статье я хочу поделиться опытом того, что делать, когда в руки впервые попадают платки ESP8266. Сразу оговорюсь, что ковыряние в таких железках, равно как и программирование, это моё хобби за мои деньги и в свободное от основной деятельности время. Поэтому прошу отнестись с определенной скидкой к степени критики данного материала.
Итак, приступим!
Я заказал себе 3 варианта плат на известном китайском сайте:
Во всех инструкциях по запуску пишут, что если Вы подключили питание и появилась WiFi сеть «AI-THINKER xxxxxxx», значит устройство работает. С моими устройствами так и вышло — они все создали WiFi сеть, к которой можно было подключиться. Ура! Заработало! Обрадовался я, но рано.
Для начала решил экспериментировать с Жёлтой платой. У продавца с лучшим показателем цена-рейтинг в описании товара были только картинки. И ни слова описания. На русскоязычных ресурсах были упоминания это платы, но конкретики именно про неё не нашёл. У некоторых продавцов я видел такую инструкцию:
1. Android phone installation IOT.APK, IOS client be released later
2. shorting cap connected to the power to enter the programming mode, enter the normal operating state removed
3. Replace the battery, mobile search network «AI-THINKER» router
4. join the router (the router module form) password is: ai-thinker
5. after the success can be added directly to the control module of the mobile phone.
6. Enter the home router «SSID» and «Password» in the «Configure Device», then click on the icon at the top of the router, wait a few moments after the jump to join the router, connect the phone router WiFi, again «discovered device» to achieve control in the LAN.
Мой вольный перевод:
1. На устройство с Wi-Fi работающим на ОС Андроид (не работает на версии 5.0 и старше!) установите IOT.APK, Клиент для IOS будет выпущен позже
2. На плате необходимо снять пермычку, активирующую режим прошивки.
3. Перезагрузите модуль (отключить и подключить питание) и через минуту ищите на андроид устройстве Wi-Fi сеть «AI-THINKER»
4. Подключитесь к этой сети с паролем «ai-thinker»
5. После этого запустите установленной приложение IOT и нажмите на лупу. Плата должна автоматически определиться. После этого перемещайте ползунки, щелкайте выключателями и наблюдайте светодиоды на плате.
Нестыковка была в том, что моя сеть «AI-THINKER хххххххх» не спрашивала пароль, а сразу телефон к ней подключался. И приложение в упор не «видело» ESP после подключения. RGB светодиод горел синим с установленной перемычкой или зеленым без неё.
Я догадывался, что, возможно, китайцы спаять — спаяли, а прошить забыли (или криво прошили). Поэтому решил шить сам. Для прошивки я использовал ESP8266 Flasher. И тут вылез второй сюрприз: ни одна программа плату не распознавала, на команды не отвечала, прошивка не заливалась. Подключал через Ардуино и через UART-конвертер — ничего. Две другие платы уже успел перепрошить и помигать светодиодом, а тут глухо. Пока не догадался прозвонить контакты.
На этой плате отдельно выведены три контакты для прошивки: TX, RX, GND. Так вот оказалось, что TX разведен на RX самой ESP-12, соответственно RX — на TX. Т.е. просто надо было поменять местами два провода: к отдельно вынесенным трём контактам подключаем UART-конвертер по схеме:
TX-TX
RX-RX
GND-GND
Или Ардуино:
TX-RX
RX-TX
GND-GND
После такого открытия модуль ожил, была найдена оригинальная прошивка для мигания светодиодами (AI-THINKER-IOT-2014-10-17 165528.bin) и прошита все тем же ESP8266 Flasher. Появился пароль на точку доступа, и приложение сразу увидело Жёлтую плату. Единственный нюанс: для перепрошивки надо установить перемычку, для всех остальных случаев снять. И не забывать перезагружать устройство после перепрошивки.
ESP8266 ESP-07 вместе с Adapter Plate
Инструкция подключения ESP-07 (ESP-12) через UART-конвертер:
HomesSmart сразу ставить не хотелось и выбор пал на такой вот пример. Не буду перепечатывать схему и код — они практически такие же. Заработало не сразу, но с гуглом и бубном завелось и полетели данные на Народный мониторинг.
Загружал скрипт через ESplorer.
Жду компактный модуль питания 220AC — 3,3DC чтобы оптимизировать количество проводов.
LoLin V3 NodeMcu (Лолин)
Эту плату советовали сразу прошить прошивкой NodeMcu, что и было сделано через программу NodeMcu flasher. Сама прошивка собирается конструктором, что позволяет включить только самое необходимое.
Далее предполагалось подключение и управление 2-хканальным реле и управлять двумя бра в спальне. Тут хочу остановиться на одном ньансе. У китайского варианта такого реле есть перемычка JD-VCC — VCC — GND. По умолчанию она установлена на контакты JD-VCC — VCC.
Так вот, пермычку никогда нельзя устанавливать на VCC — GND — устроите КЗ! Эти три контакта используются для дополнительного питания реле, в случаях, когда управляющее может быть недостаточным для срабатывания реле. Присутсвие перемычки обозначает, что питание идет от «управляющих» контактов.
Скрипт был использован такой:
Я не смог повторно найти ссылку на первоисточник. Но схема проста: К Лолин подключаем на выходы D3 и D4 реле 1 и реле 2 (led1 = 3 led2 = 4). Дальше заходим на выданный нашим роутером IP адресс и видим страничку:
К моему огромному сожалению, я пока не разобрался как наводить красоту, например подключить файл CSS-стиля. Вопрос именно в задействовании отдельных файлов при выводе странички, а не в задании стиля.
Очень надеюсь что эта информация пригодиться хотябы одному человеку. И не судите строго за первую статью.
Знакомство с недорогим и функциональным микроконтроллером ESP8266: прошивка и пример использования
Авторизуйтесь
Знакомство с недорогим и функциональным микроконтроллером ESP8266: прошивка и пример использования
ESP8266 — китайский микроконтроллер (далее МК) от производителя Espressif с поддержкой WiFi-интерфейса. Управлять всем этим можно не только с браузера, но и из приложений на Android/iOS/Desktop. Если МК будет применяться там, куда не достаёт WiFi-сеть, то ESP8266 может работать в режиме точки доступа.
Примечание В этой статье не будут рассмотрены практические примеры применения ESP8266. Речь пойдёт об основных преимуществах и возможностях этого МК.
Содержание:
Микроконтроллер ESP8266 работает с внешней flash-памятью по интерфейсу SPI. Её объём варьируется от 512 Кбайт до 4 Мбайт. При желании и умении микросхему памяти можно будет перепаять на версию до 32 Мбайт.
Разновидности МК серии ESP и их плат
Существует около полутора десятка версий МК серии ESP и огромное количество плат с ними. Рассмотрим самые популярные из них.
Микроконтроллеры ESP8266
ESP-01
ESP-03
ESP-07
ESP-12
Разные варианты микроконтроллера ESP-12. Источник
В свою очередь, существует несколько вариантов этой версии: ESP-12S, ESP-12F, ESP-12E. Вторая и третья версии имеют на торце дополнительно 6 разведённых контактов.
Платы
WeMos D1 mini
Плата WeMos D1 mini. Источник
NodeMCU v0.9/v1
Первое поколение плат серии NodeMCU. На ней распаяны все 11 GPIO-портов. Некоторые из них обладают дополнительными функциями (UART, I2C, SPI, PWM, ADC). Хотя на плате впаяны контакты, она занимает всю ширину беспаечной макетной платы, что затрудняет работу на ней. МК имеет 4 Мбайт flash-памяти. Также имеется мост CH340.
NodeMCU v3
Финальная версия платы этой серии. Существует и v2 «Amica», которая меньше по габаритам. v3 носит название «LoLin» и отличается от предыдущей версии только размерами и незначительными деталями (например дополнительной распайкой шины питания). Кроме традиционного моста CH340/CH341 на платы ставят чип CP2102, так что внимательней с выбором драйвера на них.
Характеристики
Все эти (и не только эти) платы выполнены на чипсете микроконтроллера ESP8266EX, а следовательно, характеристики у них одинаковые:
Как работать с микроконтроллером ESP8266?
Есть два способа работы с ним:
Прошивка
В большинстве случаев намного удобней прошивать МК и работать с ним со своей прошивкой. Однако тут тоже есть свои нюансы. Вот 3 варианта событий:
В чём прошивается?
Например NodeMCU Flasher (которая подходит не только для плат NodeMCU) или ESPTool (необходим Python).
Однако в этой статье работа с МК и процесс прошивки будут рассмотрены в Arduino IDE.
Изначально среда Arduino IDE не предназначена для работы с МК серии ESP. Чтобы это исправить, идём в Файл → Настройки и в поле Дополнительные ссылки для Менеджера плат вставляем эту ссылку:
Потом открываем Инструменты → Плата → Менеджер плат и в открывшемся списке в самом низу находим плату «esp8266 by ESP8266 Community» (если с этим возникли трудности — используем поиск вверху окна). Устанавливаем последнюю версию платы (около 150 Мбайт).
17–19 декабря, Онлайн, Беcплатно
После установки в списке плат появится немалое количество плат. Если не нашли свою плату или не знаете её названия — выбирайте Generic ESP8266 Module. Теперь можно выбрать свой МК в списке COM-портов.
У ESP8266 две скорости передачи: основная — её вы указываете при инициализации последовательного порта, и скорость, на которой передаётся отладочная информация. Она передаётся сразу после подачи питания на МК. Обычно это скорости 115200 бод и 74800 бод 0 соответственно.
Основы
Если вы не владеете базовыми знаниями работы с платформой Arduino, наверстать упущенное можно в нашей статье про основы использования Arduino.
После скачивания платы ESP8266 с помощью менеджера, в примерах появится большое количество скетчей. Рассмотрим один из них (Файл → Примеры → ESP8266WebServer → HelloServer):
Ознакомиться с API МК можно в их официальном репозитории.
Распределение памяти
Внешняя память распределена на следующие разделы:
Файловая система SPIFFS
Один из плюсов внешней flash-памяти — файловая система. В неё можно с лёгкостью записать файлы (веб-странички, медиа-файлы и прочее) на микроконтроллеры ESP8266. На аппаратном уровне это можно было бы реализовать подключив к МК модуль SD-карт. Однако это решение требует свободных портов.
Размер файловой системы (от 32 Кбайт до 15 Мбайт) зависит от самого объема flash-памяти и от конфигурации, выставленной в Инстурменты → Flash size. Например, конфигурация 4M (2M SPIFFS) предназначена для МК с общим объёмом flash-памяти 4 Мбайт, 2 Мбайт из которых будут выделены под файловую систему.
SPIFFS не работает с папками — она содержит только список файлов. Соответственно, если загрузить в неё папку style, в которой будет файл header.css, то в файловую систему систему запишется файл с именем /style/header.css. Об этом стоит помнить, потому что длина файлового имени не должна превышать 31 символ (читается 32, но символ с кодом 0 отведён под завершение строки).
Для загрузки файлов потребуется инструмент ESP8266FS, интегрирующийся в Arduino IDE. Инструкция по установке:
Как работать с SPIFFS и файлами в ней, можно узнать в этой статье.
Энергонезависимая память EEPROM
Работа с внешней памятью немного отличается от стандартной.
Прошивка «по воздуху» OTA-Update
Для этого вам потребуется установленный Python.
Прошиваем МК по проводу. В случае успешной загрузки в списке портов появится новый хост с именем «esp8266-xxxxxx», где esp8266 — указанное выше имя хоста, а xxxxxx — локальный IP-адрес МК. Выбираем его.
Теперь микроконтроллер ESP8266 можно прошивать «по воздуху».