LoginSignup
7
3

VS Code で ESP-WROOM-32

Last updated at Posted at 2019-08-12

目標

VSCode を使って ESP32 で LED Blink = Lチカ をします。
なんと、せっかくWi-Fi と BLE が使えるボードなのに全く使用しておりません。

前提条件

ハード

ソフト

OS

Windows10 Homeで行いましたが、以下でも可能なようです。

アプリケーション

入力補完や自動フォーマット機能などが使いたい方は以下構成にしましょう。
何でもいいという方は、Arduino IDE だけでいいと思います。

Windowsの場合の設定

arduino.jsonはスケッチのアップロード設定です。GUIで設定すれば自動生成されます。

.vscode/arduino.json
{
    "board": "esp32:esp32:esp32",
    "configuration": "PSRAM=disabled,PartitionScheme=default,CPUFreq=240,FlashMode=qio,FlashFreq=80,FlashSize=4M,UploadSpeed=115200,DebugLevel=none",
    "port": "*** your board port ***",
    "sketch": "Blink.ino"
}

c_cpp_properties.jsonはコンパイラやリンカの設定です。このファイルも自動生成されます。Cコンパイラがインストールされていると自動で認識するようです。その辺りの挙動はわからないので割愛します。includePathintelliSenseModebrowseは書き換えました。

.vscode/c_cpp_properties.json
{
  "configurations": [
    {
      "name": "Win32",
      "includePath": [
        "C:/Program Files (x86)/Arduino/hardware/arduino/avr/cores/arduino",
        "C:/Program Files (x86)/Arduino/hardware/arduino/avr/variants/standard",
        "C:/Program Files (x86)/Arduino/hardware/tools/avr/avr/include",
        "C:/Program Files (x86)/Arduino/hardware/tools/avr/lib/gcc/avr",
        "${workspaceRoot}",
        "C:/Users/${env:USERNAME}/AppData/Local/Arduino15/packages"
      ],
      "forcedInclude": [],
      "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe",
      "cStandard": "c11",
      "cppStandard": "c++17",
      "intelliSenseMode": "msvc-x64",
      "browse": {
        "path": [
          "C:/Program Files (x86)/Arduino/hardware/arduino/avr/cores/arduino",
          "C:/Program Files (x86)/Arduino/hardware/arduino/avr/variants/standard",
          "C:/Program Files (x86)/Arduino/hardware/tools/avr/avr/include",
          "C:/Program Files (x86)/Arduino/hardware/tools/avr/lib/gcc/avr",
          "${workspaceRoot}",
          "C:/Users/${env:USERNAME}/AppData/Local/Arduino15/packages",
          "C:/Users/${env:USERNAME}/Documents/Arduino"
        ],
        "limitSymbolsToIncludedHeaders": false,
        "databaseFilename": ""
      }
    }
  ],
  "version": 4
}

Arduino IDE を立ち上げてもできますが、VSCode上からesp32のライブラリをインストールするには.vscode/settings.jsonで下記のように拡張機能設定を変更します。

.vscode/settings.json
{
    "arduino.additionalUrls": [
        "https://dl.espressif.com/dl/package_esp32_index.json",
        "http://arduino.esp8266.com/stable/package_esp8266com_index.json"
    ],
}

つまづきやすいところ

  • USBケーブルに給電専用のものを使っていてPCに認識されない。
  • c_cpp_properties.jsonの設定をしていないためコンパイルできない。
  • c_cpp_properties.jsonの設定をしていないためLinterがエラーメッセージを出す。
  • このボードはLEDのIOポートが13ではなく2だということに気が付くのが遅れる。

結果

無事アップロードが完了しました。
image.png

参考

Excelsior!

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3