Подключение Wi-Fi модуля ESP8266 к микроконтроллеру STM32 (STM32L051K6T6)

В принципе, как вам, возможно, известно, микросхема Wi-Fi трансивера ESP8266 и, соответственно, модули, созданные на ее основе не требуют подключения внешнего контроллера, так как разработчиками ESP8266 изначально был открыт доступ к встроенному 32-х битному микроконтроллеру, штатно  работающему на частоте 80 МГц и поддерживающему разгон до 160 МГц. Но, учитывая дополнительные факторы, такие, например, как некоторая нестабильность работы ESP8266, требующая применения внешнего сброса, бедная периферия и, главное, достаточно большой ток потребления даже в режиме сна (~ 80 мкА, тогда как очень хотелось бы ограничиться током потребления связки контроллер + модуль Wi-Fi порядка 2—4 мкА, что вполне достижимо при применении STM32 и ключей на полевых транзисторах), то можно все же остановится на архитектуре с «нормальным» микроконтроллером и подключением модуля на базе ESP8266 в качестве периферийного устройства.


Начнем со схемы подключения. Микроконтроллер STM32L051 показан с минимальной обвязкой, позволяющей сохранять работоспособность. Из всех модулей на базе ESP8266 был выбран ESP12, так как он, благодаря большому количеству выводов, наиболее полно отражал возможности периферии самой микросхемы, что бывает крайне полезно для отладки. Схема ниже кликабельна.

 

Для реализации режима пониженного энергопотребления ESP12 может отключаться при помощи внешнего ключа на MOSFET транзисторах.

OK, включили-запитали, дым не идет, все хорошо. Попробуем наколдовать небольшую программу для выхода в Интернет. Сначала определим те выводы процессора, которые нам понадобятся для работы с ESP12:

Потом добавим несколько служебных переменных:

Потом запустим UART:

Добавим четыре служебных процедуры:

И, наконец, выйдем-таки в Интернет:

В основном цикле main на основе bool ESP_WakeUp() можно соорудить что-то вроде:

Закладка Постоянная ссылка.

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

  • Несколько случайная, но довольно любопытная информация:

    Нынешний алюминий — достаточно дешевый металл, широко применяемый в промышленности и ежегодно выплавляемый в количестве многих миллионов тонн. Но мы знаем, что до изобретения Ч. Холлом и П. Эру электролиза окиси алюминия этот металл был страшно дорог (в частности, Д. И. Менделееву в знак признания его заслуг преподнесли драгоценный дар — кубок из чистого алюминия), так как даже все знания химиков первой половины XIX века не помогли найти способ добычи алюминия в сколь-либо значимых количествах. На этом фоне особенно интересными смотрятся два события, имевших место быть в древнем мире. Во-первых, римский историк Плутарх свидетельствует, что императору Тиберию неназванным ремесленником была изготовлена корона из металла, подобному серебру — белого цвета и серебристого — но значительно легче. Во-вторых, в гробнице китайского полководца IV века Чжао Чжу были обнаружены фрагменты орнамента, которые, как оказалось по результатам спектрального анализа, содержат 10 % меди, 5 % магния и… та-дам! 85 % алюминия. Неужели наши предки знали секрет безэлектролизной добычи алюминия? Например, такие как способ Х. К. Эрстеда от 1825 года «разлагаемость хлористого алумия посредством потассия» или рецепт 1863 года русского химика Н. А. Бекетова «Глиний восстанавливается магнием из своего фтористого соединения».