NodeMCU - NodeMCU

NodeMCU
NodeMCU DEVKIT 1.0.jpg
NodeMCU DEVKIT 1.0
РазработчикESP8266 Сообщество Opensource
ТипОдноплатный микроконтроллер
Начальная цена$5
ЦПУESP8266[1](LX106[2])
объем памяти128 КБ
Место хранения4 МБ[3]
МощностьUSB
Интернет сайтwww.nodemcu.com
NodeMCU DEVKIT 1.0, внизу

NodeMCU это недорогой открытый исходный код Интернет вещей Платформа.[4][5] Первоначально он включал прошивка который работает на ESP8266 Вай фай SoC от Espressif Systems, и оборудования, которое было основано на модуле ESP-12.[6][7] Позже поддержка ESP32 Был добавлен 32-битный MCU.

Обзор

NodeMCU - это прошивка с открытым исходным кодом, для которой прототипирование доступны конструкции досок. Название «NodeMCU» объединяет »узел "и" MCU "(микроконтроллер единица измерения).[8]. Термин «NodeMCU», строго говоря, относится к прошивке, а не к соответствующему комплекты разработки.[нужна цитата ]

Дизайн прошивки и макетной платы Открытый исходный код.[9]

В прошивке используется Lua язык сценариев. Прошивка основана на проекте eLua и построена на Espressif Non-OS SDK для ESP8266. Он использует множество проектов с открытым исходным кодом, таких как lua-cjson[10] и SPIFFS.[11] Из-за ограниченности ресурсов пользователям необходимо выбрать модули, соответствующие их проекту, и создать прошивку, соответствующую их потребностям. Поддержка 32-битной ESP32 также был реализован.

Обычно используемое оборудование для прототипирования представляет собой печатную плату, работающую как двухрядный корпус (DIP), который объединяет контроллер USB с меньшей поверхностной платой, содержащей MCU и антенну. Выбор формата DIP позволяет легко создавать прототипы на макеты. Первоначально за основу был взят модуль ESP-12 ESP8266, который представляет собой Wi-Fi SoC, интегрированный с Tensilica Ядро Xtensa LX106, широко используемое в приложениях IoT (см. связанные проекты ).

История

NodeMCU был создан вскоре после ESP8266 вышел из. 30 декабря 2013 г. Системы Эспресси[6] начал производство ESP8266.[12] NodeMCU стартовал 13 октября 2014 года, когда Хонг передал первый файл прошивки nodemcu на GitHub.[13] Два месяца спустя проект расширился и включил открытую аппаратную платформу, когда разработчик Huang R совершил гербер файл платы ESP8266 с именем devkit v0.9.[14] Позже в том же месяце Tuan PM перенес MQTT клиентская библиотека из Contiki на платформу ESP8266 SoC,[15] и присоединился к проекту NodeMCU, тогда NodeMCU смог поддерживать протокол MQTT IoT, используя Lua для доступа к брокеру MQTT. Еще одно важное обновление было сделано 30 января 2015 года, когда Devsaurus портировал u8glib.[16] в проект NodeMCU,[17] позволяя NodeMCU легко управлять ЖК-дисплеями, экранами, OLED и даже VGA.

Летом 2015 года первоначальные создатели отказались от проекта прошивки, и группа независимых разработчиков взяла на себя ответственность. К лету 2016 года в NodeMCU входило более 40 различных модулей.

Связанные проекты

ESP8266 Ядро Arduino

В качестве Arduino.cc приступили к разработке новых плат MCU на основе не-AVR процессоров, таких как ARM / SAM MCU и используемых в Arduino Due, им необходимо было изменить IDE Arduino так что было бы относительно легко изменить IDE для поддержки альтернативных наборов инструментов, чтобы позволить Arduino C / C ++ скомпилировать для этих новых процессоров. Они сделали это, представив Board Manager и SAM Core. «Ядро» - это набор программных компонентов, необходимых для Board Manager и Arduino IDE для компиляции исходного файла Arduino C / C ++ для машинного языка целевого MCU. Некоторые энтузиасты ESP8266 разработали ядро ​​Arduino для ESP8266 WiFi SoC, обычно называемое «ядром ESP8266 для Arduino IDE».[18] Это стало ведущей платформой разработки программного обеспечения для различных модулей и плат разработки на базе ESP8266, включая NodeMCU.

Булавки

NodeMCU предоставляет доступ к GPIO (Ввод / вывод общего назначения) и таблица сопоставления контактов являются частью документации API.[19]

Индекс ввода / выводаESP8266 контактный
0 [*]GPIO16
1GPIO5
2GPIO4
3GPIO0
4GPIO2
5GPIO14
6GPIO12
7GPIO13
8GPIO15
9GPIO3
10GPIO1
11GPIO9
12GPIO10

[*] D0 (GPIO16) можно использовать только для чтения / записи GPIO. Он не поддерживает открытый сток / прерывания / ШИМ / I²C или 1-Wire.

Смотрите также

Рекомендации

  1. ^ Кумар, Абхиджит и Апурва Шарма. «Интернет жизни (ИОЛ)». (2015). ISBN  978-93-5156-328-0
  2. ^ Брайан Бенчофф. "SDK для микросхемы ESP8266 Wi-Fi". Hackaday. Получено 2 апреля 2015.
  3. ^ Vowstar. "NodeMCU Devkit". Github. Команда NodeMCU. Получено 2 апреля 2015.
  4. ^ Зеродей. "Прошивка на основе lua для wifi-soc esp8266". Github. Получено 2 апреля 2015.
  5. ^ Хари Вигуна. "Прошивка NodeMCU LUA". Hackaday. Получено 2 апреля 2015.
  6. ^ а б Systems, Espressif. "Эспрессиф Системс". Espressif-WikiDevi. Архивировано из оригинал 1 декабря 2017 г.. Получено 3 июн 2017.
  7. ^ Брайан Бенчофф. "СОВЕТ DEV ДЛЯ ПЕРЕВОДЧИКА ESP LUA". Hackaday. Получено 2 апреля 2015.
  8. ^ https://developer.ibm.com/tutorials/iot-nodemcu-open-why-use/
  9. ^ https://developer.ibm.com/tutorials/iot-nodemcu-open-why-use/
  10. ^ Mpx. "Lua CJSON - это быстрый модуль кодирования / анализа JSON для Lua". Github. Получено 2 апреля 2015.
  11. ^ Pellepl. "Изношенная файловая система SPI flash для встраиваемых устройств". GitHub. Получено 2 апреля 2015.
  12. ^ Система Espressif (30 декабря 2013 г.). «IoT Wi-Fi 802.11b / g / n интегрированная реализация SoC массового производства».中国 上海 ​​讯. Архивировано из оригинал 2 апреля 2015 г.. Получено 2 апреля 2015.
  13. ^ Hong. «Первая фиксация прошивки NodeMCU». Github. Получено 2 апреля 2015.
  14. ^ Хуанг Р. «Первоначальный дизайн девкита NodeMCU». Github. Получено 2 апреля 2015.
  15. ^ Туан П.М. «Клиентская библиотека MQTT для ESP8266». Github. Получено 2 апреля 2015.
  16. ^ Оликраус; Дэниел Ситтиг. «Универсальная графическая библиотека для 8-битных встраиваемых систем». Код Google. Получено 2 апреля 2015.
  17. ^ Девзавр. "U8glib для esp8266". Github. Получено 2 апреля 2015.
  18. ^ «Ядро ESP8266 для Arduino». GitHub. Получено 10 января 2019.
  19. ^ "gpio - Документация по NodeMCU". nodemcu.readthedocs.io. Получено 2018-11-11.

внешняя ссылка