Наконец-то, по многочисленным просьбам мы начинаем знакомство, а впоследствии, как я думаю, и полноценную работу по программированию микроконтроллера ESP8266.
Данный контроллер является собственностью китайского производителя Espressif, и основную свою популярность среди программистов он снискал благодаря наличию беспроводного интерфейса Wi-Fi. Также немаловажным фактором является его очень низкая стоимость и также наличие на сегодняшний момент многочисленной документации, а также программного обеспечения, позволяющего самостоятельно писать для него программы на различных языках. О сфере использования данного контроллера в различных устройствах я вообще даже боюсь и говорить. Она очень многообразна: интернет вещей, сбор информации с различных датчиков и приборов, передача на другие устройства, где нет возможности протянуть к ним провода и т.д.
Поставляется данный контроллер в основном в виде различных модулей, многообразие которых не может не удивлять.
Вот это лишь некоторая часть из них
У меня также имеется в наличии ряд таких модулей, так как мне также небезразлично развитие данных технологий, ну и, повлияли также и ваши многочисленные просьбы.
Также я много думал о том, с чего начать рубрику по данному контроллеру. Вообще, честно говоря, хотелось приступить сразу к написанию программ и их прошивке в модуль. Но, так как в данных модулях сразу имеется определённое прошитое ПО, позволяющее уже с ним работать по интерфейсу UART посредством AT-команд, и, так как просьб по работе с AT-командами данного контроллера было тоже немалое количество, то начнём мы именно с них. А дальше уже покажет обстановка.
Прежде чем приступить к практической работе с модулем, мы познакомимся поначалу с контроллером, а затем уже будем знакомиться с модулями, а вернее с самым простым из них — ESP-01.
Практически во всех модулях, построенных на контроллере ESP8266 имеется в наличии внешняя микросхема FLASH-памяти, так как у контроллера, к сожалению, внутренней FLASH-памяти на борту нет. Но зато в этом есть и плюсы, позволяющие установить данную память различного размера.
Поначалу с архитектурой контроллера ESP8266 мы познакомимся очень кратко, так как сразу со всеми его многочисленными регистрами памяти мы работать не будем, и поэтому если мы их изучим сразу, то когда уже приступим к их использованию на практике, мы всё непременно забудем.
Основные технические характеристики контроллера ESP8266 (а точнее ESP8266EX), касающиеся передачи данных по Wi-FI:
- поддержка протокола 802.11 b/g/n,
- поддержка 802.11n (2.4 GHz), до 72.2 Mbps,
- дефрагментация,
- 2 виртуальных передатчика Wi-Fi,
- поддержка шифрования WPA/WPA2 WEP/TKIP/AES,
- выходная мощность +20 дБм в режиме 802.11b,
- WiFi режим — STA (станция), программная точка доступа, программная точка доступа + STA (станция).
Это лишь некоторые самые интересные характеристики по передаче данных.
Также приведу некоторые остальные характеристики:
- встроенный MCU 32-бит с низким энергопотреблением,
- встроенные блоки ФАПЧ и управления мощностью,
- встроенный стек протоколов TCP/IP с поддержкой протоколов передачи данных IPv4, TCP/UDP/HTTP
- интерфейсы SDIO 2.0, SPI, HSPI UART, I2C, I2S, IRDA, PWM, GPIO,
- поддержка различных режимов пониженного энергопотребления,
- диапазон рабочих температур –40°C ~ 125°C,
- загрузка (а также и выгрузка) ПО по интерфейсу UART,
- питание 2.5V ~ 3.6V (стабильная работа контроллера, как подтвердила практика, наблюдается при стабилизированном напряжении 3.3V).
Токи потребления контроллером в активном режиме при определённых режимах и скоростях передачи данных
А это токи потребления контроллером в различных режимах пониженного энергопотребления, а также что остаётся в данных режимах в работе
Находится микроконтроллер ESP8266 в 32-пинном QFN корпусе.
Вот основное назначение ножек (возможен REMAP)
А вот это блок-схема
То, что там нарисован FLASH вовсе не свидетельствует о его наличии, поэтому он него идёт соединительная линия к интерфейсам, подчёркивающая его подключение через внешний интерфейс.
Также об этом свидетельствует и вот этот пункт, в котором обозначены параметры подключаемого внешнего FLASH
Оперативной памяти в контроллере около 50 килобайт.
Процессор в контроллер ESP8266 встроен Xtensa L106 от компании Tensilica. Работает он на частоте до 80 мегагерц, возможен также негарантированный разгон до 160 МГц.
Вообщем, это пока всё, что я хотел сказать вам о контроллере ESP8266. В дальнейших уроках мы уже начнём знакомство с отдельными модулями, научимся управлять их работой сначала с помощью команд AT, а затем уже напишем свои прошивки, позволяющие работать с модулем самостоятельно и более гибко, а также впоследствии мы обязательно подключим данный контроллер к другому контроллеру общего назначения, в частности к STM32, к которому мы с вами уже так привыкли, что позволит ещё более профессионально организовать процессы передачи данных между устройствами без использования проводов.
Всем спасибо за внимание!
Программирование МК ESP8266 Следующий урок
Различные модули ЕSP8266 можно приобрести здесь Модули ЕSP8266
Смотреть ВИДЕОУРОК (нажмите на картинку)
Наконец-то Владимир вернулся)
Дык я никуда и не уходил, просто теперь мёртвый сезон закончился, пора и честь знать.
Большое спасибо! С нетерпением ждём продолжения. Уважаем Ваш добросовестный и системный подход к ликвидации околоконтроллерной безграмотности.
Есть вопросы :
правильно ли я понимаю?
1. ESP8266 — это на ARM?
2. Официальных даташитов на ESP8266 нет ?
3. Есть только набор закрытых библиотек для использования?