ESP8266はArduinoIDEを使ってプログラム開発ができ,かつWiFi通信ができる。
このテのデバイスとしては本当に珍しく、「技適」を取っている。
これがないと電波を飛ばして使えないのだ。
さらにESP8266は単体でプログラムを実行できる。
もうね、IOTの申し子のようなモジュールだよ。これ。
ESP8266用の開発モジュール情報が以下にある。
https://github.com/esp8266/Arduino
ソフトウェア編
Arduino IDEは以下のものであること。1.7系だと機能が違うようです。
おかしいな。Arduinoの団体は仲直りしたらしいのに。
https://www.arduino.cc/en/Main/Software
ESP8266対応をさせるため、
http://arduino.esp8266.com/stable/package_esp8266com_index.json
というURL(中身じゃないよ、URL)をArduino IDEの
「ファイル」→「環境設定」→ (MacはArduinoのPreference)
「(下の方にある)追加のボードマネージャのURL:」にコピペ
次に「ツール」メニューから「ボード」を選び、「ボードマネージャ」を選びます。
いろいろなボードがあります。ArduinoのIDEで開発できるボードっていっぱいあるんですね。
先ほど登録した「ESP8266」がありますから、「インストール」ボタンを押してインストールします。
よくわかりませんが、ボードの選択にいっぱいESP8266のボードが並びます。
Generic ESP8266 Moduleを選びます。
ハードウェア編
私は秋月電子ファンなので、ESP-WROOM-02 DIP化キット(600円)を選びました。
ピンははんだ付けいります。
とはいえですね、秋月電子にどうしてもなくて、スイッチサイエンスで買ったUSB-FTDIアダプターを使っています。5V/3.3Vの切り替えはあまりに便利。
これらを次のように繋ぐということは、あっちこっちに書かれてます。
ESP : Serial 3.3V - VCC 3.3V GND - GND EN - Pull Up IO15 - 10K- Pull Down IO2 - 10K- Pull Up IO0 - 10K- Pull Up (プログラム書き込み時はPull Down) TXD - RX RXD - TX
テスト
恒例のLED点滅(Lチカ)
Arduino IDEで、ファイル->スケッチの例->ESP8266->Blinkもあるけど、役にたたんな。
プログラムはArduinoとかわらない。LED_BUILTINというのは調べるとIO1を指しているらしい。
そんなものは秋月ボードにはないので、IO16を使う。
#define LED_PIN 16 void setup() { pinMode(LED_PIN, OUTPUT); } void loop() { digitalWrite(LED_PIN, HIGH); delay(1000); digitalWrite(LED_PIN, LOW); delay(1000); }
コンパイルする前に、PCと接続しているUSBポートが正しいか確認しようね。
書き込み終わったらLEDが点滅しはじめた。
次に電源切って(USB引っこ抜いて)IO0をプルアップしたら、やはりLEDが点滅した。
今日はここまで、お疲れ様。