Начала работы с NodeMCU. Что такое NodeMCU

Опубликовано bondrogeen

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

Прошивка 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

Отправить ответ

avatar

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

  Subscribe  
Notify of