Андрей Смирнов
Время чтения: ~17 мин.
Просмотров: 15

Где скачать библиотеку Esp8266 lib h для своих проектов?

Микросхема ESP8266 – один из самых популярных инструментов для организации беспроводной связи в проектах умного дома. С помощью беспроводного контроллера можно организовывать связь по интерфейсу WiFi, обеспечивая проектам Arduino выход в интернет и возможность дистанционного управления и сбора данных. На основе ESP8266 созданы такие популярные платы как WeMos и NodeMcu, а также огромное количество самодельных проектов. В этой статье, мы узнаем, что из себя представляет ESP82266, какие бывают ее разновидности, как работать с ESP8266 в среде Arduino IDE.

Описание ESP8266

ESP8266_3_of_3_1024x1024-300x300.jpgESP8266 – микроконтроллер с интерфейсом WiFi, который имеет возможность исполнять программы из флеш-памяти.  Устройство было выпущено в 2014 году китайской фирмой Espressif и практически сразу же стало популярным.

Контроллер недорогой, обладает небольшим количеством внешних элементов и имеет следующие технические параметры:

  • Поддерживает Wi-Fi протоколы 802.11 b/g/n с WEP, WPA, WPA2;
  • Обладает 14 портами ввода и вывода, SPI, I2C, UART, 10-бит АЦП;
  • Поддерживает внешнюю память до 16 МБ;
  • Необходимое питание от 2,2 до 3,6 В, потребляемый ток до 300 мА в зависимости от выбранного режима.

Важной особенностью является отсутствие пользовательской энергонезависимой памяти на кристалле. Программа выполняется от внешней SPI ПЗУ при помощи динамической загрузки необходимых элементов программы. Доступ к внутренней периферии можно получить не из документации, а из API набора библиотек. Производителем указывается приблизительное количество ОЗУ – 50 кБ.

Особенности платы ESP8266:

  • Удобное подключение к компьютеру – через USB кабель, питание от него же;
  • Наличие встроенного преобразователя напряжения 3,3В;
  • Наличие 4 Мб флеш-памяти;
  • Встроенные кнопки для перезагрузки и перепрошивки;
  • Все порты выведены на плату на две гребенки с шагом 2,5 мм.

Сферы применения модуля ESP8266

  • Автоматизация;
  • Различные системы для умного дома: Беспроводное управление, беспроводные розетки, управление температурой, дополнение к сигнализационным системам;
  • Мобильная электроника;
  • ID метки;
  • Детские игрушки;
  • Mesh-сети.

Распиновка esp8266

Существует огромное количество разновидностей модуля ESP8266. На рисунке представлены некоторые из них. Наиболее популярным вариантом является ESP 01.

esp8288-1.png

Исполнение программы требуется задавать состоянием портов GPIO0, GPIO2 и GPIO15, когда заканчивается подача питания. Можно выделить 2 важных режима – когда код исполняется из UART (GPIO0 = 0, GPIO2 = 1 и GPIO15 = 0) для перепрошивки флеш-карты и когда исполняется из внешней ПЗУ (GPIO0 = 1, GPIO2 = 1 и GPIO15 = 0) в штатном режиме.

Распиновка для ESP01 изображена на картинке.

Описание контактов:

  • 1 – земля, 8 – питание. По документации напряжение подается до 3,6 В – это важно учесть при работе с Ардуино, на которую обычно подают 5 В.
  • 6 – RST, нужна для перезагрузки микроконтроллера при подаче на него низкого логического уровня.
  • 4 – CP_PD, также используется для перевода устройства в энергосберегающий режим.
  • 7 и 0 – RXD0 и TXD0, это аппаратный UART, необходимый для перепрошивки модуля.
  • 2 – TXD0, к этому контакту подключается светодиод, который загорается при низком логическом уровне на GPIO1 и при передаче данных по UART.
  • 5 – GPIO0, порт ввода и вывода, также позволяет перевести устройство в режим программирования (при подключении порта к низкому логическому уровню и подачи напряжения) .
  • 3 – GPIO2, порт ввода и вывода.

Распиновка ESP-12

esp8266_esp12e_horizontal-01-300x232.png

Основные отличия Ардуино от ESP8266

  • ESP8266 имеет больший объем флеш-памяти, при этом у ESP8266 отсутствует энергонезависимая память;
  • Процессор ESP8266 быстрее, чем у Ардуино;
  • Наличие Wi-Fi у ESP8266;
  • ESP8266 потребляеn больше тока, чем для Ардуино;

Программирование ESP8266 в Arduino IDE

Программный комплект разработчика esp8266 включает в себя:

  • Компилятор из пакета GNU Compiler Collection.
  • Библиотеки, стеки протоколов WiFi, TCP/IP.
  • Средство загрузки информации в программу контроллера.
  • Операционная IDE.

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

Можно программировать из среды Arduino IDE. При ее помощи можно легко писать скетчи и загружать их в ESP8266, прошивать ESP8266, при этом не требуется сама плата Ардуино. Arduino IDE поддерживает все виды модулей ESP8266.

В настоящий момент для ESP8266 можно реализовать следующие функции:

  • Основные функции языка Wiring. Управлять портами GPIO можно точно так же, как и пинами на плате Ардуино: pinMode, digitalRead, digitalWrite, analogWrite. Команда analogRead(А0) позволяет считать значения АЦП. При помощи команды analogWrite (pin, value) можно подключить ШИМ на нужном выходе GPIO. При value=0 ШИМ отключается, максимальное значение достигает константы, равной 1023.С помощью функций attachInterrupt, detachInterrupt можно выполнять прерывание на любом порте GPIO, кроме 16.
  • Тайминг и delay. Используя команды millis и micros можно вернуть мс и мкс, которые прошли с момента старта. Delay позволяет приостановить исполнение программы на нужное время. Также функция delay(…) позволяет поддерживать нормальную работу Wi-Fi, если в скетче присутствуют большие элементы, которые выполняются более 50 мс. Yield() – аналог функции delay(0).
  • Serial и Serial1 (UART0 и UART1). Работа Serial на ESP8266 аналогична работе на ардуино. Запись и чтение данных блокируют исполнение кода, если FIFO на 128 байт и программный буфер на 256 байт заполнены. Объект Serial пользуется аппаратным UART0, для него можно задать пины GPIO15 (TX) и GPIO13 (RX) вместо GPIO1(TX) и GPIO3(RX). Для этого после функции Serial.begin(); нужно вызвать Serial.swap();. Аналогично Serial1 использует UART1, который работает на передачу. Необходимый пин для этого GPIO2.
  • Макрос PROGMEM. Его работа аналогична работе в Ардуино. Позволяет перемещать данные read only и строковые постоянные во flash-память. При этом в ESP8266 не сохраняются одинаковые константы, что приводит к дополнительной трате флеш-памяти.
  • I2C. Перед началом работы с шиной I2C выбираются шины с помощью функции Wire.pins(int sda, int scl).
  • SPI, OneWire – поддерживаются полностью.

Использование esp8266 для связи Ардуино по WiFi

Перед подключением к Ардуино важно помнить, что у ESP8266 напряжение питания не может быть выше 3,6, в то время как на пате Ардуино напряжение равно 5 В. Соединять 2 микроконтроллера нужно с помощью резистивных делителей. Перед подключением модуля нужно ознакомиться с распиновкой выбранного ESP8266.  Схема подключения для ESP8266-01 представлена на рисунке.

3,3 В с Ардуино – на Vcc&CH_PD на модуле ESP8266, Земля с Ардуино – к земле с ESP8266, 0 – TX, 1 – RX.

Для поддержки стабильной работы ESP8266 необходим источник постоянного напряжения на 3,3 В и максимальный ток 250 мА. Если питание происходит от конвертера USB-TTL, могут происходить неполадки и сбои в работе.

Работа с библиотекой Wi-Fi для ESP8266 схожа с библиотекой для обыкновенного шилда. Имеется несколько особенностей:

  • mode(m) – для выбора одного из трех режимов: клиент, точка доступа или оба режима единовременно.
  • softAP(ssid) – нужен для создания открытой точки доступа.
  • softAP(ssid, password) – создает точку доступа с паролем, который должен состоять не менее чем из 8 знаков.
  • WiFi.macAddress(mac) и WiFi.softAPmacAddress(mac)– определяет МАС адрес.
  • WiFi.localIP() и WiFi.softAPIP() – определение IP адреса.
  • printDiag(Serial); – позволят узнать данные о диагностике.
  • WiFiUDP – поддержка передачи и приема multicast пакета в режиме клиента.

Работа выполняется по следующему алгоритму:

  • Подключение USB-TTL к USB и к ESP.
  • Запуск Arduino IDE.
  • Выбрать в меню инструменты нужный порт, плату, частоту и размер flash-памяти.
  • Файл — Примеры — ESP8266WiFi — WiFiWebServer.
  • Записать в скетче SSID и пароль сети Wi-Fi.
  • Начать компиляцию и загрузку кода.
  • Дождаться окончания процесса прошивки, отсоединить GPIO0 от земли.
  • Поставить скорость 115200.
  • Произойдет подключение, будет записан адрес IP.
  • Открыть браузер, ввести в адресной строке номер IP/gpio/1
  • Посмотреть монитор порта, если к выходу GPIO2 подключен светодиод, он должен загореться.

NodeMCU на базе esp8266

NodeMCU – это платформа, основанная на базе модуля esp8266. Используется для управления схемой на расстоянии при помощи интернета через Wi-Fi. Плата малогабаритная, компактная, стоит дешево, на лицевой стороне имеется разъем для USB. Рядом кнопки для отладки и перезагрузки микроконтроллера. Также установлен чип ESP8266. Напряжение питания – от 5 до 12 В, желательно подавать более 10 В.

Большим преимуществом платы является ее малое энергопотребление. Нередко их используют в схемах с автономным питанием. На плате расположены всего 11 портов общего назначения, из них некоторые имеют специальные функции:

  • D1 и D2 – для интерфейса I2C/ TWI;
  • D5-D8- для интерфейса SPI;
  • D9, D10 – для UART;
  • D1-D10 – могут работать как ШИМ.

Платформа имеет современное API для аппаратного ввода и вывода. Это позволяет сократить количество действий во время работы с оборудованием и при его настройке. С помощью прошивки NodeMCU можно задействовать весь рабочий потенциал для быстрой разработки устройства.

WeMos на базе esp8266

WeMos  – еще один вид платформы, основанный на базе микроконтроллера esp8266. Соответственно, имеется Wi-Fi модуль, поддерживается Arduino IDE, имеется разъем для внешней антенны. Плата имеет 11 цифровых входов/выходов, которые (кроме D0) поддерживают interrupt/pwm/I2C/one-wire. Максимальное напряжение питания достигает 3,3 В. Также на платформе присутствует USB разъем.  Аналоговый вход 1 с максимальным напряжением 3,2В.

Для работы с модулем нужно установить драйвер CH340 и настроить Ардуино IDE под ESP8266. Для этого нужно в меню настройки в строке «дополнительная ссылка для менеджера плат» добавить адрес http://arduino.esp8266.com/stable/package_esp8266com_index.json.

После этого требуется найти пакет esp8266 by ESP8266 и установить его.  Затем нужно выбрать в меню инструменты микроконтроллер Wemos D1 R2 и записать нужный скетч.

Выводы по ESP8266

С помощью плат на основе микросхемы ESP8266 вы можете добавить в свои проекты возможности “большого интернета”, сделав их гораздо более интеллектуальными. Дистанционное управление, сбор и анализ данных на сервере, обработка голоса и работа с изображением – все это становится доступным, когда мы подключаем наш проект по WiFi к интернету. В следующих статьях мы подробно рассмотрим то, как можно программировать устройства на базе esp8266, а также уделим внимание таким популярным платам как WeMos и NodeMcu.

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

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

Предлагаем кратко ознакомиться с дополнительными источниками функций и программным кодом, используемыми для программирования на Arduino. Библиотека, которая наиболее популярна при создании устройств, Esp8266 lib h, будет рассмотрена подробно. Также читатель найдет информацию о том, как в Arduino установить библиотеку, которая нужна для проекта. Итак, приступаем.

Что такое библиотека в Arduino

Для микроконтроллера Arduino библиотека – важный компонент при создании электронного устройства. Она автоматизирует работу с необходимым модулем. Убедиться в этом можно на примере:

  1. Нужно передать текстовое сообщение на LCD дисплей без использования функций.
  2. Передаем несколько байт, отведенных для функций и данных, используемых в программе. Для этого потребуется значительное время. Кроме того, потребуется выяснить, какой тип у микроконтроллера, который отдает команды дисплею.
  3. К дополнительным сведениям относится суть команд в программе, архитектура памяти, адресные ячейки и назначение регистров. Все эти действия необходимо выполнить путем перечитывания в datasheet.

Теперь сравним ту же операцию, но с подключенной LiquidCrystal_I2C.h. Здесь текстовое сообщение выводится на экран моментально, когда пользователь напечатает в теле программы следующую строчку кода: lcd.print(«my text»).

Нужно выполнить следующие действия, чтобы воспользоваться библиотеками Arduino:

  1. Скачать в одну из папок на персональном компьютере.
  2. Выполнить установку. Лучше заранее выбрать адрес хранения.
  3. При написании программы вначале прописать следующее #include <файл.h>. Среда разработки самостоятельно найдет файл.
  4. Теперь при компиляции видно, что библиотека включена и работает, если не возникнет ошибок.

Виды библиотек

На просторах интернета можно легко найти и скачать дополнительные библиотеки для Arduino. Ниже перечислено несколько источников для скачивания. В дополнительные источники функций и программных частей уже входят драйверы для периферии, функции и методы:

  • Гитхаб: https://github.com/;
  • Ардуино Плэйграунд: https://playground.arduino.cc/;
  • Гугл Код: http://code.google.com/.

Многие начинающие электронщики нередко задаются вопросом, а кто же разрабатывает библиотеки? Чаще всего разработкой дополнительной «помощницы» занимаются компании, которые выпускают всякую периферию: сенсоры, печатные платы и датчики. Только один из многих, производитель Adafruit, выпустил не меньше 100 библиотек, которые удобно использовать, потому что они подходят ко всем моделям платформы Arduino.

Библиотеки можно разделить на следующие виды:

  • Arduino timer-библиотеки, помогают с функциями времени;
  • визуализаторы датчиков, к таким относится библиотека Arduino json;
  • для создания беспроводного управления, к таким относится esp8266, связь с Arduino обеспечивает протокол mqtt;
  • универсальные или комбинированные, содержат несколько функций, направленных на создание кода различных устройств, к таким относится Arduino библиотека ds1302.
ESP8266 WiFi модуль

Подробно о esp8266 lib h

Esp8266 библиотека предоставляется обычному пользователю с включенной прошивкой от производителя Espressif. Прошивка помогает реализовать работу с Wi-Fi модулем, выставив его в роли модема, с помощью команд АТ, которые передаются в последовательный порт. Режим хорош тем, что управление ЕСП-кой осуществляется с помощью внешнего микроконтроллера – Ардуино. Однако некоторые пользователи жалуются на медленную производительность при обмене данных.

Вышепредставленная компания производит SDK специально для работы таких модулей. СДК помогает разрабатывать начинающему электронщику собственные прошивки. Возможности в таком случае огромны, но работать в среде разработки и программировать собственные части сложно.

Однако пользователю доступны готовые прошивки, в которые встроены интерпретаторы. Например, прошивка «NodeMCU» помогает соорудить логику управления модуля, работающего на встроенном интерпретаторе ЛУА. Также будет полезна прошивка, включающая в себя Javascript. Однако у таких прошивок есть ряд минусов:

  • требуется много оперативной памяти для работы встроенных интерпретаторов по отношению к ресурсам ESP;
  • работа растянута и занимает больше времени;
  • мизерное количество для создания электронного устройства.

Где скачать библиотеку Esp8266 lib h

Esp8266 lib h скачать можно на одном из ресурсов, перечисленных в разделе «Виды библиотек».

Самый простой вариант: файлы идут в составе библиотеки «blynk-library», которую лучше скачать по ссылке — https://github.com/blynkkk/blynk-library/releases/tag/v0.5.1.

Вы можете скачать архив «Blynk_Release_v0.5.1.zip» по ссылке выше или на нашем сайте ниже. Не забудьте нажать «download» (означает «скачать» по-русски) на GitHub.com.

Скачать Blynk_Release_v0.5.1.zip

В архиве есть папка BlynkESP8266_Lib, где и лежит библиотека.

Установка библиотеки

Мы уже писали о том, как подключаются библиотеки в Arduino IDE. Алгоритм установки ЕСП8266 такой:

  1. Подключаем usb-ttl к USB.
  2. Подключаем esp8266 к usb-ttl обычным способом. Если отсутствует подключение DTR и RTS, необходимо подсоединить GPIO0 к земле. Затем передернуть питание модуля.
  3. Запускаем бесплатную среду разработки – Arduino IDE.
  4. В появившемся меню кликаем на «Инструменты», далее «Плата», после – «Generic ESP8266 board». Последнее будет находиться на конечной строчке.
  5. В том же меню «Инструменты» кликаем на номер порта, к которому присоединен Юсб-ТТЛ.
  6. Здесь же указываем нужную частоту и вместимость флеш-памяти используемого модуля.
  7. Кликаем «Файл», потом «Образцы» – ESP8266WiFi — WiFiWebServer.
  8. В программном коде прописываем ССИД и пароль от Вай-фай точки.
  9. Нажимаем на кнопку компиляции.
  10. Дожидаемся окончания прошивки.
  11. Возвращаемся в «Инструменты», переходим на «Монитор последовательного порта».
  12. Устанавливаем скорость – 115200.
  13. Наблюдаем за реакцией в терминальном окне.
  14. Если подключение прошло удачно, в терминале появятся 2 строки «WiFi connected» и «Server started».
  15. В конце будет указан IP адрес подключенного модуля ЕСП8266. К примеру,168.1.247.
  16. Откроем новую вкладку любого браузера и напишем – «http://192.168.1.247/gpio/1».
  17. Следует понаблюдать за действиями последовательного порта – если подключенная светодиодная лента загорится, значит, все работает.

Содержание

</span>

  • Технические характеристики модуля
  • Подключение 
  • Пример использования
  • Часто задаваемые вопросы FAQ

Wi-Fi модуль ESP-01 – самый популярный модуль серии ESP8266. Общение с компьютером или микроконтроллером осуществляется с через UART с помощью набора AT-команд. Кроме того, модуль можно использовать как самостоятельное устройство, для этого необходимо в него загрузить свою прошивку. Программировать и загружать прошивки можно через Arduino IDE версии выше 1.6.5. Для прошивки модуля понадобится переходник UART-USB. Модуль ESP-01 может получить широкое распространение для использования в устройствах IoT (Интернет вещей).

Технические характеристики модуля

  • Wi-Fi 802.11 b/g/n
  • Режимы WiFi: клиент, точка доступа
  • Выходная мощность — 19,5 дБ
  • Напряжение питания — 1.8 -3.6 В
  • Ток потребления — 220 мА
  • Портов GPIO : 4
  • Тактовая частота процессора — 80 МГц
  • Объём памяти для кода
  • Оперативная память — 96 КБ
  • Размеры — 13×21 мм

Подключение

Рассмотрим режим AT-команд. Для этого подключим модуль к компьютеру через переходник USB-UART. Назначение выводов модуля (см. рисунок 1):

  • VCC — +3.3 В
  • GND — земля
  • RX, TX — выводы UART
  • ВыводCH_PD  — Chip enable
  • GPIO0, GPIO2 — цифровые контакты

Модулю требуется внешнее питание   3.3 В.

Naznachenie-kontaktov-modulya-ESP-01.jpg

Рисунок 1. Назначение контактов модуля ESP-01

Схема подключения для общения с модулем в режиме AT-команд (рисунок 2):

Skhema-podklyucheniya-modulya-ESP-01-1024x416.jpg

Рисунок 2. Схема подключения модуля ESP-01 к компьютеру по последовательному порту

shema-sbore-1024x716.jpg

Рисунок 3. Схема в сборе

Для отправки команд AT-команд в ОС Mac OS X можно использовать программу CoolTerm, в операционной системе Windows программу Termite. Узнать скорость COM-порта для соединения с модулем можно только экспериментально, для разных прошивок она может быть разной. Для моего модуля скорость оказалась равной 9600 бод. Кроме того установить обмен удалось только после отключения и повторного подключения к питанию вывода  CH_PD. После подключения набираем в терминале  AT и должны получить в ответ от модуля OK. Команда AT+GMR выдает номер версии прошивки модуля, команда AT+RST — перезагружает модуль (см. рис. 4). Список основных AT-команд можно посмотреть в этом документе (ESP8266ATCommandsSet.pdf).

Otpravka-AT-komand-moduliz-programmy-Termite.jpg

Рисунок 4. Отправка AT-команд в модуль из программы Termite

Если режим AT команд для вас не удобен, плату можно настроить с помощью программы AppStack  ESP8266 Config, скачать которую  можно по ссылке http://esp8266.ru/download/esp8266-utils/ESP8266_Config.zip. Внешний вид программы представлен на рисунке 5. Настройка модуля осуществляется с помощью графического интерфейса, при этом выполнение команд можно видеть в мониторе программы (см. рис. 6). В мониторе также можно послать AT-команды из командной строки.

Programma-AppStack-ESP8266-Config.jpg

Рисунок 5. Программа AppStack ESP8266 Config

Serial-monitor-AppStack-ESP8266-Config.jpg

Рисунок 6. Serial monitor программы AppStack ESP8266 Config

Есть два варианта использования данного модуля:

  • в связке с микроконтроллером (например Arduino), который будет управлять модулем по UART;
  • написание собственной прошивки для использования ESP8266 в качестве самостоятельного устройства.

 

Пример использования

Рассмотрим пример подключения к модулю ESP-01 датчика влажности и температуры DHT11 и отправки данных в облачный сервис ThingSpeak (https://thingspeak.com/). Нам понадобятся следующие детали:

  • модуль ESP-01
  • макетная плата
  • датчик влажности и температуры DHT11
  • резистор 10 кОм
  • соединительные провода
  • блок питания 3 — 3.6В

Сначала подключим датчик DS18B20 к модулю ESP-01. DS18B20 – цифровой датчик температуры, работающий по однопроводному интерфейсу 1-Wire. Схема подключения датчика DS18B20 к модулю показана на рис. 7.

Skhema-podklyucheniya-datchika-DHT11-modulyu-ESP-01-1024x470.jpg

Рисунок 7. Схема подключения датчика DHT11 к модулю ESP-01.

Затем необходимо завести профиль в сервисе ThingSpeak. В сервисе есть инструкции для отправки данных в сервис и получения данных из сервиса.

shema-v-sbore-764x1024.jpg

Рисунок 8. Схема в сборе.

Программу будем писать в среде Arduino IDE для ESP8266. Будем использовать библиотеки ESP8266WiFi.h (встроенную) и OneWire.h. Загрузим на плату Arduino скетч из листинга 1 – получение данных с датчика температуры и отправка данных в сервис ThingSpeak. Необходимо внести свои данные для WiFi точки доступа для модуля ESP-01:

  • const char *ssid;
  • const char *password;

а также параметр privateKey для вашего приложения в сервисе ThingSpeak. Листинг 1

// 3d-diy.ru  // Подключаем библиотеку для работы с esp8266  #include    // Подключаем библиотеку DHT для работы с DHT11   #include <dht>   // пподключения контакта DATA  #define DHTPIN 4  // датчик DHT11  #define DHTTYPE DHT11    // создание экземпляра объекта DHT  DHT dht(DHTPIN, DHTTYPE);    // ssid WiFi сети подключения  const char ssid = "********";   // Пароль  WiFi сети подключения   const char password = "******";   // Сервер ThingSpeak  const char* host = "184.106.153.149";   // API KEY вашего приложения ThingSpeak  const char* privateKey = "****************";   // переменные для хранения температуры и влажности  float temp;   float humidity;   // переменная для интервала измерений  unsigned long millis_int1=0;    void setup() {    // запуск последовательного порта     Serial.begin(115200);     delay(10);    Serial.print("Connect to WiFi");     Serial.println(ssid);    // Соединяемся по WiFi    WiFi.begin(ssid, password);        while (WiFi.status() != WL_CONNECTED) {      delay(500);    }    Serial.println("WiFi connected");     // запуск dht    dht.begin();   }      void loop() {  // ждем интервал 10 минут  if(milis()-millis_int1>=10*60000) {    Serial.print("connect to ThingSpeak");    Serial.println(host);        // Используем WiFi клиент     WiFiClient client;  if (!client.connect(host, 80)) {      Serial.println("connection failed");          return;    }    // получить данные температуры    temp = get_data_temperature();    humidity = get_data_humidity();         // Создаем URL с запросом для сервера    String url = "/update?key=";    url += privateKey;    url += "&temp=";     url += temp;    url += "&humidity=";     url += humidity;      // Отправляем запрос на сервер    client.print(String("GET ") + url + " HTTP/1.1rn" + "Host: " + host + "rn" + "Connection: closernrn");    delay(10);        // ответ сервера ThingSpeak    while(client.available()){      String req = client.readStringUntil('r');      Serial.print(req);    }   }  }</dht>

Теперь в сервисе ThingSpeak мы можем смотреть график показаний нашего датчика температуры DHT11 (рисунок 9).

Grafik-pokazanij-datchika-temperatury-DS18B20-ThingSpeak.jpg

Рисунок 9. График показаний датчика температуры DS18B20 в сервисе ThingSpeak.

Часто задаваемые вопросы FAQ

     1.  Модуль не отвечает на AT-команды

  • Проверьте правильность подключения модуля;
  • Проверьте правильность подключения контактов Rx,Tx к переходнику UART-USB ;
  • Проверьте подключение контакта CH_PD к 3.3 В;
  • Подберите экспериментально скорость обмена по последовательному порту.

     2. Модуль ESP-01 не получает данные температуры от датчика DHT11

  • Проверьте правильность подключения датчика DHT11 к модулю.

     3. Не передаются данные в сервис ThingSpeak

  • Проверьте подключение модуля к точке доступа WiFi;
  • Проверьте подключение точки доступа WiFi к сети интернет;
  • Проверьте правильность запроса к сервису ThingSpeak.

Используемые источники:

  • https://arduinomaster.ru/platy-arduino/arduino-esp8266/
  • https://arduinoplus.ru/gde-skachat-esp8266-lib-h/
  • https://3d-diy.ru/wiki/arduino-moduli/wi-fi-modul-esp-01/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации