NodeMCU 開発キット 1.0 | |
| 開発者 | ESP8266 オープンソース コミュニティ |
|---|---|
| タイプ | シングルボードマイクロコントローラ |
| 導入価格 | 5ドル |
| CPU | ESP8266 [1] (LX106 [2] ) |
| メモリ | 128kバイト |
| ストレージ | 4MBytes [3] |
| 力 | USB |
| Webサイト | ホームページ |
NodeMCUは低コストのオープンソースIoTプラットフォームです。[4] [5]当初は、Espressif SystemsのESP8266 Wi-Fi SoCで動作するファームウェアと、ESP-12モジュールをベースにしたハードウェアが含まれていました。[6] [7]その後、 ESP32 32ビットMCU のサポートが追加されました。
概要
NodeMCUはオープンソースのファームウェアであり、オープンソースのプロトタイピングボード設計が利用可能です。「NodeMCU」という名前は、「ノード」と「MCU」(マイクロコントローラユニット)を組み合わせたものです。[8]厳密に言えば、「NodeMCU」という用語は、関連する開発キットではなくファームウェアを指します。[引用が必要]
ファームウェアとプロトタイピングボードの設計は両方ともオープンソースです。[8]
ファームウェアはLuaスクリプト言語を使用しています。ファームウェアはeLuaプロジェクトに基づいており、ESP8266用のEspressif Non-OS SDK上に構築されています。lua-cjson [9]や組み込みコントローラ用のフラッシュファイルシステムであるSPIFFS [10]など、多くのオープンソースプロジェクトを使用しています。リソースの制約により、ユーザーはプロジェクトに関連するモジュールを選択し、ニーズに合わせたファームウェアを構築する必要があります。32ビットESP32のサポートも実装されています。
通常使用されるプロトタイピング ハードウェアは、USB コントローラと、MCU とアンテナを含む小型の表面実装ボードを統合したデュアル インライン パッケージ(DIP) として機能する回路基板です。DIP 形式を選択すると、ブレッドボード上で簡単にプロトタイピングできます。設計は当初、 IoT アプリケーションで広く使用されているTensilica Xtensa LX106 コアを統合した Wi-Fi SoC であるESP8266の ESP-12 モジュールに基づいていました (関連プロジェクトを参照)。
種類
NodeMCUにはバージョン0.9と1.0の2つのバージョンがあり、バージョン0.9にはESP-12が含まれ、バージョン1.0にはESP-12Eが含まれます(Eは「Enhanced」の略)。[11]
歴史
NodeMCUはESP8266が発売されて間もなく作成されました。2013年12月30日、 Espressif Systems [6]がESP8266の生産を開始しました。[12] NodeMCUは、Hongがnodemcu-firmwareの最初のファイルをGitHubにコミットした2014年10月13日に開始されました。[13] 2か月後、開発者のHuang RがESP8266ボードのガーバーファイルdevkit v0.9をコミットし、プロジェクトはオープンハードウェアプラットフォームを含むように拡大しました。 [14]その月の後半、Tuan PMはMQTTクライアントライブラリをContikiからESP8266 SoCプラットフォームに移植し、[15] NodeMCUプロジェクトにコミットしました。その後、NodeMCUはLuaを使用してMQTTブローカーにアクセスし、MQTT IoTプロトコルをサポートできるようになりました。 2015年1月30日には、Devsaurusがu8glib [16] をNodeMCUプロジェクト[17]に移植し、 NodeMCUがLCD、スクリーン、OLED、さらにはVGAディスプレイを簡単に駆動できるようになったという重要なアップデートが行われました。
2015 年の夏、元の作成者はファームウェア プロジェクトを放棄し、独立した貢献者のグループが引き継ぎました。2016 年の夏までに、NodeMCU には 40 を超えるさまざまなモジュールが含まれるようになりました。
関連プロジェクト
ESP8266 Arduino コア
Arduino.cc が、 Arduino Due で使用されている ARM/SAM MCU などの非AVRプロセッサをベースにした新しい MCU ボードの開発を始めたとき、 Arduino IDE を修正して、Arduino C/C++ をこれらの新しいプロセッサ用にコンパイルできるように、IDE を比較的簡単に変更できるようにする必要があった。彼らは、ボード マネージャーと SAM コアを導入してこれを実現した。「コア」とは、ボード マネージャーと Arduino IDE が、ターゲット MCU のマシン言語用に Arduino C/C++ ソース ファイルをコンパイルするために必要なソフトウェア コンポーネントのコレクションである。一部の ESP8266 愛好家は、ESP8266 WiFi SoC 用の Arduino コアを開発し、一般に「Arduino IDE 用 ESP8266 コア」と呼ばれている。[18]これは、NodeMCU を含むさまざまな ESP8266 ベースのモジュールや開発ボードの主要なソフトウェア開発プラットフォームとなっている。
ピン
NodeMCUはGPIO(汎用入出力)へのアクセスを提供し、ピンマッピングテーブルはAPIドキュメントの一部です。 [19]
[*] D0 (GPIO16) は GPIO の読み取り/書き込みにのみ使用できます。オープンドレイン/割り込み/PWM/I²C または 1-Wire はサポートされていません。
参照
参考文献
- ^ ゾハイブ・ハッサン、アビジート、アプールヴァ・シャルマ。 「インターネット・オブ・ライフ(IOL)」。 (2015年)。ISBN 978-93-5156-328-0
- ^ Brian Benchoff (2014 年 10 月 25 日). 「ESP8266 Wi-Fi チップ用の SDK」. Hackaday . 2015 年4 月 2 日閲覧。
- ^ Vowstar. 「NodeMCU Devkit」. Github . NodeMCU チーム. 2015 年4 月 2 日閲覧。
- ^ Zeroday. 「wifi-soc esp8266 用の lua ベースのファームウェア」。Github。2015年4月 2 日閲覧。
- ^ ハリ・ウィグナ。 「NodeMCU LUA ファームウェア」。ハッカデイ。2015 年4 月 2 日に取得。
- ^ ab Systems、Espressif。「Espressif Systems」。Espressif-WikiDevi。2017年12月1日時点のオリジナルよりアーカイブ。2017年6月3日閲覧。
- ^ Brian Benchoff (2015 年 1 月 2 日)。「ESP LUA インタープリター用開発ボード」Hackaday。2015年4 月 2 日閲覧。
- ^ 「IBM Developer」より。
- ^ Mpx. 「Lua CJSON は Lua 用の高速 JSON エンコード/解析モジュールです」。Github。2015年4月 2 日閲覧。
- ^ Pellepl. 「組み込みデバイス向けのウェアレベル SPI フラッシュ ファイル システム」。GitHub。2015年4 月 2 日閲覧。
- ^ 「NodeMCU - IoTに最適なボード」circuito.ioブログ。2018年11月21日。 2021年5月27日閲覧。
- ^ Espressif system (2013年12月30日). 「IoT Wi-Fi 802.11b/g/n統合SoCの大量生産実装」. 中国上海讯. 2015年4月2日時点のオリジナルよりアーカイブ。 2015年4月2日閲覧。
- ^ Hong. 「NodeMCU ファームウェアの最初のコミット」。Github。2015年4 月 2 日閲覧。
- ^ Huang R. 「NodeMCU devkit の初期設計」。Github。2015年4月 2 日閲覧。
- ^ Tuan PM. 「ESP8266 用 MQTT クライアント ライブラリ」。Github。2015年4月 2 日閲覧。
- ^ Olikraus、Daniel Sittig。「8 ビット組み込みシステム向けユニバーサル グラフィックス ライブラリ」。Googleコード。2015年4 月 2 日閲覧。
- ^ Devsaurus. 「U8glib for esp8266」. Github . 2015年4月2日閲覧。
- ^ 「Arduino用ESP8266コア」。GitHub 。 2019年1月10日閲覧。
- ^ 「gpio - NodeMCU ドキュメント」。nodemcu.readthedocs.io 。2018年 11 月 11 日閲覧。
外部リンク
- 公式サイト
