
Часть 2 из трёх постов о новом микроконтроллере ESP8266
Посмотрев на WiFi-микроконтроллер ESP8266 стоимостью 5 долларов и новую среду разработки, совместимую с Arduino, которая только что была выпущена, давайте приступим к его тестированию.
Установка специальной сборки Arduino IDE действительно не может быть проще. Я использую Mac, и на этом этапе все сводится к загрузке готового двоичного релиза с GitHub. Пользовательский двоичный файл будет прекрасно жить вместе с вашей существующей стандартной средой разработки Arduino - на самом деле, помимо сборки ESP8266, я думаю, что на данный момент у меня установлено шесть или семь других версий среды с номерами версий от 1..0.x до последней сборки 1.6.x.
Однако, несмотря на то, что это можно сделать, установка отдельной среды на самом деле не обязательна. Одной из особенностей новой версии среды Arduino 1.6.x стала гораздо более упрощенная поддержка добавления и управления новыми платами.

Именно это Сандип Мистри и сделал с ESP8266. Установка почти так же проста, как и раньше - загрузите ее и переместите папку esp8266com, включенную в релиз, в папку аппаратного обеспечения вашего каталога эскизов Arduino.
Подключение модуля ESP8266

Как я уже упоминал ранее, вероятно, наиболее распространенной коммутационной платой для ESP8266 является ESP-01. К сожалению, хотя модуль ESP-01 имеет стандартный разнесенный разъем на одном конце, его распиновка довольно неудобна при работе с макетами. Из-за особенностей расположения контактов вы не сможете просто подключить модуль непосредственно к макетной плате, вам придется отсоединить несколько соединительных кабелей.
Вам необходимо подключить контакт VCC к источнику питания +3,3 В, а контакт GND - к земле. RX платы должен быть подключен к TX вашего компьютера, а TX платы должен быть подключен к RX вашего компьютера.
Кроме того, чтобы включить плату, вам необходимо поднять высокий уровень контакта CH_PD до +3,3 В, а чтобы вы могли загружать свои эскизы, вам необходимо перевести ESP8266 в режим загрузчика, потянув контакт GPIO_0 на низкий уровень. и переключение питания на плату.
Два самых простых способа подключить плату к компьютеру, чтобы вы могли загрузить эскиз Arduino в ESP8266, - это использовать плату адаптера FTDI, например FTDI Friend, или стандартный кабель FTDI.

Просто помните, что если вы используете кабель, вам также понадобится стабилизатор 3,3 В или сделайте делитель напряжения из резисторов, поскольку кабель FTDI работает на 5 В, а ESP8266 работает. всего 3,3 В.

После загрузки скетча вам нужно будет снять перемычку между GPIO_0 и GND, чтобы все работало правильно.
Загрузка эскиза
Сценарий использования ESP8266 - управление вещами через сеть, это классическая платформа Интернета вещей. Давайте начнем с того, что сделаем что-то вроде Интернета вещей, включив и выключив светодиод с помощью Интернета. В конце концов, если вы можете включать и выключать светодиод, вы уже на полпути к чему угодно.

Подключите светодиод обычным способом к запасному контакту GPIO, это будет GPIO_2, а затем откройте Arduino IDE. Выберите «Общая плата ESP8266» в меню «Инструменты» → «Платы» и последовательный порт, к которому подключена ваша плата, в меню «Инструменты» → «Порты». Наконец выберите «esptool» в меню «Инструменты» → «Программист».
Теперь перейдите в меню «Файл» → «Примеры» → «ESP8266WiFi» и загрузите скетч «WiFiWebServer» в окно редактора. Замените значения заполнителей в скрипте для «ssid» и «password» на SSID и пароль для вашей сети Wi-Fi. Затем нажмите кнопку загрузки.
Если все пойдет хорошо, вы увидите надпись «Загрузка», а затем, через некоторое время, надпись «Загрузка завершена». Если вы столкнулись с ошибкой, вам следует дважды проверить и убедиться, что на выводе CH_PD установлен высокий уровень, а на выводе GPIO_0 - низкий уровень. Затем снова включите питание на плате, чтобы убедиться, что она находится в режиме загрузчика. Вероятно, вам также следует проверить, что RX подключен к TX, а TX к RX.
Теперь откройте последовательный монитор, снимите перемычку между контактом GPIO_0 и GND и снова включите питание платы. Если вы не переключите питание платы на этом этапе, ваш скетч не будет загружен.
Однако, если все идет хорошо, вы должны увидеть что-то вроде этого,
Подключение к беспроводной сети. Сервер, подключенный к Wi-Fi, запущен 192.168.1.224
, который сообщает вам, что плата подключилась к сети, и, что немаловажно, какой в итоге оказался IP-адрес платы при согласовании подключения к DHCP-серверу.
Плата ESP-01, на которой работает пример эскиза «WiFiWebServer»
Теперь вы можете просто зайти в браузер и использовать конечную точку https://gpio/1, чтобы поднять GPIO_2 на высокий уровень, и включить светодиод, или https://gpio/0, чтобы поднять GPIO_2 на низкий уровень, и включить светодиод выключен. Если вы все еще подключены к последовательной консоли, вы должны увидеть что-то вроде этого, если попытаетесь включить светодиод,
новый клиент GET /gpio/1 HTTP/1.1 Клиент отключен, новый клиент GET /favicon.ico HTTP/1.1 неверный запрос
Здесь вы можете спокойно игнорировать сообщение об ошибке недопустимого запроса - это просто ваш браузер запрашивает значок, который сопровождает веб-страницы, которые он получает, он не обязательно ожидает ответа - однако в этот момент светодиод подключен к GPIO_2 должен быть включен. Попробуйте выключить его еще раз.
Если у тебя получится? Отличная работа. Вы только что воспроизвели 90 % функциональности лампочки Philips Hue и создали свою первую вещь в Интернете вещей.
Если вы внимательно посмотрите видео, вы, возможно, заметили что-то странное в плате ESP-01, которую я использую: она не подключена через адаптер FTDI или стандартный кабель FTDI. Вместо этого я использую адаптер для макетной платы.
Почему мне следует использовать ESP8266?
Хотя ESP8266 не может делать все, что вы могли бы сделать с Arduino - например, у него есть только один вывод ШИМ, который даже не виден коммутационной платой ESP-01, которую мы здесь использовали, вы бы придется поискать что-то вроде доски Olimex, которую Сандип использовал, чтобы получить к ней доступ, но за 5 долларов это выгодная сделка.
За 5 долларов это не обязательно будет столько же, сколько с Arduino, потому что за 5 долларов вы можете позволить себе купить 5 или 6 штук по цене одной платы Arduino.
“Это достаточно недорого, чтобы быть на территории «тысяч датчиков, запускаемых из пушки». - Брайан Джепсон
ESP8266 уже был на пути к тому, чтобы стать – почти незаметно – одной из ведущих платформ Интернета вещей. Он очень дешев, с ним очень легко работать, и на самом деле его довольно легко - в таких случаях - получить в руки, что вносит освежающие изменения.
Однако появление совместимости с Arduino является шагом вперед, внезапно растущее, но все еще небольшое сообщество открыло свою платформу для гораздо большего сообщества. Внезапно появилось огромное количество людей, которые знают, как работать с советом директоров, и я думаю, мы увидим взрывной рост проектов и продуктов, которые иначе не были бы созданы. Потому что внезапно в наши руки попала плата Wi-Fi, которой мы все знаем, как пользоваться, и которую можно практически выбросить.
Достаньте паяльник и купите несколько плат, мне бы хотелось посмотреть, что вы с их помощью создадите. Особенно, если речь идет о пушках.
Это второй из трёх постов о микроконтроллере ESP8266. В первой части серии рассказывается о плате, а в третьей части рассказывается о создании макетного адаптера для коммутационной платы ESP-01.