Электронные компоненты для ремонта и хобби

Делаем самое маленькое IoT устройство на ESP8266-01

ESP8266-01

В этом проекте мы будем использовать плату ESP8266-01 Wi-Fi, чтобы создать небольшое устройство интернета вещей (IoT) для домашней автоматизации, имеющего функции Wi-Fi. Система работает на локальном веб-сервере, и работать с ней легко даже новичкам. Благодаря этому проекту мы сможем управлять не боле чем двумя бытовыми устройствами переменного тока, лучше всего подходящими для небольших проектов IoT.

Алкалиновые батарейки POWER FLASH – новая продукция в линейке поставок Компэл

Компания Espressif разработала микросхему ESP8266 с поддержкой Wi-Fi, доказавшую свое удобство применения в области IoT. Это привело к появлению различных плат ESP с открытым исходным кодом, что позволяет даже новичку создавать приложения, использующие Wi-Fi (Рисунок 1).

ESP-01 версия 1 МБ (слева) и версия 0.5 МБ (справа).
Рисунок 1. ESP-01 версия 1 МБ (слева) и версия 0.5 МБ (справа).

Для локального веб-сервера нам не требуется Интернет – управлять всем можно через Wi-Fi. Здесь мы будем манипулировать двумя выводами Входа/Выхода и переключать реле через веб страницу локального сервера. Бытовую технику мы можем подключить к Модулю Реле, который будет управляться ESP8266-01.

Материалы, необходимые для проекта IoT

  1. ESP8266-01: Эта плата будет «мозгом» нашего проекта (Рисунок 2).
Плата ESP8266-01.
Рисунок 2. Плата ESP8266-01.
  1. Плата FTDI (преобразователь USB-TTL) для загрузки кода в ESP8266-01 (Рисунок 3).
Плата FTDI.
Рисунок 3. Плата FTDI.
  1. Два бытовых устройства переменного тока
  2. Один двухканальный Модуль Реле (Рисунок 4).
Двухканальный Модуль Реле.
Рисунок 4. Двухканальный Модуль Реле.
  1. Беспаечная макетная плата с проводами.

Шаги по настройке ESP8266 в Arduino IDE

(Если среда Arduino IDE уже установлена, пропустите этот шаг).

Для программирования ESP8266 нам понадобится Интегрированная Среда Разработки (IDE). В качестве такой среды мы будем использовать кросс-платформенное приложение Arduino IDE. Оно написано на языке Java, а в качестве языка программирования использует С/С++ с некоторыми специальными правилами. Загрузить последнюю версию Arduino IDE можно по ссылке в разделе Загрузки.

В Arduino отсутствует поддержка семейства ESP8266, поэтому для установки библиотеки для плат ESP8266 выполните следующие инструкции.

  1. Запустите Arduino IDE. Перейдите к Файл > Настройки (Рисунок 5).
Настройки в Arduino IDE.
Рисунок 5. Настройки в Arduino IDE.
  1. В поле «Дополнительные ссылки для Менеджера плат» введите http://arduino.esp8266.com/stable/package_esp8266com_index.json. Нажмите на «OK».
  2. Перейдите к Инструменты > Плата >Менеджер плат (Рисунок 6).
Менеджер плат в Arduino IDE.
Рисунок 6. Менеджер плат в Arduino IDE.
  1.  Прокрутите список плат вниз до ESP8266 и установите «esp8266 by Esp8266 community».
  2. В меню Инструменты > Плата > ESP8266 Boards выберите Generic ESP8266 Module (Рисунок 7).
Менеджер плат в Arduino IDE.
Рисунок 7. Выбор платы в Arduino IDE.
  1. Перезапустите Arduino IDE.

Исходный код проекта IoT

Скачайте исходный код можно по ссылке, указанной в разделе Загрузки, и откройте его в Arduino IDE. Перед загрузкой в плату необходимо внести некоторые изменения в код. Давайте разберемся, как он работает.

Поместите свои учётные данные (имя и пароль) сети Wi-Fi, заменив ими xxxx. Библиотека помогает запустить функции Wi-Fi в Aruino IDE (Листинг 1).

Листинг 1. Учетные данные Wi-Fi.

В void setup() мы помещаем одноразовые команды настройки. Все команды, записанные здесь, будут выполняться после Reset только один раз или после каждой перезагрузки.

Таким образом, здесь выводы GPIO0 и GPIO2 настраиваются как выходы, а также запускается сервер.

Void loop() – место для основных исполняемых команд. Здесь по запросу подключенного клиента изменяется состояние GPIO.

Этот запрос отображается через страницу HTML (Листинг 2).

Листинг 2. Веб-страница HTML в исходном коде.

Сохраните код. Для его загрузки в плату следуйте инструкциям, приведенным ниже.

  1. Соедините выводы FTDI с выводами ESP8266 как показано на Рисунке 8.
Менеджер плат в Arduino IDE.
Рисунок 8. Прошивка ESP8266-01.
  1. После подключения FTDI USB к компьютеру в меню Инструменты > Порт выберите свой COM порт.
  2. Также проверьте, поддерживает ли ваша ESP8266 скорость 9600 бод или какую-либо другую.
  3. Теперь в меню Скетч нажмите Загрузка

Загрузка программы в ESP8266 происходит в режиме Flash Mode, который активируется при заземлении вывода GPIO0.

Теперь для запуска программы нужно выйти из режима Flash Mode. Для этого просто отсоедините GPIO0 от земли и выполните сброс. 

Для сброса ESP8266 достаточно на полсекунды соединить вывод Reset ESP8266 с землей (GND). При этом будет мигать синий светодиод.

Схема устройства IoT

Соберите схему устройства IoT как показано на Рисунке 9.

GPIO0 -> вход реле 1.
GPIO2 -> вход реле 2.

Для питания Модуля Реле будем использовать входное напряжение 5 В, а для питания ESP8266 – входное напряжение 3.3 В.

Схема устройства IoT.
Рисунок 9. Схема устройства IoT.

Подключение к сети с использованием IP-адреса

После загрузки программы откройте Инструменты > Монитор порта. ESP8266 будет пытаться подключиться к сети Wi-Fi и отобразить свой IP-адрес в Мониторе порта Arduino. Этот адрес нужен только при первом подключении. Дальше он остается неизменным, поэтому перед выполнением основных соединений этот адрес вам нужно знать. 

Убедитесь, что роутер, к которому нужно подключиться, уже открыт. Введите IP адрес ESP8266 в браузере устройства, подключенного к той же сети Wi-Fi.

URL: http://192.168.xx.xx (ваш IP, отображенный в Мониторе порта Arduino).

После этого вы сможете увидеть веб-страницу HTML, описанную кодом программы (Рисунок 10).

Схема устройства IoT.
Рисунок 10. Веб-страница HTML.

Теперь, изменяя значения в URL, можно управлять бытовыми устройствами (Рисунок 11).

Тестирование проекта домашней автоматизации IoT.
Рисунок 11. Тестирование проекта домашней автоматизации IoT.

Попробуйте ввести:

http://< ваш IP адрес >/gpio1/0
http://< ваш IP адрес >/gpio1/1
http://< ваш IP адрес >/gpio2/0
http://< ваш IP адрес >/gpio2/1

Результат работы системы домашней автоматизации.
Рисунок 12. Результат работы системы домашней автоматизации.

Загрузки

  1. Arduino IDE
  2. Исходный код программы

electronicsforu.com

Перевод: SGovor по заказу РадиоЛоцман

На английском языке: Make Smallest IoT Home Automation using ESP8266-01

Модули, , WiFi модуль, , EESP-01
Триема
Россия
CT306322 ₽
ЗУМ-СМД
Россия
ESP8266-01 (ESP-01)190 ₽
Corebai - АЦП, ЦАП, ОУ, интерфейсы и другие аналоговые микросхемы поступили на склад
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя