ESP-WROOM-02をArduinoとして動かす
ESP-WROOM-02いじりの話の続きです。前回の記事でATコマンドでの使い方は体験出来たので、今回からはいよいよArduninoとして使ってみます。
ESP-WROOM-02をArduinoとして使うための方法はあちこちのWebに書かれているので詳細の説明は省略しますが、やるべきことは、
1. Arduino IDEのインストール (私はこれは使い倒しているのでもちろん最初から入っています)
2. 環境設定の Additional Boards Maneger URLs で esp8266 のCPUを追加
3. CPUを追加するとespのCPUが選べるようになるので、ボードにGeneric esp8266 Moduleを指定(下図)

4. ボードの動作条件を指定 (Flash Mode "QI0"など、、、)
ここまでやると、「ファイル」 「スケッチの例」にESP関係のサンプルスケッチが出るようになるので、適当に選んでコンパイル、書き込みめば実行されます。
リセットのボタンを押しならが、IO0のボタンを押し、そのままリセットボタンを放し、最後にIO0ボタンを放すことで、モジュールが書き込み可能な状態になります。あらかじめその状態にしておいて、コンパイル/書き込みを開始すればOKです。なお回路図は前の記事に記載したものがそのまま使えます。なお、小さなプログラムでも200kバイト以上のデータ量になるようで、Arduino UNOなどよりデーターの書き込みには時間がかかります。
定番のLチカとかを真っ先にやってみて正常に動作することが確認出来た(LEDを準備し、ピン番号の設定が必要)ので、もっと複雑なプログラムとしてインターネットへアクセスする機能を試してみます。
試したのはNTPクライアント機能で、これなら別のスマホなどを準備しなくても単独で動作確認が出来ます。Arduino IDE からは、「ファイル」 「スケッチの例」 「ESP8266WiFi」 「NTPclient」のスケッチです。
▼SSIDとパスワードを指定

24,25行にWiFiアクセスポイントの接続情報を書き込むだけで動きました。
▼シリアルモニタへの出力結果

10秒間隔でWiFi経由でNTPサーバーへ問い合わせを行い、結果がシリアルモニタに表示されました。赤枠内が取得された時刻です。これが出来ると、時刻合わせ不要の時計が簡単に作れそうです。もちろん頻繁にNTPサーバーにアクセスするのは良くないので、ローカルの時計を動かしておいて、時々ずれを補正するような仕組みにしないといけません。
こんなことを僅か600円くらいのモジュールで出来るというのは画期的です。ということで、ESP-WROOM-02 の機能をもっと試してみることにします。次回はI2Cインターフェイス機能を試してみたいと思います。
ESP-WROOM-02をArduinoとして使うための方法はあちこちのWebに書かれているので詳細の説明は省略しますが、やるべきことは、
1. Arduino IDEのインストール (私はこれは使い倒しているのでもちろん最初から入っています)
2. 環境設定の Additional Boards Maneger URLs で esp8266 のCPUを追加
3. CPUを追加するとespのCPUが選べるようになるので、ボードにGeneric esp8266 Moduleを指定(下図)

4. ボードの動作条件を指定 (Flash Mode "QI0"など、、、)
ここまでやると、「ファイル」 「スケッチの例」にESP関係のサンプルスケッチが出るようになるので、適当に選んでコンパイル、書き込みめば実行されます。
リセットのボタンを押しならが、IO0のボタンを押し、そのままリセットボタンを放し、最後にIO0ボタンを放すことで、モジュールが書き込み可能な状態になります。あらかじめその状態にしておいて、コンパイル/書き込みを開始すればOKです。なお回路図は前の記事に記載したものがそのまま使えます。なお、小さなプログラムでも200kバイト以上のデータ量になるようで、Arduino UNOなどよりデーターの書き込みには時間がかかります。
定番のLチカとかを真っ先にやってみて正常に動作することが確認出来た(LEDを準備し、ピン番号の設定が必要)ので、もっと複雑なプログラムとしてインターネットへアクセスする機能を試してみます。
試したのはNTPクライアント機能で、これなら別のスマホなどを準備しなくても単独で動作確認が出来ます。Arduino IDE からは、「ファイル」 「スケッチの例」 「ESP8266WiFi」 「NTPclient」のスケッチです。
▼SSIDとパスワードを指定

24,25行にWiFiアクセスポイントの接続情報を書き込むだけで動きました。
▼シリアルモニタへの出力結果

10秒間隔でWiFi経由でNTPサーバーへ問い合わせを行い、結果がシリアルモニタに表示されました。赤枠内が取得された時刻です。これが出来ると、時刻合わせ不要の時計が簡単に作れそうです。もちろん頻繁にNTPサーバーにアクセスするのは良くないので、ローカルの時計を動かしておいて、時々ずれを補正するような仕組みにしないといけません。
こんなことを僅か600円くらいのモジュールで出来るというのは画期的です。ということで、ESP-WROOM-02 の機能をもっと試してみることにします。次回はI2Cインターフェイス機能を試してみたいと思います。