てきとうなさいと べぇたばん

ESP8266をArduino IDEでコンパイルできるようにしました

ESP8266を使えるようにしました。

ESP8266を使う

さて、ESP8266をつかいましょうか。650円で入手できるくせに、Wi-Fiも使えるというなんというか贅沢なマイクロコントローラー。

http://akizukidenshi.com/catalog/g/gK-09758/

Arduinoと何が違う

  • シリアル通信用に変換モジュールが必要
  • ピン数すくない
    • アナログ入力がないので何とかする
    • I2CやSPIが重要になってくるのかなと
  • 電圧
    • 3.3Vでうごく

Arduinoがプロトタイピングボードとしての地位を築いた理由がわかってきたよ。

使えるようにする

ESP8266は、電源として3.3Vが必要ですが、電波を発する上にマイクロコントローラーとしての性能もよいのでかなり性能のいい3端子レギュレーターを選ばないと厳しかったりします。今回は3.3V 1AのTA48033Sを選択。

そのため、電源も5Vから取得できるように、スマートフォンなどのアダプターから取得するための端子台も作成。

ピン配置

シリアル変換モジュール

  • シリアル変換モジュールのTXDをESP8266のRXDに
  • シリアル変換モジュールのRXDをESP8266のTXDに
  • シリアル変換モジュールのGNDをGNDに

コンパイルできるようにする

さて。データシートを見ると、7ページ目 Table3にはUART Download Modeとあり、ここには以下のように書かれています。

  • GPIO15(IO15)をGNDに
  • GPIO0(IO0)をGNDに
  • GPIO2(IO2)を3.3Vに

そのほか

  • ENに10kΩの抵抗をさしてあげてプルアップ。
  • 3.3Vにレギュレーターからの電源を
  • GNDをGNDに
  • RSTにタクトスイッチ載せとこうか

コンパイル

Arduino IDEからESP8266でコンパイルできるようにする。そこら辺はググッてちょ。とりあえずコンパイルできるようになる。

ボードマネージャの追加

Arduinoの環境設定から、「追加のボードマネージャのURL」に以下を入力。

http://arduino.esp8266.com/stable/package_esp8266com_index.json

コンパイルするための設定

  • マイコンボードは「Generic ESP8266 Module」
  • Flash Modeは「DIO」
  • Flash Frequencyは「40MHz」
  • Upload Usingは「Serial」
  • CPU Frequencyは「80MHz」
  • Flash Sizeは「512k (64kSPIFFS)」
  • Debug Portは「Disabled」
  • Debug Levelは「なし」
  • Reset Methodは「ck」だと書き込み時にリセットかけないといけないが、「nodemcu」にしておくとリセットは必要なし
  • Upload Speedは「115200」
  • シリアルポートはシリアル変換モジュールの場所

課題

  • I2Cを使って複数デバイス使えるように仕様
  • MQTTを使って通信する