Skip to content

Latest commit

 

History

History
547 lines (365 loc) · 31.4 KB

esp8266.md

File metadata and controls

547 lines (365 loc) · 31.4 KB

Moddable SDKでESP8266を使用する

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 One 開発者ガイド
  • Moddable 製品ページ

  • Moddable Display 1
    esp/moddable_display_1
    simulator/moddable_one
    2.4インチIPSディスプレイ
    240 x 320 QVGA
    16ビットカラー
    静電容量式タッチ

    14 外部ピン
  • Moddable Display 開発者ガイド
  • Moddable 製品ページ

  • Node MCU ESP8266
    esp/nodemcu
    simulator/nodemcu

    Moddable Three
    esp/moddable_three
    simulator/moddable_three
    2.13インチePaperディスプレイ
    250 x 122 ピクセル
    1ビット白黒

    11 外部ピン
  • Moddable Three 開発者ガイド
  • Moddable 製品ページ

  • Moddable Display 3
    esp/moddable_display_3
    simulator/moddable_three
    2.13インチePaperディスプレイ
    250 x 122 ピクセル
    1ビット白黒

    11 外部ピン
  • Moddable Display 開発者ガイド
  • Moddable 製品ページ

  • Moddable Zero
    esp/moddable_zero
  • 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

    macOS

    Moddable SDKのESP8266用ビルドは現在、ESP8266 Arduino Core 2.3.0およびESP8266_RTOS_SDK v3.2を使用しています。

    インストール

    1. Getting Startedドキュメントの指示に従って、Moddable SDKツールをインストールします。

    2. 必要なサードパーティのSDKおよびツールのために、ホームディレクトリに~/espという名前のespディレクトリを作成します。

    3. macOS 10.15(Catalina)以前を使用している場合は、Silicon LabsのCP210x USB to UART VCPドライバをダウンロードしてインストールします。

      macOS Catalinaを使用している場合、VCPドライバを有効にするために追加の手順が必要です。インストール中に「システム拡張がブロックされました」というポップアップが表示された場合は、ダイアログの指示に従ってセキュリティとプライバシーのシステム環境設定で拡張機能を有効にしてください。

      macOS 10.16(Big Sur)以降を使用している場合、VCPドライバをインストールする必要はありません。

    4. macOS Catalina(バージョン10.15)以降を使用している場合、システムのセキュリティポリシーを満たさないソフトウェアをローカルで実行できるように、Terminal(または選択した別のターミナルアプリケーション)に例外を追加します。この設定がないと、次のステップでダウンロードする事前コンパイル済みのXtensaツールチェーンは実行できません。

     Terminalのセキュリティポリシーの例外を設定するには、セキュリティとプライバシーのシステム環境設定に移動し、プライバシータブを選択し、左側のリストから開発者ツールを選び、Moddable SDKアプリをビルドするために使用するTerminalまたは別のターミナルアプリケーションのチェックボックスをオンにします。最終的な結果は次のようになります:

     Catalina Developer Options

    1. Xtensa lx106アーキテクチャGCCツールチェーンをダウンロードして解凍します。toolchainディレクトリを~/espディレクトリにコピーします。

    2. ESP8266 Arduinoリポジトリのコアをダウンロードします。解凍したesp8266-2.3.0フォルダを~/espディレクトリにコピーします。

    3. ~/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
      
    4. Pythonと必要なPythonパッケージをインストールします。追加コンポーネントのインストールにはbrewpipを使用しました:

      brew install python
      sudo easy_install pip
      pip install --user pyserial
      
    5. USBケーブルでESP8266をコンピュータに接続します。

    6. デバイスターゲット用に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
    

    これが発生する理由はいくつかあります:

    1. デバイスがコンピュータに接続されていません。ビルドコマンドを実行する際にデバイスが接続されていることを確認してください。
    2. 電源のみのUSBケーブルを使用しています。データ同期が可能なUSBケーブルを使用していることを確認してください。
    3. コンピュータがデバイスを認識していません。この問題を解決するには、以下の指示に従ってください。

    デバイスを取り外し、次のコマンドを入力します。

    ls /dev/cu*
    

    次に、デバイスを接続し、同じコマンドを再度実行します。ターミナル出力に新しいものが表示されない場合、デバイスはコンピュータに認識されていません。

    macOS 10.15以前を使用している場合は、正しいVCPドライバがインストールされていることを確認してください。macOS 10.16以降を使用している場合は、VCPドライバをインストールする必要はありません。

    認識された場合、デバイス名が取得できたので、UPLOAD_PORT 環境変数を編集する必要があります。以下のコマンドを入力し、/dev/cu.SLAB_USBtoUART をシステム上のデバイス名に置き換えてください。

    export UPLOAD_PORT=/dev/cu.SLAB_USBtoUART
    

    更新

    ビルド環境が最新であることを確認するために、以下の手順を実行してください:

    1. ESP8266 core for Arduino repository をダウンロードします。解凍した esp8266-2.3.0 フォルダを ~/esp ディレクトリにコピーします。

    2. クローンした ESP8266 SDK based on FreeRTOS を更新し、release/v3.2ブランチを選択します:

      cd ~/esp/ESP8266_RTOS_SDK
      git fetch
      git checkout release/v3.2
      git pull
      
    3. 既存のESP8266ビルド出力が $MODDABLE/build/bin/esp または $MODDABLE/build/tmp/esp にある場合、それらのディレクトリを削除します:

      cd $MODDABLE/build
      rm -rf bin/esp
      rm -rf tmp/esp
      
    4. デバイスターゲット用に helloworld をビルドしてセットアップを確認します:

      cd ${MODDABLE}/examples/helloworld
      mcconfig -d -m -p esp/<YOUR_SUBPLATFORM_HERE>
      

    Windows

    Moddable SDKのESP8266用ビルドは現在、ESP8266 Arduino Core 2.3.0と ESP8266_RTOS_SDK v3.2 を使用しています。

    インストール

    1. Getting Started ドキュメント の指示に従ってModdable SDKツールをインストールします。

    2. ホーム %USERPROFILE% ディレクトリに esp ディレクトリを作成します。例: C:\Users\<your-user-name>

    3. Silicon Labsの CP210x USB to UART VCP ドライバ をダウンロードしてインストールします。ドライバのzipファイルにはx64とx86バージョンのインストーラが含まれています。ほとんどの最新のPCは64ビット版のWindowsを実行しているため、x64バージョンのVCPドライバを使用する必要があります。32ビット版のWindowsを実行している場合は、x86バージョンのドライバを使用してください。(コンピュータが64ビット版のWindowsを実行しているかどうかは、システム設定の「PCの情報」で確認できます)

    4. esptool をダウンロードします。アーカイブを解凍し、esptool-0.4.13-win32 ディレクトリから esptool.exe 実行ファイルを esp ディレクトリにコピーします。

    5. Cygwin ツールチェーンサポートパッケージ をダウンロードして解凍します。cygwin ディレクトリを esp ディレクトリにコピーします。

    6. Xtensa lx106 アーキテクチャ GCC ツールチェーン をダウンロードして解凍します。xtensa-lx106-elf ディレクトリを esp ディレクトリにコピーします。

    7. ESP8266 core for Arduino リポジトリ をダウンロードします。解凍した esp8266-2.3.0 フォルダを esp ディレクトリにコピーします。

    8. 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
    
    1. Windows用のPythonインストーラーをダウンロードして実行します。デフォルトのオプションを選択してください。

    2. これらの指示に従って、コントロールパネルアプリの「環境変数」ダイアログを開きます。そのダイアログから:

      • Pathシステム変数を編集して、Python実行ファイルのディレクトリとcygwin\binディレクトリを含めます。
        • 変数名: Path
        • 変数値(既存のリストに追加): C:\Python27
        • 変数値(既存のリストに追加): C:\Python27\Scripts

      注: pyserialをインストールした後のステップで追加の環境変数を追加する必要があります。しかし、ここで環境変数ダイアログでOKを押して変更を適用してから続行してください。

    3. "コマンドプロンプト" ウィンドウを開き、pyserial Pythonシリアルポート拡張機能をインストールします:

      pip install pyserial
      
    4. USBケーブルでESP8266をコンピュータに接続します。

    5. Windowsデバイスマネージャを起動し、「ポート (COM & LPT)」セクションを開き、「Silicon Labs CP210x USB to UART Bridge」が表示されていることを確認します。次のステップのためにCOMポート (例: COM3) をメモしておきます。

      デバイスマネージャのインターフェースは、Windows OSのバージョンによって異なる場合があります。

    6. コントロールパネルアプリの「環境変数」ダイアログをこれらの指示に従って開きます。そのダイアログから:

      • BASE_DIR というユーザー変数を作成し、それを %USERPROFILE% に設定します
        • 変数名: BASE_DIR
        • 変数値: %USERPROFILE%
      • UPLOAD_PORT というユーザー変数を作成し、ステップ13で確認したCOMポートに設定します
        • 変数名: UPLOAD_PORT
        • 変数値 (必要に応じて編集): COM3
      • Path ユーザー変数を編集して、cygwin\bin ディレクトリを含めます。
        • 変数名: Path
        • 変数値 (既存のリストに追加): %BASE_DIR%\esp\cygwin\bin
    7. 「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
    

    これが発生する理由はいくつかあります:

    1. デバイスがコンピュータに接続されていません。ビルドコマンドを実行する際にデバイスが接続されていることを確認してください。
    2. 電源供給のみのUSBケーブルを使用しています。データ同期が可能なUSBケーブルを使用していることを確認してください。
    3. コンピュータがデバイスを認識していません。この問題を解決するには、以下の指示に従ってください。

    デバイスマネージャーでUSBデバイスのリストを確認します。デバイスが不明なデバイスとして表示される場合は、正しいVCPドライバがインストールされていることを確認してください。

    デバイスがCOM3以外のCOMポートに表示される場合は、UPLOAD_PORT環境変数を編集する必要があります。次のコマンドを入力し、COM3をシステムに適したデバイスのCOMポートに置き換えてください。

    set UPLOAD_PORT=COM3
    

    更新

    ビルド環境が最新であることを確認するために、次の手順を実行します:

    1. ESP8266 core for Arduino repositoryをダウンロードします。解凍したesp8266-2.3.0フォルダーをespディレクトリにコピーします。

    2. クローンしたESP8266 SDK based on FreeRTOSのコピーを更新し、release/v3.2ブランチを選択します:

      cd %USERPROFILE%\esp\ESP8266_RTOS_SDK
      git fetch
      git checkout release/v3.2
      git pull
      
    3. 既存の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
      
    4. "x86 Native Tools Command Prompt for VS 2019" コマンドラインコンソールを起動します。デバイスターゲット用に helloworld をビルドしてセットアップを確認します:

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

    Linux

    Moddable SDKのESP8266用ビルドは現在、ESP8266 Arduino Core 2.3.0およびESP8266_RTOS_SDK v3.2を使用しています。

    インストール

    1. Getting Started ドキュメント の指示に従って、Moddable SDKツールをインストールします。

    2. 必要なサードパーティのSDKとツールのために、ホームディレクトリの ~/espesp ディレクトリを作成します。

    3. Xtensa lx106 アーキテクチャ GCC ツールチェーン をダウンロードして解凍します。toolchain ディレクトリを ~/esp ディレクトリにコピーします。

    4. ESP8266 core for Arduino リポジトリ をダウンロードします。解凍した esp8266-2.3.0 フォルダを ~/esp ディレクトリにコピーします。

    5. ~/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
      
    6. 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
      
    7. USBケーブルでESP8266をコンピュータに接続します。

    8. デバイスターゲット用に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
    

    これが発生する理由はいくつかあります:

    1. デバイスがコンピュータに接続されていません。ビルドコマンドを実行する際に接続されていることを確認してください。
    2. 電源のみのUSBケーブルを使用しています。データ同期が可能なUSBケーブルを使用していることを確認してください。
    3. コンピュータがデバイスを認識していません。この問題を解決するには、以下の指示に従ってください。

    デバイスの接続を外し、以下のコマンドを入力します。

    ls /dev/cu*
    

    次にデバイスを接続し、同じコマンドを再度実行します。ターミナル出力に新しいものが表示されない場合、デバイスはコンピュータに認識されていません。

    macOS 10.15以前を使用している場合は、正しいVCPドライバがインストールされていることを確認してください。macOS 10.16以降を使用している場合は、VCPドライバをインストールする必要はありません。

    認識された場合、デバイス名が取得できたので、UPLOAD_PORT環境変数を編集する必要があります。以下のコマンドを入力し、/dev/cu.SLAB_USBtoUARTをシステム上のデバイス名に置き換えます。

    export UPLOAD_PORT=/dev/cu.SLAB_USBtoUART
    

    更新

    ビルド環境が最新であることを確認するために、以下の手順を実行します。

    1. ESP8266 core for Arduino repositoryをダウンロードします。解凍したesp8266-2.3.0フォルダを~/espディレクトリにコピーします。

    2. クローンした ESP8266 SDK based on FreeRTOS のコピーを更新し、release/v3.2ブランチを選択します:

      cd ~/esp/ESP8266_RTOS_SDK
      git fetch
      git checkout release/v3.2
      git pull
      
    3. 既存のESP8266ビルド出力が $MODDABLE/build/bin/esp または $MODDABLE/build/tmp/esp にある場合は、それらのディレクトリを削除します:

      cd $MODDABLE/build
      rm -rf bin/esp
      rm -rf tmp/esp
      
    4. Moddable SDKを最初にインストールしてからUbuntu 20.04以降(またはPython 3をデフォルトとする任意のLinuxディストリビューション)に更新した場合は、追加のPython 3コンポーネントをインストールします:

      sudo apt-get install python-is-python3 python3-pip python3-serial
      
    5. デバイスターゲット用に 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つの問題を解決するには、以下のようにしてボーレートを遅くすることができます:

    1. $MODDABLE/tools/mcconfig/make.esp.mkを開きます。

    2. アップロード速度を921600に設定するこの行を見つけます:

      UPLOAD_SPEED ?= 921600
      
    3. 速度を小さい数値に設定します。例えば:

      UPLOAD_SPEED ?= 115200
      

    ESP8266 Arduino バージョン 2.4

    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/の内容を削除し、上記のようにビルドして、ツールのクリーンビルドを行います。