Существует ли библиотека для использования Arduino Uno с модулем esp8266-01?

У меня есть Arduino Uno и модуль esp8266 (НЕ SHIELD).

Я искал библиотеку, которую можно было бы использовать для подключения к Wi-Fi и настройки веб-сервера, но ничего не нашел. Я нашел только Arduino Wifi Shield, который использует SPI.

Можно ли использовать Arduino, скажем, для считывания LM35, а затем отправлять эти данные в модуль ESP8266 и обслуживать их на странице в качестве веб-сервера?

Я знаю, что могу использовать AT-команды с ESP8266 для подключения к Wi-Fi и создания сервера, но не могу найти функцию для настройки данных, которые будут обслуживаться.

https://www.espressif.com/sites/default/files/documentation/4a-esp8266_at_instruction_set_en.pdf

, 👍0


3 ответа


0

Зачем вообще включать UNO. ESP88266 можно запрограммировать с помощью Arduino IDE, чтобы он считывал данные с датчика и работал с интернетом самостоятельно. UNO ему не нужен, чтобы делать то, что вы хотите.

,

Датчик, который я использую LM35, требует как минимум 4 В, кроме того, мне нужно будет запрограммировать esp8266, а у меня нет инструментов для этого, и я купил для предоставления WiFi для arduino. У меня есть nodemcu тоже, кстати, @Felipe Morales

Если у вас есть инструменты для программирования Arduino UNO, то у вас также есть инструменты для программирования ESP8266., @Delta_G


0

Вы недостаточно усердно гуглили.

Есть множество примеров, полезных для вашей среды.

Эта инструкция — всего лишь одна из них.

Основная цель этого руководства — показать, как можно создать простой веб-сервер с использованием Arduino и модуля Wi-Fi, который отображает данные датчиков на веб-странице.

,

Это не то, что мне нужно, проверьте мое описание еще раз., @Felipe Morales


1

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

Arduino UNO не имеет достаточной вычислительной мощности и/или памяти для продвинутых интернет-штучек. Если вам нужен веб-сервер через AT-команды, Arduino должен выполнить всю тяжелую работу, ESP8266 — это просто тупой подчиненный, который устанавливает TCP-соединение.
ESP8266 намного быстрее и имеет во много раз больше памяти, поэтому имеет смысл доверить ему всю тяжелую работу.

Взгляните на это руководство: Регистратор температуры ESP8266

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

Затем просто подключите Arduino к ESP8266 через последовательный порт (или SPI, или I²C, или SoftwareSerial, как вам удобнее) и пусть он отправляет температуру на ESP8266, например, каждую секунду.

Для программирования ESP8266 вы можете использовать адаптер USB-to-Serial одного из ваших Arduino.


В этом случае, когда вы просто хотите прочитать один LM35, вы можете использовать даже только ESP8266. Это правда, что LM35 требует не менее 4 В, но это не проблема, поскольку большинство плат разработки ESP8266 также обеспечивают питание 5 В. Диапазон аналогового входа 0-1,0 В допускает температуру до 100 °C.

,

Нет, спасибо! Я просто искал руководство по AT и arduino, у меня уже есть кое-что от Expresif, но программирование ESP8266 — это не то, чем я хочу сейчас заниматься, и у меня нет необходимых для этого инструментов., @Felipe Morales

Вам это не нужно. У вас есть Arduino и NodeMCU, оба они могут быть использованы как USB-программатор для ESP-01. Но вы, конечно, можете пойти трудным путем., @tttapa

4 AT команды сложнее, чем подключение и программирование esp8266 с arduino? Я просто возвращаю json, @Felipe Morales

Если бы это было легко, вы бы пришли на этот сайт, чтобы попросить о помощи? Я лишь хочу сказать, что гораздо проще использовать зрелые и хорошо написанные библиотеки Arduino ESP8266 Core для сетевой связи, и что довольно расточительно использовать и Arduino, и ESP8266, если вы просто хотите считать показания датчика температуры. Самый простой регистратор температуры можно написать примерно в 20 строк, он будет отлично работать и иметь хорошую обработку ошибок. По собственному опыту я знаю, что гораздо сложнее сделать то же самое с помощью AT-команд., @tttapa