Node-RED MCUの環境を構築する(Moddable SDK 5.4.1、ESP-IDF v5.3.1対応版、Windows 11)

はじめに

 今回はNode-RED MCUの環境を構築してみました。

 PCを買い替えたので、久々にインストールしました。カメラへの対応も進んでいるようなので、試したいなと思っています。

▼Windows 11の環境で実行しています。

ちょっと買い物:新しいノートPCとSSDの増設

はじめに  今回はこれまで使っていたPCが壊れたので買い替えましたという話です。  以前はよく分からないGPUが載っていたノートPCを使っていたのですが、最近はUnreal E…

 なお、xs-devという環境構築を簡単にするためのパッケージがありますが、今回はxs-devを使わずにドキュメントを確認して環境を構築します。

▼xs-devのページはこちら

https://xs-dev.js.org

▼以前の記事はこちら

Node-RED MCUの環境を構築する(ESP-IDF v5.3対応版、Ubuntu Desktop 20.04)

はじめに  Moddable SDKが更新されて、最新ではESP-IDF v5.3をサポートしています。それに伴って、Node-RED MCUの環境構築手順も少しだけ変更点があります。  今回は最…

Node-REDでマイコンと、SNSやメールを連携させる(ヒーローズリーグ ハイブリット・ハッカソンにて)

はじめに  ヒーローズリーグのハッカソンにて二日間製作していたのですが、今回はその技術的なまとめです。短い期間でしたが、Node-RED経由でLINE、Slack、Discord、Gmai…

▼Node-REDとNode-RED MCUの簡単な紹介はこちら

書籍紹介:『はじめてのNode-RED』/『はじめてのNode-RED MCU Edition』

Node-REDとは  一言でいうと、Node-REDはプログラミングが簡単にできるツールです。ビジュアルプログラミングの一種で、視覚的にわかりやすくなっています。 ▼百聞は一見…

Moddable SDKのインストール

 まずはModdable SDKをインストールします。

▼以下のページを参考に進めます。

https://github.com/Moddable-OpenSource/moddable/blob/public/documentation/Moddable%20SDK%20-%20Getting%20Started.md#win-requirements

 Visual Studio 2022はインストールしておいてください。

▼ダウンロードページはこちら

https://visualstudio.microsoft.com/ja/downloads

▼Visual Studio Community 2022の変更を選択しました。

▼C++によるデスクトップ開発の欄で、Windows 10 SDK(10.0.0.19041.0)が選択されていることを確認しました。

 なお、私の場合Windows 11 SDK (10.0.26100.0)が有効になっていると、この後の手順でビルドに失敗しました。

▼以下のように無効にした状態だと、ビルドできました。ビルドに失敗したらbuild cleanを実行してから、再度buildしてみてください。

▼失敗したときは以下のようなエラーが起きました。mcconfigが無かったです。

 以下のコマンドで、Cドライブにフォルダを作成し、GitHubのリポジトリをクローンします。

cd c:
mkdir pjt
cd pjt
git clone https://github.com/Moddable-OpenSource/moddable

▼クローンが完了しました。

▼フォルダが追加されています。

 環境変数を追加します。

▼Windowsの検索欄で検索し、システム環境変数の編集を選択しました。

▼新規でユーザー環境変数を追加します。

 MODDABLEという名前の環境変数を追加します。

▼ディレクトリの参照で、moddableフォルダのあるディレクトリを指定しました。

▼追加できました。

 Pathも追加します。

▼Pathを編集します。

▼新規でmoddableフォルダのbuild/win/releaseフォルダのパスを追加しました。

 環境変数を編集後、コマンドプロンプトを立ち上げ直しました。

▼x86 Native Tools Command Prompt for VS 2022でコマンドを実行していきます。

 別のコマンドプロンプトを立ち上げると、ビルドできないのでご注意ください。

 以下のコマンドでビルドします。

cd %MODDABLE%\build\makefiles\win
build

▼ちょっとだけ警告が流れていました。

▼ビルド後、xsbugを実行すると起動しました。

 以下のコマンドでサンプルも実行してみました。

cd %MODDABLE%\examples\helloworld
mcconfig -d -m -p win

▼シミュレータが起動しました。xsbugでスタートすると、文字が出力されました。

 サンプルまで実行できればOKです。

ESP-IDFのインストール

 次に、ESP-IDFをインストールします。

▼以下のページを参考に進めます。

https://github.com/Moddable-OpenSource/moddable/blob/public/documentation/devices/esp32.md#win-instructions

 Silicon Labsのドライバはインストールしておきました。

▼以下のページのCP210x Universal Windows Driverをダウンロードしました。

https://www.silabs.com/developer-tools/usb-to-uart-bridge-vcp-drivers?tab=downloads

▼infファイルを右クリックすると、インストールという選択肢があります。

 ESP-IDFはインストーラでインストールしました。

▼以下のページからダウンロードできます。

https://dl.espressif.com/dl/esp-idf/?idf=5.3.1

▼ESP-IDF v5.3.1に対応したものをインストールしました。

▼インストール先はC:¥Espressifのままにしました。

▼インストール後、CドライブのEspressifフォルダに追加されました。

▼frameworksフォルダにesp-idf-v5.3.1が入っています。

 環境変数にパスを追加しました。

▼IDF_PATHがesp-idf-v5.3.1のパス、IDF_TOOLS_PATHがC:¥Espressifのパスになっていることを確認しました。

 これでインストールはOKです。

Node-RED MCUのインストール

 Node-REDのインストールについては、ユーザー会のドキュメントをご覧ください。

▼Windowsの場合は以下のページです。

https://nodered.jp/docs/getting-started/windows

 Node-REDにNode-RED MCU Pluginを追加します。

▼node-red-mcu-pluginのリポジトリはこちら

https://github.com/ralphwetzel/node-red-mcu-plugin

 Node-REDのパレットの管理から、プラグインを追加しました。

▼@ralphwetzel/node-red-mcu-pluginをインストールしました。

 もしくはNode-REDのノードのpackage.jsonがあるディレクトリで、以下のコマンドでインストールします。

npm install @ralphwetzel/node-red-mcu-plugin

 その後、Node-REDを再起動しました。

▼MCUのタブが追加されました!

 このままではNode-RED MCU用のノードが無いので、追加します。

▼こちらのノードです。

https://flows.nodered.org/node/@moddable-node-red/mcu

▼パレットの管理から、@moddable-node-red/mcuをインストールしました。

▼ノードが追加されました!

動作を確認する

 XIAO ESP32S3を用いて動作確認を行いました。D2ピンでLEDを点灯してみます。

▼ビルド対象はXIAO ESP32S3にしました。

▼新しくフローを作成して、ビルド対象のフローとして指定しました。

▼ピン配置はこちらにも書かれています。D2ピンはGPIO3です。

 3番のピンに対して、injectノードでHIGHとLOWを指定します。

▼以下の簡単なフローを作成しました。

[{"id":"a5162399396fa449","type":"mcu_digital_out","z":"7d1caf7806cfab92","name":"","pin":"3","mode":"Output","initial":"undefined","invert":false,"moddable_manifest":{"include":"$(NODEREDMCU)/nodes/mcu/digital/manifest.json"},"_mcu":{"mcu":true},"x":630,"y":500,"wires":[]},{"id":"9aac08849fd9400b","type":"inject","z":"7d1caf7806cfab92","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"1","payloadType":"num","_mcu":{"mcu":true},"x":450,"y":500,"wires":[["a5162399396fa449"]]},{"id":"dcc21d015e3f1754","type":"inject","z":"7d1caf7806cfab92","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","_mcu":{"mcu":true},"x":450,"y":540,"wires":[["a5162399396fa449"]]}]

▼digital outノードで3番を指定しました。

 実際にビルドして確認しました。

▼LEDの点灯を制御できました!

最後に

 Windows 11 SDKが選択されていたところで引っかかったのですが、無事環境を構築することができました。

 早速新しく開発されたカメラのノードを使ってみようと思っています。

▼Windows 11 SDKを追加したのは、Unreal Engine でC++の開発をするためでした。今回の変更でもしかしたら開発できなくなっているかもしれません...

Unreal Engine 5を使ってみる その13(C++での開発)

はじめに  今回はUnreal EngineでC++での開発に取り組んでみました。  普段はブループリントで開発していますが、ネットワーク関連に関してはノードの不足を感じるよう…

 やはり環境構築はログを残しておくことが大事ですね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です