NodeMCU - Что такое NodeMCU

NodeMCU - это платформа с открытым исходным кодом для IoT (интернет вещей) на базе языка eLua. Она включает в себя прошивку и плата разработчика, которая основана на модуле ESP-12. Термин «NodeMCU» по умолчанию относится к программной части, но в сети все больше вижу, что термин NodeMCU ассоциируется именно как аппаратная платформа, особенно в среде ардуинщиков.

1

Прошивка NodeMCU основана на официальном SDK от Espressif, использует файловую систему "SPIFFS" и имеет встроенный интерпретатор языка LUA. NodeMCU умеет выполнять скрипты как из последовательного порта "UART" так и загружать из файловой системы. Удобство NodeMCU заключается в его встроенном интерпретаторе языка LUA, для изменения или добавления новой функции, достаточно изменить скрипт с кодом, который хранится на файловой системе, без необходимости компилировать весь проект заново. Это значительно упрощает разработку и сокращает отладку проектов, так как загрузка скрипта в NodeMCU занимает значительно меньше времени, чем компиляция и прошивка всего проекта, как например при использовании arduino ide.

Плюсы:

  • Простота программирования, схожа с Node.js
  • Основана на Lua 5.1.4
  • Асинхронное программирование
  • Более 55 встроенных модулей
  • Подробная документация https://nodemcu.readthedocs.io
  • Работа с протоколами обмена данными: HTTP, MQTT, JSON, CoAP.
  • Поддержка датчиков, дисплеев, "умных" светодиодов.
  • Поддержка различных интерфейсов: 1-Wire, I2C, SPI, UART
  • Поддержка шифрования, планировщик задач, таймеры и т.д.

Есть и свои недостатки, так как сама вирт. машина LUA съедает достаточно много памяти, нам остается ~ 45 KB. Для небольшой задачи этого вполне достаточно, но при разработки проекта с web - интерфейсом, и одновременной работы разных модулей, накладывает свои трудности. Но при грамотном подходе к написанию кода и использовании некоторых особенностей языка lua (разбитие проекта на отдельные файлы и загрузки их из файловой системы, использования потоков), заставляет искать решения оптимизируя код и делая проект только лучше, а так же саморазвиваться в программировании.)))

NodeMCU
(0.0) / 0
Прежде чем оставить комментарий, пожалуйста, ознакомьтесь с правилами комментирования. Оставляя комментарий, вы подтверждаете ваше согласие с данными правилами и осознаете возможную ответственность за их нарушение. Все комментарии премодерируются.
0
Рубрики
Свежие записи