Arduino Uno с Wi-Fi-трансивером ESP8266 или платой ESP8266 NodeMCU?

У меня уже есть Arduino Uno, и я хочу изучить Интернет вещей. Я планирую использовать ESP8266, так как он дешевый. Стоит ли мне купить модуль приемопередатчика ESP8266 Wifi для использования с Arduino Uno или просто купить плату ESP8266 NodeMCU?

Есть ли какие-либо преимущества при использовании платы ESP8266 NodeMCU по сравнению с использованием Arduino Uno с модулем последовательного приемопередатчика ESP8266?

, 👍0


1 ответ


Лучший ответ:

7

По моему мнению, более желательно программировать 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 может быть лучше (или хуже) для определенного проекта.

,