
ESP8266 - это SoC UART для Wi-Fi, построенный на базе процессора Tensilica Xtensa LX3, который поставляется на несколько сбивающем с толку разнообразии коммутационных плат. Наиболее распространенной из них является ESP-01, которая имеет крошечный форм-фактор и может стоить дешевле. чем 5 долларов. Однако, пожалуй, самое интересное то, что теперь он поддерживается Arduino IDE.
ESP8266 не может делать все, что можно сделать с Arduino. Однако это не обязательно должно быть столько же, потому что за 5 долларов вы можете позволить себе купить 5 или 6 штук по цене одной платы Arduino. Это большое дело.
ESP8266 уже был на пути к тому, чтобы стать – почти незаметно – одной из ведущих платформ Интернета вещей. Он очень дешев, с ним очень легко работать, и на самом деле его довольно легко - в таких случаях - взять в руки, что вносит освежающие изменения. Однако появление совместимости с Arduino теперь открыло возможности для гораздо более широкой аудитории.
“Это достаточно недорого, чтобы быть на территории «тысяч датчиков, запускаемых из пушки». - Брайан Джепсон
Несколько дней назад я разговаривал с Ричардом Слоаном, который управляет сайтом сообщества ESP8266.com и который вместе с Иваном Грохотковым проделал работу по добавлению ESP8266 в Arduino IDE. Мы говорили об этом и о том, как, по его мнению, ESP8266 вписывается в текущий рынок.
Make: ESP8266 очень быстро прошёл долгий путь, и теперь вокруг него собралось большое сообщество. Как вы думаете, почему?
Слоан: Я думаю, что ESP8266 продвинулся так быстро из-за низкой цены и простоты, с которой вы можете приобрести плату со встроенным чипом, что это поставило перед создателями/хакерами задачу освоить этот минимум. стоимость зверя.
Make: Вы только что выпустили версию Arduino IDE, поддерживающую ESP8266. Можете ли вы рассказать нам о проделанной работе?
Слоан: Почти 3 месяца ушло на то, чтобы довести дело до нынешнего состояния, мы провели много тестов на реальном оборудовании и хотели выпустить продукт, который уже почти готов, с солидной базой кода.
Make: Сталкивались ли вы с какими-либо серьезными архитектурными проблемами или другими проблемами при реализации поддержки?
Sloan: Приложение должно быть многозадачным из-за стеков TCP и WiFi, а код Arduino по своей сути является блокирующим, поэтому необходимо позаботиться о том, чтобы вернуться к многозадачному коду ESP, чтобы не сломать его. Если пользователь собирается написать процедуру блокировки, ему необходимо вызвать задержку(0) или выход(), чтобы предотвратить взлом кода и срабатывание сторожевого таймера.
Make: В новую IDE Arduino 1.6.2 добавлены дополнительные возможности для поддержки сторонних плат. Планируете ли вы на этом этапе объединить вашу поддержку с основной IDE?
Слоан: Да, нам нужно поработать над этим с Arduino LLC.
Make: совместимость с Arduino, безусловно, повысит привлекательность модуля. На какие ограничения или сюрпризы следует обратить внимание кому-то с традиционным опытом работы с Arduino, только что перешедшему на платформу?
Слоан: По сути, у вас ограниченный ввод-вывод и периферийные устройства, вот и все отличие. UART есть, но нет реального SPI или I2C, с ними придется обращаться довольно сложно.
Make: Какие трудности могут возникнуть при переносе существующего кода Arduino на новый модуль? Я особенно думаю о библиотечном коде?
Слоан: Опять же, ввод-вывод - это, конечно, проблема, большинство стандартных библиотек в настоящее время работают, а если они не работают, то это обычно быстрое решение, если только они не включают тонны прямых аппаратных вызовов AVR.
Марка: ESP8266 обычно поставляется в различных форм-факторах плат. Можете ли вы рассказать нам о них и какие вы бы порекомендовали для разных типов проектов?
Слоан: Сейчас я много играю с ESP-01, но ESP-12, кажется, становится популярным из-за того, что на нем закреплены все входы/выходы.
Make: Есть ли еще что-нибудь, что особенно рекомендует эту платформу, помимо цены? В какую нишу, по вашему мнению, это вписывается?
Слоан: Он очень хорошо подходит для устройств, которым требуется всего несколько операций ввода-вывода, в этом его яркая точка, и на сегодняшний день пропускная способность передачи данных была небольшой проблемой, поэтому нет ничего, что перекачивало бы слишком много данных..
Make: Как вы видите развитие платформы со временем?
Слоан: Я думаю, что следующим шагом будут сопроцессоры ввода-вывода для расширения их использования. Мы сейчас работаем над этим, но подробностей пока нет, это может быть для следующей статьи.
Недавно мы опубликовали серию из трех статей о микроконтроллере ESP8266. В первой части серии рассказывается о плате, во второй рассказывается об установке новой среды Arduino, сборке и загрузке вашего первого эскиза, а в последней части рассказывается о создании макетного адаптера для коммутационной платы ESP-01.