Каталог статей

Главная » Все схемы » Схемы устройств на микроконтроллерах » Устройства на микроконтроллерах

Выбранная схема!!!


8057
Беспроводной веб-сервер на базе ESP8266 | Проекты Ардуино

Беспроводной веб-сервер на базе ESP8266 | Проекты Ардуино

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

Чтобы восполнить этот пробел, люди из разных стран создали форум сообщества ESP8266, на котором дается необходимая информация о программировании и других вопросах, связанных с этим модулем.

Рис. 1 Авторский прототип
Рис. 1 Авторский прототип беспроводного веб-сервера на базе ESP8266

ESP8266 содержит встроенные 32-битные процессоры CPU, ROM и RAM с низким энергопотреблением. Это полное и автономное сетевое решение Wi-Fi, которое может использовать программные приложения как автономное устройство или подключаться к микроконтроллеру (MCU). Модуль имеет встроенную прошивку AT Command, которую можно использовать с любым MCU через COM-порт. Отличительными особенностями ESP8266 являются:

Рис. 2 Модуль ESP8266
Модуль ESP8266
  • Протокол 802.11 b/g/n
  • Прямая (P2P), программная точка доступа.
  • Интегрированный стек протоколов TCP/IP
  • Встроенные PLL, регуляторы и блоки управления питанием.
  • Выходная мощность +19,5 дБм в режиме 802.11b
  • Поддерживает разнесение антенн.
  • Встроенный 32-разрядный процессор с низким энергопотреблением MCU
  • SDIO 2.0, SPI, UART
  • Беспроводная связь SoC
  • Имеет GPIO, I2C, ADC, SPI, PWM
  • Максимальная частота — 80 МГц.
  • 64 КБ инструкции RAM
  • 96 КБ данных RAM
  • 64 КБ загрузочного RAM
  • RISC-архитектура
  • Беспроводной веб-сервер на базе ESP8266

    Принципиальные схемы Основная плата и дочерняя плата показаны на рисунках 3 и 4 соответственно. Мы использовали ESP8266 как автономное устройство. Напряжение питания модуля Wi-Fi составляет 3,3 Вольта. Дочерняя плата должна быть установлена на основной плате.

    CON2 используется в качестве интерфейса COM-порта для подключения модуля к ПК, а модуль программируется с помощью преобразователя USB в последовательный порт. Если на ПК доступен физический COM-порт, преобразователь USB в последовательный порт не требуется.

    Модуль ESP8266 имеет 16 контактов. Вывод 1 (RESET) подключен к 3,3 В через резистор R5, а кнопка S2 предназначена для ручного сброса. Вывод 12 режима программирования (GPIO0) подключен к 3,3 В через R3, а S1 используется для перевода модуля в режим программирования. Контакт 3 (CH_PD) подключен к 3,3 В через R8.

    ESP8266 также имеет 10-битное разрешение общего назначения ADC (контакт 2). Обычно он используется для измерения напряжения датчика или аккумулятора. Его нельзя использовать во время передачи чипа, иначе напряжение может быть неточным.

    Рис. 3 Принципиальная схема основной платы недорогого процессора на базе ESP8266 Wi-Fi Веб-сервер
    Рис. 3 Принципиальная схема основной платы недорогого беспроводного веб-сервера на базе ESP8266
    Рис. 4. Схема дочерней платы для схемы, показанной на рис. 3
    Рис. 4 Принципиальная схема дочерней платы для схемы, показанной на рис. 3

    Все контакты цифрового ввода/вывода (I/O) защищены от перенапряжения с помощью схемы мгновенного возврата, подключенной между контактной площадкой и землей. Напряжение возврата обычно составляет 6 В, а напряжение удержания — 5,8 В. Это обеспечивает защиту от перенапряжения и ESD. Выходные устройства также защищены от обратного напряжения диодами. LED1 подключен к контакту 11 (GPIO2). Контакт 6 (GPIO12) подключен к 3,3 В через R4 и снабжен кнопкой (S3) для целей отладки.

    Каждый поставщик модулей Wi-Fi придерживается своей схемы расположения выходных контактов. Поэтому невозможно следовать стандартному шаблону PCB. Читатели EFY могут создать свой собственный PCB. Авторы этой статьи приобрели модуль ESP8266 (модель Sunrom № 4255) у Sunrom Technologies, и PCB разработан с учетом их требований.

    Рис. 5 Окно настроек Arduino IDE
    Рис. 5 Окно настроек Arduino IDE

    Реализовано приложение для измерения температуры в помещении с помощью датчика температуры LM35 и элемента управления LED (включение/выключение) с помощью веб-браузера. LM35 — это калиброванный датчик температуры, чувствительность которого составляет 10 милливольт/1°C, но можно также создавать индивидуальные проекты.

    Рис. 6. Окно веб-страницы
    Рис. 6 Окно веб-страницы
    Рис.7 Логотип EFY

    ESP8266 можно использовать в домашней автоматизации, ячеистых сетях, промышленном беспроводном управлении, камерах IP, сенсорных сетях, интеллектуальных розетках питания, радионянях, носимой электронике, идентификационных метках безопасности, маяках системы определения местоположения и устройствах, определяющих местоположение.

    Программное обеспечение

    Мы использовали Arduino IDE для компиляции и загрузки программ на этом беспроводном веб-сервере на базе ESP8266. Сообщество ESP8266 разработало подходящий плагин для ESP8266 для использования с Arduino IDE. Плагин поддерживает три типа плат ESP8266 Wi-Fi. Это базовая плата ESP8266, плата узла MCU ESP8266 и плата разработки OLIMEX ESP8266.

    Установка дополнения ESP8266 Arduino. Установите Arduino IDE (версия 1.6.5). Запустите Arduino IDE и откройте окно настроек, выбрав «Файл» -> «Настройки» (рис. 5). Выберите поле URL-адреса дополнительных менеджеров плат: и введите http://Arduino.esp8266.com/stable/package_esp8266com_index.json. Нажмите ОК.

    Откройте Менеджер досок, выбрав «Инструменты» ->>gt; Доска: Arduino Uno -> Boards Manager и прокрутите вниз, чтобы найти ESP8266 от сообщества ESP8266. Выделите поле и появится кнопка «Установить». Нажмите на него. При наличии подключения к Интернету этот процесс займет около 30 минут.

    Программное обеспечение простое. Процедура setup() инициализирует оборудование, настраивая последовательный порт, вывод GPIO2 в качестве выхода и GPIO12 в качестве входа. Процедура setupWiFi() настраивает секцию беспроводной связи. Функция цикла() обрабатывает запросы от клиента.

    Функция size_t sendProgmem (клиент WiFiClient, const char progmem[], size_t size) отправляет данные клиенту. массив IN[ ] соответствует веб-странице (рис. 6), массив image[ ] соответствует EFYLOGO (рис. 7), а массив ES[ ] соответствует модулю (рис. 2).

    Массивы создаются с помощью программы преобразования файлов в массив hexy. Оно бесплатное и его можно скачать из Интернета. При создании массива удалите расширение изображения jpg для целей декодирования. В эту статью включены все файлы jpg.

    Включены подходящие процедуры для изменения и сохранения SSID и пароля. После того, как конфигурация ESP8266 выполнена для Wi-Fi, для интерфейса LCD используется 8-битная программа последовательного сдвига в регистр параллельного сдвига с использованием HCF4094.

    Создание и тестирование

    Односторонний PCB для основной платы показан на рис. 8, а расположение его компонентов — на рис. 9. Односторонний PCB для дочерней платы показан на рис. 10, а расположение его компонентов — на рис. 11. IC6 припаивается к нижней стороне после правильной идентификации.

    Рис. 8. Шаблон основной платы PCB фактического размера
    Рис. 8 PCB рисунок основной платы
    Рис. 9. Расположение компонентов основной платы
    Рис. 9 Расположение компонентов основной платы

    Установите программное обеспечение драйвера преобразователя USB в последовательный UART (рис. 12) и выполните тестирование по шлейфу.
    Выберите универсальный модуль платы ESP8266 на панели инструментов: Arduino Uno. Arduino IDE примет вашу плату, и вы сможете объединить программу с помощью кнопки «Загрузить». Чтобы объединить программу с модулем, подключите COM-порт (CON2) основной платы к компьютеру через преобразователь последовательного сигнала в USB и выберите, а также запишите номер эмулируемого виртуального COM-порта.

    Рис. 10. Шаблон дочерней доски PCB фактического размера
    Рис. 10 PCB образец дочерней доски
    Рис. 11 Компоновка компонентов дочерней платы
    Рис. 11 Расположение компонентов дочерней платы

    Включите основную плату

    Удерживая кнопку программирования S1 (GPIO0), нажмите кнопку сброса (S2). Отпустите кнопку Reset, а затем отпустите кнопку S1 (GPIO0). Теперь ESP8266 перейдет в программный режим. Нажмите кнопку «Загрузить», и программа скомпилируется, а сгенерированный bin-файл загрузится в модуль.

    Рис. 12 Конвертер USB в последовательный UART
    Рис. 12 Преобразователь USB в последовательный UART

    Отключите основную плату и включите ключ Wi-Fi. Откройте гипертерминал (гипертерминал X-CTU использовался в лаборатории EFY) на ПК со скоростью передачи данных 115200 и выберите COM-порт. Удерживайте S3 и включите основную плату. Вы получите запрос на ввод SSID и пароля. Отпустите switch и введите SSID и пароль вашей сети Wi-Fi через запятую. Нажмите Enter. SSID и пароль будут храниться в EEPROM.

    Для последующего использования вам не обязательно использовать S3. При подключении Wi-Fi на LCD1 будет отображаться адрес IP модуля ESP8266. Запустите браузер с адресом IP. Вы получите веб-страницу, как показано на рис. 6. Кнопки, обозначенные как LEDON и LEDOFF, предназначены для включения и выключения LED1. Такие устройства, как вентиляторы и двигатели, можно включать и выключать с помощью подходящей схемы релейного драйвера с использованием оптронов, подключенных к контакту 11 (GPIO2). Состояние контакта 6 (GPIO12) и показания температуры отображаются с помощью сценариев AJAX без обновления всей веб-страницы.

    Загрузите PCB и PDF-файлы компоновки компонентов: нажмите здесь

    Загрузить исходный код: нажмите здесь

    Если этот проект Интернета вещей оказался для вас полезным, вам также может понравиться 30+ лучших проектов Интернета вещей | Идеи проектов Интернета вещей для энтузиастов.

    Статья была первоначально опубликована в апреле 2016 года и недавно обновлена.


    Категория: Устройства на микроконтроллерах | Добавил: Администратор (20.05.2026)
    Просмотров: 94 | Рейтинг: 0.0/0


    Всего комментариев: 0

    Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
    Жалоба

    ьте свои комментарии !!!!

    Имя *:
    Email:
    Код *:

    Copyright Zloy Soft (Company) © 2008 - 2026