Copyright 2016-2024 Moddable Tech, Inc.
改訂: 2024年1月9日
このドキュメントは、Moddable SDKを使用してESP8266およびESP8266ベースの開発ボード向けにアプリを構築するためのガイドを提供します。
-
セットアップ手順
• インストール
• トラブルシューティング
• 更新• インストール
• トラブルシューティング
• 更新• インストール
• トラブルシューティング
• 更新
アプリケーションをビルドする前に、以下のことを行う必要があります:
- Moddable SDKをインストールし、そのツールをビルドする
- ESP8266プラットフォーム用の必要なドライバと開発ツールをインストールする
以下の手順では、コマンドラインツールmcconfig
を使用してデバイス上でhelloworld
のサンプルを実行することで、セットアップを確認します。
mcconfig
の詳細については、ツールのドキュメントを参照してください
mcconfig
を使用してビルドする際には、開発ボードのプラットフォーム識別子を-p
引数に指定してデバイスターゲットを指定します。例えば、Moddable One用にビルドするには、次のコマンドを使用します:
mcconfig -d -m -p esp/moddable_one
利用可能なESP8266サブプラットフォームとそのプラットフォーム識別子のリストは、以下のプラットフォームセクションに記載されています。
ESP8266には以下の機能があります:
- 80 MHzプロセッサ
- Wi-Fi
- 80 KB RAM
- 4 MBフラッシュ
Moddable SDKは、ESP8266上に構築された多くのデバイスをサポートしています。以下の表は、各デバイス、そのプラットフォーム識別子、デバイス固有の主要機能のリスト、および追加リソースへのリンクを示しています。
名前 | プラットフォーム識別子 | 主要機能 | リンク |
---|---|---|---|
Moddable One |
esp/moddable_one simulator/moddable_one |
2.4インチIPSディスプレイ 240 x 320 QVGA 16ビットカラー 静電容量式タッチ 14 外部ピン |
|
Moddable Display 1 |
esp/moddable_display_1 simulator/moddable_one |
2.4インチIPSディスプレイ 240 x 320 QVGA 16ビットカラー 静電容量式タッチ 14 外部ピン |
|
Node MCU ESP8266 |
esp/nodemcu simulator/nodemcu |
||
Moddable Three |
esp/moddable_three simulator/moddable_three |
2.13インチePaperディスプレイ 250 x 122 ピクセル 1ビット白黒 11 外部ピン |
|
Moddable Display 3 |
esp/moddable_display_3 simulator/moddable_three |
2.13インチePaperディスプレイ 250 x 122 ピクセル 1ビット白黒 11 外部ピン |
|
Moddable Zero |
esp/moddable_zero |
私たちはまた、ESP8266 Node MCUボードで多くのディスプレイを使用しました。以下の表は配線ガイドへのリンクと対応するプラットフォーム識別子を提供しています。
配線ガイド | プラットフォーム識別子 |
---|---|
Adafruit OLED | esp/adafruit_oled |
Adafruit ST7735 | esp/adafruit_st7735 |
Crystalfontz モノクロ ePaper | esp/crystalfontz_monochrome_epaper |
Sharp メモリ LCD (2.7") | esp/sharp_memory |
Sharp メモリ LCD (1.3") | esp/sharp_memory_square |
SparkFun TeensyView | esp/sparkfun_teensyview |
Switch Science 反射型 LCD | esp/switch_science_reflective_lcd |
BuyDisplay CTP | esp/buydisplay_ctp |
Moddable SDKのESP8266用ビルドは現在、ESP8266 Arduino Core 2.3.0およびESP8266_RTOS_SDK v3.2を使用しています。
-
Getting Startedドキュメントの指示に従って、Moddable SDKツールをインストールします。
-
必要なサードパーティのSDKおよびツールのために、ホームディレクトリに
~/esp
という名前のesp
ディレクトリを作成します。 -
macOS 10.15(Catalina)以前を使用している場合は、Silicon LabsのCP210x USB to UART VCPドライバをダウンロードしてインストールします。
macOS Catalinaを使用している場合、VCPドライバを有効にするために追加の手順が必要です。インストール中に「システム拡張がブロックされました」というポップアップが表示された場合は、ダイアログの指示に従ってセキュリティとプライバシーのシステム環境設定で拡張機能を有効にしてください。
macOS 10.16(Big Sur)以降を使用している場合、VCPドライバをインストールする必要はありません。
-
macOS Catalina(バージョン10.15)以降を使用している場合、システムのセキュリティポリシーを満たさないソフトウェアをローカルで実行できるように、Terminal(または選択した別のターミナルアプリケーション)に例外を追加します。この設定がないと、次のステップでダウンロードする事前コンパイル済みのXtensaツールチェーンは実行できません。
Terminalのセキュリティポリシーの例外を設定するには、セキュリティとプライバシーのシステム環境設定に移動し、プライバシータブを選択し、左側のリストから開発者ツールを選び、Moddable SDKアプリをビルドするために使用するTerminalまたは別のターミナルアプリケーションのチェックボックスをオンにします。最終的な結果は次のようになります:
-
Xtensa lx106アーキテクチャGCCツールチェーンをダウンロードして解凍します。
toolchain
ディレクトリを~/esp
ディレクトリにコピーします。 -
ESP8266 Arduinoリポジトリのコアをダウンロードします。解凍した
esp8266-2.3.0
フォルダを~/esp
ディレクトリにコピーします。 -
~/esp
ディレクトリにESP8266 SDK based on FreeRTOSリポジトリをクローンします:cd ~/esp git clone https://github.com/espressif/ESP8266_RTOS_SDK.git
バージョン3.2が必要です:
cd ESP8266_RTOS_SDK git checkout release/v3.2
-
Pythonと必要なPythonパッケージをインストールします。追加コンポーネントのインストールにはbrewとpipを使用しました:
brew install python sudo easy_install pip pip install --user pyserial
-
USBケーブルでESP8266をコンピュータに接続します。
-
デバイスターゲット用に
helloworld
をビルドしてセットアップを確認します:cd ${MODDABLE}/examples/helloworld mcconfig -d -m -p esp/<YOUR_SUBPLATFORM_HERE>
アプリケーションをインストールしようとすると、エラーや警告の形で障害に遭遇することがあります。このセクションでは、macOSでの一般的な問題とその解決方法について説明します。
他のmacOS、Windows、およびLinuxで共通の問題については、このドキュメントの下部にあるトラブルシューティングセクションを参照してください。
次のエラーメッセージは、デバイスがコンピュータに接続されていないか、コンピュータがデバイスを認識していないことを意味します。
error: cannot access /dev/cu.SLAB_USBtoUART
error: cannot access /dev/usbserial-0001
これが発生する理由はいくつかあります:
- デバイスがコンピュータに接続されていません。ビルドコマンドを実行する際にデバイスが接続されていることを確認してください。
- 電源のみのUSBケーブルを使用しています。データ同期が可能なUSBケーブルを使用していることを確認してください。
- コンピュータがデバイスを認識していません。この問題を解決するには、以下の指示に従ってください。
デバイスを取り外し、次のコマンドを入力します。
ls /dev/cu*
次に、デバイスを接続し、同じコマンドを再度実行します。ターミナル出力に新しいものが表示されない場合、デバイスはコンピュータに認識されていません。
macOS 10.15以前を使用している場合は、正しいVCPドライバがインストールされていることを確認してください。macOS 10.16以降を使用している場合は、VCPドライバをインストールする必要はありません。
認識された場合、デバイス名が取得できたので、UPLOAD_PORT
環境変数を編集する必要があります。以下のコマンドを入力し、/dev/cu.SLAB_USBtoUART
をシステム上のデバイス名に置き換えてください。
export UPLOAD_PORT=/dev/cu.SLAB_USBtoUART
ビルド環境が最新であることを確認するために、以下の手順を実行してください:
-
ESP8266 core for Arduino repository をダウンロードします。解凍した
esp8266-2.3.0
フォルダを~/esp
ディレクトリにコピーします。 -
クローンした ESP8266 SDK based on FreeRTOS を更新し、release/v3.2ブランチを選択します:
cd ~/esp/ESP8266_RTOS_SDK git fetch git checkout release/v3.2 git pull
-
既存のESP8266ビルド出力が
$MODDABLE/build/bin/esp
または$MODDABLE/build/tmp/esp
にある場合、それらのディレクトリを削除します:cd $MODDABLE/build rm -rf bin/esp rm -rf tmp/esp
-
デバイスターゲット用に
helloworld
をビルドしてセットアップを確認します:cd ${MODDABLE}/examples/helloworld mcconfig -d -m -p esp/<YOUR_SUBPLATFORM_HERE>
Moddable SDKのESP8266用ビルドは現在、ESP8266 Arduino Core 2.3.0と ESP8266_RTOS_SDK v3.2
を使用しています。
-
Getting Started ドキュメント の指示に従ってModdable SDKツールをインストールします。
-
ホーム
%USERPROFILE%
ディレクトリにesp
ディレクトリを作成します。例:C:\Users\<your-user-name>
。 -
Silicon Labsの CP210x USB to UART VCP ドライバ をダウンロードしてインストールします。ドライバのzipファイルにはx64とx86バージョンのインストーラが含まれています。ほとんどの最新のPCは64ビット版のWindowsを実行しているため、x64バージョンのVCPドライバを使用する必要があります。32ビット版のWindowsを実行している場合は、x86バージョンのドライバを使用してください。(コンピュータが64ビット版のWindowsを実行しているかどうかは、システム設定の「PCの情報」で確認できます)
-
esptool をダウンロードします。アーカイブを解凍し、
esptool-0.4.13-win32
ディレクトリからesptool.exe
実行ファイルをesp
ディレクトリにコピーします。 -
Cygwin ツールチェーンサポートパッケージ をダウンロードして解凍します。
cygwin
ディレクトリをesp
ディレクトリにコピーします。 -
Xtensa lx106 アーキテクチャ GCC ツールチェーン をダウンロードして解凍します。
xtensa-lx106-elf
ディレクトリをesp
ディレクトリにコピーします。 -
ESP8266 core for Arduino リポジトリ をダウンロードします。解凍した
esp8266-2.3.0
フォルダをesp
ディレクトリにコピーします。 -
FreeRTOS に基づく ESP8266 SDK リポジトリを
~/esp
ディレクトリにクローンします:
cd %USERPROFILE%\esp
git clone https://github.com/espressif/ESP8266_RTOS_SDK.git
バージョン3.2が必要です:
cd ESP8266_RTOS_SDK
git checkout release/v3.2
-
Windows用のPythonインストーラーをダウンロードして実行します。デフォルトのオプションを選択してください。
-
これらの指示に従って、コントロールパネルアプリの「環境変数」ダイアログを開きます。そのダイアログから:
Path
システム変数を編集して、Python実行ファイルのディレクトリとcygwin\bin
ディレクトリを含めます。- 変数名:
Path
- 変数値(既存のリストに追加):
C:\Python27
- 変数値(既存のリストに追加):
C:\Python27\Scripts
- 変数名:
注: pyserialをインストールした後のステップで追加の環境変数を追加する必要があります。しかし、ここで環境変数ダイアログで
OK
を押して変更を適用してから続行してください。 -
"コマンドプロンプト" ウィンドウを開き、
pyserial
Pythonシリアルポート拡張機能をインストールします:pip install pyserial
-
USBケーブルでESP8266をコンピュータに接続します。
-
Windowsデバイスマネージャを起動し、「ポート (COM & LPT)」セクションを開き、「Silicon Labs CP210x USB to UART Bridge」が表示されていることを確認します。次のステップのためにCOMポート (例: COM3) をメモしておきます。
デバイスマネージャのインターフェースは、Windows OSのバージョンによって異なる場合があります。
-
コントロールパネルアプリの「環境変数」ダイアログをこれらの指示に従って開きます。そのダイアログから:
BASE_DIR
というユーザー変数を作成し、それを%USERPROFILE%
に設定します- 変数名:
BASE_DIR
- 変数値:
%USERPROFILE%
- 変数名:
UPLOAD_PORT
というユーザー変数を作成し、ステップ13で確認したCOMポートに設定します- 変数名:
UPLOAD_PORT
- 変数値 (必要に応じて編集):
COM3
- 変数名:
Path
ユーザー変数を編集して、cygwin\bin
ディレクトリを含めます。- 変数名:
Path
- 変数値 (既存のリストに追加):
%BASE_DIR%\esp\cygwin\bin
- 変数名:
-
「x86 Native Tools Command Prompt for VS 2019」コマンドラインコンソールを起動します。デバイスターゲット用に
helloworld
をビルドしてセットアップを確認します:cd %MODDABLE%\examples\helloworld mcconfig -d -m -p esp/<YOUR_SUBPLATFORM_HERE>
アプリケーションをインストールしようとすると、エラーや警告の形で障害が発生することがあります。このセクションでは、Windowsでの一般的な問題とその解決方法について説明します。
macOS、Windows、Linuxで共通のその他の問題については、このドキュメントの最後にあるトラブルシューティングセクションを参照してください。
次のエラーメッセージは、デバイスがコンピュータに接続されていないか、コンピュータがデバイスを認識していないことを意味します。
error: cannot access /dev/cu.SLAB_USBtoUART
error: cannot access /dev/usbserial-0001
これが発生する理由はいくつかあります:
- デバイスがコンピュータに接続されていません。ビルドコマンドを実行する際にデバイスが接続されていることを確認してください。
- 電源供給のみのUSBケーブルを使用しています。データ同期が可能なUSBケーブルを使用していることを確認してください。
- コンピュータがデバイスを認識していません。この問題を解決するには、以下の指示に従ってください。
デバイスマネージャーでUSBデバイスのリストを確認します。デバイスが不明なデバイスとして表示される場合は、正しいVCPドライバがインストールされていることを確認してください。
デバイスがCOM3以外のCOMポートに表示される場合は、UPLOAD_PORT
環境変数を編集する必要があります。次のコマンドを入力し、COM3
をシステムに適したデバイスのCOMポートに置き換えてください。
set UPLOAD_PORT=COM3
ビルド環境が最新であることを確認するために、次の手順を実行します:
-
ESP8266 core for Arduino repositoryをダウンロードします。解凍した
esp8266-2.3.0
フォルダーをesp
ディレクトリにコピーします。 -
クローンしたESP8266 SDK based on FreeRTOSのコピーを更新し、release/v3.2ブランチを選択します:
cd %USERPROFILE%\esp\ESP8266_RTOS_SDK git fetch git checkout release/v3.2 git pull
-
既存のESP8266ビルド出力が
%MODDABLE%\build\bin\esp
または%MODDABLE%\build\tmp\esp
にある場合は、それらのディレクトリを削除します。例えば、「x86 Native Tools Command Prompt for VS 2019」コマンドラインコンソールを使用して:cd %MODDABLE%\build rmdir /S /Q bin\esp rmdir /S /Q tmp\esp
-
"x86 Native Tools Command Prompt for VS 2019" コマンドラインコンソールを起動します。デバイスターゲット用に
helloworld
をビルドしてセットアップを確認します:cd %MODDABLE%\examples\helloworld mcconfig -d -m -p esp
Moddable SDKのESP8266用ビルドは現在、ESP8266 Arduino Core 2.3.0およびESP8266_RTOS_SDK v3.2を使用しています。
-
Getting Started ドキュメント の指示に従って、Moddable SDKツールをインストールします。
-
必要なサードパーティのSDKとツールのために、ホームディレクトリの
~/esp
にesp
ディレクトリを作成します。 -
Xtensa lx106 アーキテクチャ GCC ツールチェーン をダウンロードして解凍します。
toolchain
ディレクトリを~/esp
ディレクトリにコピーします。 -
ESP8266 core for Arduino リポジトリ をダウンロードします。解凍した
esp8266-2.3.0
フォルダを~/esp
ディレクトリにコピーします。 -
~/esp
ディレクトリにESP8266 SDK based on FreeRTOSリポジトリをクローンします:cd ~/esp git clone https://github.com/espressif/ESP8266_RTOS_SDK.git
バージョン3.2が必要です:
cd ESP8266_RTOS_SDK git checkout release/v3.2
-
Pythonと必要なPythonパッケージをインストールします。追加コンポーネントのインストールにはpipを使用しました。
Ubuntu 20の場合:
sudo apt-get install python-is-python3 python3-pip python3-serial
Ubuntu 20以前のバージョンの場合:
sudo apt-get install python sudo easy_install pip pip install --user pyserial
-
USBケーブルでESP8266をコンピュータに接続します。
-
デバイスターゲット用に
helloworld
をビルドしてセットアップを確認します:cd $MODDABLE/examples/helloworld mcconfig -d -m -p esp/<YOUR_SUBPLATFORM_HERE>
アプリケーションをインストールしようとすると、エラーや警告の形で障害に遭遇することがあります。このセクションでは、Linux上での一般的な問題とその解決方法について説明します。
他のmacOS、Windows、Linuxで共通の問題については、このドキュメントの末尾にあるトラブルシューティングセクションを参照してください。
ESP8266はttyUSB0デバイスを介してLinuxホストと通信します。Ubuntu Linuxでは、ttyUSB0デバイスはdialout
グループによって所有されています。ESP8266をフラッシュする際に許可が拒否されましたエラーが発生した場合は、ユーザーをdialout
グループに追加してください:
sudo adduser <username> dialout
sudo reboot
次のエラーメッセージは、デバイスがコンピュータに接続されていないか、コンピュータがデバイスを認識していないことを意味します。
error: cannot access /dev/cu.SLAB_USBtoUART
error: cannot access /dev/usbserial-0001
これが発生する理由はいくつかあります:
- デバイスがコンピュータに接続されていません。ビルドコマンドを実行する際に接続されていることを確認してください。
- 電源のみのUSBケーブルを使用しています。データ同期が可能なUSBケーブルを使用していることを確認してください。
- コンピュータがデバイスを認識していません。この問題を解決するには、以下の指示に従ってください。
デバイスの接続を外し、以下のコマンドを入力します。
ls /dev/cu*
次にデバイスを接続し、同じコマンドを再度実行します。ターミナル出力に新しいものが表示されない場合、デバイスはコンピュータに認識されていません。
macOS 10.15以前を使用している場合は、正しいVCPドライバがインストールされていることを確認してください。macOS 10.16以降を使用している場合は、VCPドライバをインストールする必要はありません。
認識された場合、デバイス名が取得できたので、UPLOAD_PORT
環境変数を編集する必要があります。以下のコマンドを入力し、/dev/cu.SLAB_USBtoUART
をシステム上のデバイス名に置き換えます。
export UPLOAD_PORT=/dev/cu.SLAB_USBtoUART
ビルド環境が最新であることを確認するために、以下の手順を実行します。
-
ESP8266 core for Arduino repositoryをダウンロードします。解凍した
esp8266-2.3.0
フォルダを~/esp
ディレクトリにコピーします。 -
クローンした ESP8266 SDK based on FreeRTOS のコピーを更新し、release/v3.2ブランチを選択します:
cd ~/esp/ESP8266_RTOS_SDK git fetch git checkout release/v3.2 git pull
-
既存のESP8266ビルド出力が
$MODDABLE/build/bin/esp
または$MODDABLE/build/tmp/esp
にある場合は、それらのディレクトリを削除します:cd $MODDABLE/build rm -rf bin/esp rm -rf tmp/esp
-
Moddable SDKを最初にインストールしてからUbuntu 20.04以降(またはPython 3をデフォルトとする任意のLinuxディストリビューション)に更新した場合は、追加のPython 3コンポーネントをインストールします:
sudo apt-get install python-is-python3 python3-pip python3-serial
-
デバイスターゲット用に
helloworld
をビルドしてセットアップを確認します:cd $MODDABLE/examples/helloworld mcconfig -d -m -p esp/<YOUR_SUBPLATFORM_HERE>
アプリケーションをインストールしようとすると、エラーや警告の形で障害に遭遇することがあります。このセクションでは、一般的な問題とその解決方法について説明します。
以下の警告メッセージは通常であり、心配する必要はありません。
warning: serialport_set_baudrate: baud rate 921600 may not work
しかし、時々アップロードが開始されても完了しないことがあります。アップロードが完了したかどうかは、コンソールに表示される進行バーが100%に達したかどうかで判断できます。例えば:
........................................................... [ 16% ]
........................................................... [ 33% ]
........................................................... [ 49% ]
........................................................... [ 66% ]
........................................................... [ 82% ]
........................................................... [ 99% ]
.. [ 100% ]
アップロードが途中で失敗する理由はいくつかあります:
- 不良なUSBケーブルを使用している。
- 高いボーレートをサポートしないUSBケーブルを使用している。
- Moddable SDKが使用するデフォルトのボーレートよりも低いボーレートを必要とするボードを使用している。
上記の最後の2つの問題を解決するには、以下のようにしてボーレートを遅くすることができます:
-
$MODDABLE/tools/mcconfig/make.esp.mk
を開きます。 -
アップロード速度を921600に設定するこの行を見つけます:
UPLOAD_SPEED ?= 921600
-
速度を小さい数値に設定します。例えば:
UPLOAD_SPEED ?= 115200
Moddable SDK on ESP8266は、ESP8266 core for Arduinoによってホストされています。Moddable SDKはバージョン2.3を使用しています。バージョン2.4もサポートされていますが、現時点ではバージョン2.4の使用は推奨していません。これは、Moddable SDKのほとんどの使用に対して、ROMとRAMの消費が増える一方で、顕著な利点を提供しないためです。ESP8266 core for Arduinoのチームはこれらの問題を認識しており、積極的に対処に取り組んでいます。
macOSまたはLinuxでビルドする場合、今日からバージョン2.4を使用できます。
-
上記の指示に従い、ESP8266 Core for Arduinoのバージョン2.4を使用してください。
-
${MODDABLE}/tools/mcconfig/make.esp.mk
で以下を変更します:ESP_SDK_RELEASE ?= esp8266-2.3.0
次のように変更します:
ESP_SDK_RELEASE ?= esp8266-2.4.0
-
${MODDABLE}/build/bin/esp/
および${MODDABLE}/build/tmp/esp/
の内容を削除し、上記のようにビルドして、ツールのクリーンビルドを行います。