About D1 Mini
WeMos D1 Mini はESP8266モジュールを利用した、Arduino IDE利用可能な開発ボード。
WeMosには「D1 Mini」と「D1 R2」の2種類がある。使い方が同じ。
このシリーズは、コマンドラインで開発するPlatformIO環境を利用する。(GUIの開発環境Arduino IDEで開発する場合、WeMos (1) Blink を参照する。)
Macbook Air で実験する。
PlatformIOのインストール
組み込み系のクロスコンパイル環境です。Arduino(Atmel AVR)や、mbed(ST STM32)など、350種類以上のマイコンに対応しています。デバッガも100種類以上のマイコンに対応しています(デバッグ機能は有料っぽい)。
Python2で動いているので、Mac、Linuxからでも動かせます。
詳しくはPlatformIOの公式サイトを見てください。
Macbook Air で実験するので、Homebrew でインストール。
$ brew install platformio
Homebrew を使わないばあいは pip を使ってインストールできるようです。
boards
コマンドで利用できるボードを確認できます。
$ platform boards
沢山表示されるので、コマンドのうしろにフィルタをつけて内容を絞るる。
$ platformio boards esp8266 Platform: espressif8266 ---------------------------------------------------------------------------------------------------------------------------- ID MCU Frequency Flash RAM Name ---------------------------------------------------------------------------------------------------------------------------- gen4iod ESP8266 80MHz 512KB 80KB 4D Systems gen4 IoD Range huzzah ESP8266 80MHz 4MB 80KB Adafruit HUZZAH ESP8266 oak ESP8266 80MHz 4MB 80KB DigiStump Oak esp_wroom_02 ESP8266 80MHz 2MB 80KB ESP-WROOM-02 espduino ESP8266 80MHz 4MB 80KB ESPDuino (ESP-13 Module) espectro ESP8266 80MHz 4MB 80KB ESPectro Core espino ESP8266 80MHz 4MB 80KB ESPino espresso_lite_v1 ESP8266 80MHz 4MB 80KB ESPresso Lite 1.0 espresso_lite_v2 ESP8266 80MHz 4MB 80KB ESPresso Lite 2.0 esp12e ESP8266 80MHz 4MB 80KB Espressif ESP8266 ESP-12E esp01_1m ESP8266 80MHz 1MB 80KB Espressif Generic ESP8266 ESP-01 1M esp01 ESP8266 80MHz 512KB 80KB Espressif Generic ESP8266 ESP-01 512k esp07 ESP8266 80MHz 4MB 80KB Espressif Generic ESP8266 ESP-07 esp8285 ESP8266 80MHz 423.98KB 80KB Generic ESP8285 Module heltec_wifi_kit_8 ESP8266 80MHz 4MB 80KB Heltec Wifi kit 8 nodemcu ESP8266 80MHz 4MB 80KB NodeMCU 0.9 (ESP-12 Module) nodemcuv2 ESP8266 80MHz 4MB 80KB NodeMCU 1.0 (ESP-12E Module) modwifi ESP8266 80MHz 2MB 80KB Olimex MOD-WIFI-ESP8266(-DEV) phoenix_v1 ESP8266 80MHz 4MB 80KB Phoenix 1.0 phoenix_v2 ESP8266 80MHz 4MB 80KB Phoenix 2.0 sparkfunBlynk ESP8266 80MHz 4MB 80KB SparkFun Blynk Board thing ESP8266 80MHz 512KB 80KB SparkFun ESP8266 Thing thingdev ESP8266 80MHz 512KB 80KB SparkFun ESP8266 Thing Dev esp210 ESP8266 80MHz 4MB 80KB SweetPea ESP-210 espinotee ESP8266 80MHz 4MB 80KB ThaiEasyElec ESPino d1 ESP8266 80MHz 4MB 80KB WEMOS D1 R1 (Retired) d1_mini ESP8266 80MHz 4MB 80KB WeMos D1 R2 & mini d1_mini_lite ESP8266 80MHz 1MB 80KB WeMos D1 mini Lite d1_mini_pro ESP8266 80MHz 16MB 80KB WeMos D1 mini Pro wifinfo ESP8266 80MHz 1MB 80KB WifInfo wio_node ESP8266 80MHz 4MB 80KB Wio Node
作業フォルダを作成
ChenLab-Mac-Urania:~ chen$ mkdir PlatfomIO
ChenLab-Mac-Urania:~ chen$ cd PlatfomIO/
Blink
動作確認のため、まずLちか(Blink)をする。
ボード内蔵のLEDを点滅させる。
プロジェクトを準備する
ChenLab-Mac-Urania:PlatfomIO chen$ mkdir wemos-blink
ChenLab-Mac-Urania:PlatfomIO chen$ cd wemos-blink/
ChenLab-Mac-Urania:wemos-blink chen$ platformio init –board d1_mini
ChenLab-Mac-Urania:wemos-blink chen$ ll
total 8
drwxr-xr-x 3 chen staff 96 7 21 20:18 lib
-rw-r–r– 1 chen staff 439 7 21 20:19 platformio.ini
drwxr-xr-x 2 chen staff 64 7 21 20:18 src
ChenLab-Mac-Urania:wemos-blink chen$ ll src/
ChenLab-Mac-Urania:wemos-blink chen$ ll
total 8
drwxr-xr-x 3 chen staff 96 7 21 20:18 lib
-rw-r–r– 1 chen staff 439 7 21 20:19 platformio.ini
drwxr-xr-x 2 chen staff 64 7 21 20:18 src
スケッチのファイルを作成
$ vi src/main.ino $ cat src/main.ino #define ESP8266_LED BUILTIN_LED void setup() { pinMode(ESP8266_LED, OUTPUT); } void loop() { digitalWrite(ESP8266_LED, HIGH); delay(500); digitalWrite(ESP8266_LED, LOW); delay(500); }
ビルドする/アップロードする
ビルドする。
$ platformio run
インストールは、結構大量のファイルをダウンロードするので、ココは時間が掛かる。
$ platformio run -t upload
シリアルドライバーのインストール手間がなく、うまく動作した。いい感じ。
参考
- PlatformIO で Arduino のプロジェクトを管理する (Homebrew でインストール)
- Arduino を CLI で開発する #PlatformIOが素晴らしい (pip でインストール)