Article de reference

NodeMCU

Zohaib Hassan, Abhijeet, and Apoorva Sharma. \"Internet of Life (IOL).\" (2015). {{ISBN|978-93-5156-328-0}} (LX106 {{cite web|last1=Brian Benchoff|url=https://hackaday.com/2014/...

Kit de développement NodeMCU 1.0, bas

NodeMCU est une plateforme IoT open source à faible coût . Initialement, elle incluait un firmware fonctionnant sur le SoC Wi-Fi ESP8266 d' Espressif Systems , et un matériel basé sur le module ESP-12. La prise en charge du microcontrôleur 32 bits ESP32 a été ajoutée ultérieurement.

firmware open source pour lequel des cartes de prototypage open source sont disponibles. Le nom « NodeMCU » combine « nœud » et « MCU » ( microcontrôleur ). À proprement parler, le terme « NodeMCU » désigne le firmware et non les kits de développement associés .open source .

Le firmware utilise le langage de script Lua . Basé sur le projet eLua, il est construit à partir du kit de développement logiciel (SDK) Espressif sans système d'exploitation pour ESP8266. Il exploite de nombreux projets open source, tels que lua-cjson et SPIFFS, un système de fichiers flash pour microcontrôleurs embarqués . En raison de contraintes de ressources, les utilisateurs doivent sélectionner les modules pertinents pour leur projet et compiler un firmware adapté à leurs besoins. La prise en charge de l' ESP32 32 bits est également assurée.

Le matériel de prototypage généralement utilisé est une carte de circuit imprimé fonctionnant au format DIP ( Dual In-line Package ) et intégrant un contrôleur USB à une carte CMS (Composant Monté en Surface) plus petite contenant le microcontrôleur et l'antenne. Le choix du format DIP facilite le prototypage sur plaques d'essai . La conception était initialement basée sur le module ESP-12 de l' ESP8266 , un SoC Wi-Fi intégrant un cœur Tensilica Xtensa LX106, largement utilisé dans les applications IoT (voir les projets associés ).

Types

Il existe deux versions disponibles de NodeMCU : la version 0.9 et la version 1.0. La version 0.9 contient l’ESP-12 et la version 1.0 contient l’ESP-12E , où E signifie « amélioré ».

Histoire

NodeMCU a été créé peu après la sortie de l' ESP8266 . Le 30 décembre 2013, Espressif Systems a lancé la production de l'ESP8266. Le projet NodeMCU a débuté le 13 octobre 2014, lorsque Hong a déposé le premier fichier du firmware nodemcu-firmware sur GitHub. Deux mois plus tard, le projet s'est étendu pour inclure une plateforme matérielle ouverte lorsque le développeur Huang R a déposé le fichier Gerber d'une carte ESP8266, nommée devkit v0.9. Plus tard dans le même mois, Tuan PM a porté la bibliothèque cliente MQTT de Contiki sur la plateforme SoC ESP8266, et l'a intégrée au projet NodeMCU. NodeMCU a alors pu prendre en charge le protocole IoT MQTT, en utilisant Lua pour accéder au courtier MQTT. Une autre mise à jour importante a été effectuée le 30 janvier 2015, lorsque Devsaurus a porté u8glib sur le projet NodeMCU, permettant à NodeMCU de piloter facilement des écrans LCD, Screen, OLED, voire VGA.

Durant l'été 2015, les créateurs initiaux ont abandonné le projet de firmware et un groupe de contributeurs indépendants a pris le relais. À l'été 2016, le NodeMCU comprenait plus de 40 modules différents.

Projets connexes

Cœur Arduino ESP8266

Lorsque Arduino.cc a commencé à développer de nouvelles cartes MCU basées sur des processeurs non- AVR , comme le microcontrôleur ARM/SAM utilisé dans l'Arduino Due, il a fallu modifier l' IDE Arduino afin de faciliter son adaptation à d'autres chaînes d'outils permettant la compilation de code C/C++ Arduino pour ces nouveaux processeurs. Cette adaptation a été réalisée grâce à l'introduction du Gestionnaire de cartes et du SAM Core. Un « core » désigne l'ensemble des composants logiciels nécessaires au Gestionnaire de cartes et à l'IDE Arduino pour compiler un fichier source C/C++ Arduino pour le langage machine du microcontrôleur cible. Des passionnés d'ESP8266 ont développé un core Arduino pour le SoC WiFi ESP8266, communément appelé « ESP8266 Core pour l'IDE Arduino » . Ce core est devenu une plateforme de développement logiciel de référence pour les différents modules et cartes de développement basés sur l'ESP8266, notamment les NodeMCU.

Épingles

NodeMCU donne accès aux GPIO (entrées/sorties à usage général) et un tableau de correspondance des broches fait partie de la documentation de l'API.

Index E/SBroche ESP8266
0 [*]GPIO16
1GPIO5
2GPIO4
3GPIO0
4GPIO2
5GPIO14
6GPIO12
7GPIO13
8GPIO15
9GPIO3
10GPIO1
11GPIO9
12GPIO10

[*] La broche D0 (GPIO16) ne peut être utilisée que pour la lecture/écriture GPIO. Elle ne prend pas en charge les interfaces à drain ouvert, les interruptions, la modulation de largeur d'impulsion (PWM), l'interface I²C ni le protocole 1-Wire.