Arduino Uno с Wi-Fi-трансивером ESP8266 или платой ESP8266 NodeMCU?
У меня уже есть Arduino Uno, и я хочу изучить Интернет вещей. Я планирую использовать ESP8266, так как он дешевый. Стоит ли мне купить модуль приемопередатчика ESP8266 Wifi для использования с Arduino Uno или просто купить плату ESP8266 NodeMCU?
Есть ли какие-либо преимущества при использовании платы ESP8266 NodeMCU по сравнению с использованием Arduino Uno с модулем последовательного приемопередатчика ESP8266?
@user46792, 👍0
1 ответ
Лучший ответ:
По моему мнению, более желательно программировать ESP8266 напрямую. Я всегда вздрагиваю, когда вижу Uno(ab), использующий ESP8266 в качестве моста WiFi, когда в ESP8266 уже есть все необходимое для проекта. Конечно, это очень специфично для проекта.
Преимущества программирования ESP8266 напрямую:
- вы узнаете о новом MCU и архитектуре (XTensa против AVR)
- вы научитесь использовать новое ядро Arduino (Arduino-ESP8266)
- ESP8266 намного мощнее Arduino Uno
- 80 МГц (с возможностью разгона до 160 МГц) против 16 МГц
- ~40 КБ свободной оперативной памяти при запуске против 2 КБ
- 4 МБ Flash против 32 КБ
- можно использовать RTOS, например FreeRTOS
- Flash можно использовать как файловую систему (например, для HTTP(S)-сервера)
- ==> мы можем строить гораздо более сложные проекты
- Wi-Fi-радио и стек напрямую на процессоре, нет необходимости получать информацию через последовательный мост
- более высокая скорость, более прямой контроль над сокетами и т. д.
- Вы можете попробовать другие фреймворки и языки, такие как
- Микропитон
- esp-open-rtos
- прошивка NodeMCU (язык Lua)
- Пакеты SDK NON-RTOS / RTOS от Espressif
- легче перейти на старшего брата, ESP32 (двухъядерный XTensa LX6 @ 240 МГц, WiFi + BT, 4 МБ флэш-памяти, 520 КБ ОЗУ (+4 МБ PSRAM опционально), множество периферийных устройств и ускорителей) для еще более сложных проектов
Недостатки:
- только 1 вход АЦП (вместо 6) с диапазоном напряжения от 0 до 1,0 В (в отличие от обычного диапазона 5 В на Uno)
- способ устранения: внешние АЦП через I2C / SPI (например, MCP3008)
- Устройство 3,3 В, необходимо соблюдать осторожность при подключении к существующим устройствам или щитам 5 В
- Средство: логические преобразователи, регуляторы напряжения
- меньшее количество доступных цифровых выводов GPIO (9 против 13)
- способ устранения: внешние расширители GPIO через I2C/SPI (например, PCF8574, MCP23017)
В целом, я думаю, что хороший способ получить более качественные навыки — попытаться изучить и запрограммировать новую плату напрямую, а не программировать старую плату и прилеплять новую поверх последовательного порта. Надеюсь, это дало приблизительное представление о том, почему ESP8266 может быть лучше (или хуже) для определенного проекта.
- Чтение данных из Google Таблиц с помощью Nodemcu
- ESP8266 отключается через несколько часов
- ESP8266 отправляет данные на сайт, но не возвращает статус
- Случайные символы, передаваемые из ESP8266 в Arduino
- Программировать ESP8266, чтобы избежать случайных исключений?
- Веб-сокеты с ESP8266 с использованием платы Arduino Uno
- nodemcu не отвечает в командном режиме
- Исправление последовательной связи, условие доступности последовательных данных проверяется даже после считывания всех отправленных данных.