2015年08月30日

ESP8266版Arduinoでネットから情報を取ってきてLCDに表示する

esp826606-01.jpg


前回、ESP8266でキャラクタ液晶を制御できましたので、ESP8266ならではのWiFi機能を使い、インターネットから情報を取得して表示させてみます。

何か動的な情報で、16字×2行のアルファベットで表示できるもの、ということで、最近動きの慌しい為替レートを表示させてみることにしました。

今回は、回路は前回と全く同じです。

為替レートの情報は、

Foreign exchange rates and currency conversion JSON API

から取得することにしました。

このサイトでは、各種通貨の為替レートをJSON形式で取得できます。
他にも同様のサイトはあるのですが、最近のWebサービスではユーザー登録してAPI Keyを発行してもらう必要があるものがほとんどで、ちょっと実験的に試すために使うにはやや面倒です。
上記のサイトは、一切事前の準備なしに、URLを叩くだけでデータをもらえます。
(その代わり、データの更新頻度はあまり高くないようです。)

ドル円レートの情報を取得する場合、URLは以下のようになります。
(リンクを直接クリックするとエラーになりますので、ブラウザのURL欄へコピー&ペーストしてください。)
http://api.fixer.io/latest?base=USD&symbols=JPY

これに対する応答は以下のような形式になります。
{"base":"USD","date":"2015-08-28","rates":{"JPY":120.84}}

非常にシンプルですね。
なおJSON形式については以下を参照してください。

JSON


今回は、ESP8266から上記のURLにアクセスして、取得したJSONデータを解析(パース)してキャラクタ液晶に表示します。

JSON形式の文字列のパーサは、ArduinoJsonというライブラリを使用しました。

bblanchon/ArduinoJson

ライブラリの追加の仕方は以前紹介した通りです。
ちなみに、このライブラリの作者の方のブログが以下にあります。

[Arduino] JSON library 4.0

なお、私は試していませんが、これ以外にArduinoで使えるJSONパーサのライブラリとしては、aJsonというものもあるようです(以下のリンク)。

interactive-matter/aJson


WiFi関連の処理は、もともとESP8266のArduino対応ライブラリに含まれています。
TCP/IPやDNSもサポートされています。
TCP/IP、特にTCPの実装は大変ですので、すべて実装済みというのは大変ありがたいことです。

HTTPプロトコルは、今回は最低限の実装だけを行います。
HTTPは状態遷移がないので、エラー処理等を行わないのであればプロトコル自体は簡単です。

例えば
http://host.domain/dir/file

というURLにアクセスする際のサーバとクライアントのやり取りは、

(1)クライアントからhost.domainの80番ポートにTCPで接続
(2)以下をサーバへ送信
GET /dir/file HTTP/1.1
Host: host.domain
Connection: close
(空の行)

(3)サーバから以下の形式で応答が返ってくる(正常処理の場合)
HTTP/1.1 200 OK
(いろいろなHTTPヘッダ)
(空の行)
要求されたデータ

(4)サーバから通信が切断される

という流れになります。


スケッチファイルは以下の通りです。
ST7032ライブラリは、前回説明したように修正が必要です。
また、WIFI_SSIDとWIFI_PSKは、ご自身のWIFIのSSIDとパスワードに変更してください。

#include <ESP8266WiFi.h>
#include <Wire.h>
#include <ST7032.h>
#include <ArduinoJson.h>

#define WIFI_SSID "*************"
#define WIFI_PSK "*************"
#define DEST_HOST "api.fixer.io"
#define DEST_PORT 80
#define DEST_URL "/latest?base=USD&symbols=JPY"

//sample json data used in this sketch
// {"base":"USD","date":"2015-08-28","rates":{"JPY":120.84}}

ST7032 lcd;

void setup() {
 const int BUFFER_SIZE = JSON_OBJECT_SIZE(4) + JSON_ARRAY_SIZE(1);
 StaticJsonBuffer<BUFFER_SIZE> jsonBuffer;
 
 lcd.begin(16, 2);
 lcd.setContrast(40);
 Serial.begin(115200);
 Serial.println("");
 delay(10);

 WiFi.begin(WIFI_SSID, WIFI_PSK);
 
 while (WiFi.status() != WL_CONNECTED) {
   delay(500);
   Serial.print(".");
 }
 Serial.println("");
 Serial.println("WiFi connected");  
 Serial.println("IP address: ");
 Serial.println(WiFi.localIP());
 Serial.println("");

 WiFiClient client;
 String line;

 if (!client.connect(DEST_HOST, DEST_PORT)) {
   Serial.println("connection failed");
   return;
 }
 
 client.print(String("GET ") + DEST_URL + " HTTP/1.1\r\n" +
              "Host: " + DEST_HOST + "\r\n" +
              "Connection: close\r\n\r\n");
 delay(10);

 //get rid of the HTTP headers
 while(client.available()){
   line = client.readStringUntil('\r');
   Serial.print(line);
   line.trim();
   if (line.length() == 0) {
     break;
   }
 }

 //get http content
 String buffer="";
 while(client.available()){
   line = client.readStringUntil('\r');
   line.trim();
   buffer.concat(line);
 }

 //parse json data
 char json[buffer.length() + 1];
 buffer.toCharArray(json, sizeof(json));
 Serial.println(json);
 JsonObject& root = jsonBuffer.parseObject(json);
 if (!root.success()) {
   Serial.println("parseObject() failed");
   return;
 }
 const char* date = root["date"];
 Serial.println(date);
 const char* base = root["base"];
 Serial.println(base);
 JsonObject& rates = root["rates"];
 rates.printTo(Serial);
 Serial.println();
 const char* rate = rates["JPY"];
 Serial.println(rate);
 Serial.println();
 
 Serial.println("closing connection");

 lcd.setCursor(0, 0);
 lcd.print(date);
 lcd.setCursor(0, 1);
 lcd.print("JPY/");
 lcd.print(base);
 lcd.print(": ");
 lcd.print(rate);
}

void loop() {
}


データを一度取得してLCDに表示するだけですので、すべての処理はsetup()の中で行っています。
HTTPヘッダは、内容を確認せずに読み飛ばすだけで、サーバからエラーが返ってきても対応はしません。

デバッグ用に、シリアルポートにいろいろ出力していますが、参考までにその出力例を以下に示します。
....
WiFi connected
IP address:
192.168.0.106

HTTP/1.1 200 OK
Server: nginx/1.4.6 (Ubuntu)
Date: Sat, 29 Aug 2015 15:44:10 GMT
Content-Type: application/json
Content-Length: 57
Connection: close
Status: 200 OK
X-Content-Type-Options: nosniff
{"base":"USD","date":"2015-08-28","rates":{"JPY":120.84}}
2015-08-28
USD
{"JPY":120.84}
120.84

closing connection
posted by boochow at 01:45| Comment(0) | ESP8266 | このブログの読者になる | 更新情報をチェックする

2015年08月24日

ESP8266+Arduino IDE+I2C+ST7032液晶ディスプレイを使う

esp826605-01.jpg

ESP8266(WROOM-02)がArduino IDEで動くようになりましたので、手始めにキャラクタ液晶をつないでみました。

使ったのは、以前Arduino Pro Miniで使用した、aitendoの激安液晶です。
ソフトウェアも、同じく

I2C液晶のArduinoライブラリ – ST7032 | オレ工房

を使わせていただきました。

ライブラリ(ST7032.cpp)は微小な修正が必要でした。
このファイルは、ドキュメントフォルダの中の

 Arduino\libraries\arduino_ST7032-master\ST7032.cpp

に格納されています。

修正は、ST7032.cppの30行過ぎのあたり、以下の赤い部分を追加しました。
#include "ST7032.h"
#include "Arduino.h"
#include <Wire.h>
#if defined(__AVR__)
#include <avr/pgmspace.h>
#endif


配線は、下図のようになります。
これはこちらの回路からの差分です。
Arduinoのスケッチ書き込みに必要な回路は省略しています。
esp826605-02.png


以上で、上記のST7032ライブラリに付属しているサンプルスケッチが動作しました。

なお、上の配線はI2CのSDA・SCLがそれぞれIO4・IO5になっていますが、このマッピングはESP8266のボードによって異なります。
今回は、Arduinoe IDEのボードメニューから"Generic ESP8266 Module"を選択しており、このボードでのピン配置に従います。

このピン配置の情報は、先日Arduino IDEに追加したボード情報の中で記述されています。
ファイルは、
 %USERPROFILE%\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\variants\generic

というフォルダの中の"pins_arduino.h"です。
(%USERPROFILE%には、"C:\Users\ユーザ名"が入ります。
また、"1.6.5-947-g39819f0"の部分はIDEのバージョンによって変わってきそうです。)

このファイルでは、I2CおよびSPIのピン配置が以下のように定義されています。

static const uint8_t SDA = 4;
static const uint8_t SCL = 5;

static const uint8_t SS = 15;
static const uint8_t MOSI = 13;
static const uint8_t MISO = 12;
static const uint8_t SCK = 14;

static const uint8_t BUILTIN_LED = 1;

static const uint8_t A0 = 17;


ちなみに、Generic以外に定義されているボードは、現時点では

adafruit
nodemcu
thing
wifio

の4つでした。


なお「thing」はSparkfunの出しているESP8266ボードですが、このボードの解説ページ(以下のリンク)は分かりやすくて良いと思います。

ESP8266 Thing Hookup Guide - learn.sparkfun.com

ESP8266でArduinoを動かす場合、簡単なスケッチでもファイルサイズは200KB超と結構大きなものができてきますが、上の解説によると、WiFiや通信機能を動作させるために、裏で行う様々な処理のためのコードが含まれているそうです。
posted by boochow at 01:36| Comment(0) | ESP8266 | このブログの読者になる | 更新情報をチェックする

2015年08月23日

スイッチサイエンス版ESP8266ブレークアウト基板の活用

esp826604-01.jpg

前回まではマイクロテクニカのブレークアウト基板を使ってきましたが、この基板でESP8266をArduinoとして使おうとすると、以下のような不満が出てきました。

(1) スケッチを書き込むたびにジャンパビンを抜き差しする手間がかかる。またジャンパビンの本来の用途と違うので、ピンが壊れることもある。

(2) ブレッドボードへジャンパーケーブルを真っ直ぐ挿すことができない。また、斜めの抜き差しの繰り返しによりケーブルが傷み易くなる。

(3)IO0およびIO15を直接GNDに接続しているため、何らかのはずみでこれらのピンがH出力になるとESP8266が損傷する可能性がある。

そこで、実験環境は新たにブレッドボード上に作り直すことにしました。
前回紹介したように、スイッチサイエンス版の基板が手元に有りますので、これを使います。

先に完成写真です。
esp826604-02.jpg

スイッチサイエンスの基板はブレッドボードを幅一杯に使うので、Arduinoのように足長のピンソケットを使って、ブレークアウト基板上にジャンパーケーブルを挿せるようにしました。

書き込みモードにするには、画面左の黄色のタクトスイッチ(IO0をLowにするスイッチ)を押しながらリセット(黒いスイッチ)を押します。
リセットだけ押すとフラッシュ上のプログラムを実行するモードになります。
この方法はこちらの記事からアイデアを借用しました。

ESP8266 - ESP-WROOM-02 の Arduino 環境で I2C 制御 - Qiita

USBシリアル変換器への接続は、ジャンパーケーブル経由が基本ですが、スイッチサイエンスのFTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)
をボードに立てたピンヘッダで直接接続することも可能なレイアウトにしています。
WROOM-02へのVCC/GND供給はジャンパケーブル経由とする想定です。


ブレッドボード上の回路の回路図は以下の通りです。
IOピンのプルアップ/プルダウンは、10KΩの抵抗を介してVCC/GNDに接続しています。
IO0に接続するスイッチも、押すとGNDに直接接続するのではなく、途中に330Ωを挟んでいます。
IO2、IO15の設定を変更する頻度は非常に低そうなので、今回は固定としました。
esp826604-03.png

配線はブレークアウト基板の下にも通しています。
基板を外した状態が以下の写真です。(クリックで拡大)
esp826604-04.jpg

抵抗器は1/6Wのものを使っています。
あまり大きいワット数の抵抗器だと、基板の下を通せないかもしれません。

分かりやすくするためにVCC系、GND系、通信系(緑色)を色分けすると以下のようになります。
esp826604-05.jpg


とりあえず、この構成でシリアル通信、ファームウェア更新、Arduino IDEからのLチカまでを動作確認しました。
ブレッドボードの4割くらいのスペースは残せていますので、ちょっとした実験はこのボードでできそうです。
posted by boochow at 14:24| Comment(0) | ESP8266 | このブログの読者になる | 更新情報をチェックする

2015年08月20日

ESP8266ファームウェア更新とArduino IDEでのLチカ

前回ESP8266の動作確認ができましたので、今度はファームウェア更新のやり方を確認しておきます。
これも、先人が既に行われていますので、その作業をトレースするだけです。

ねむいさんのぶろぐ | ESP-WROOM-02を使ってみる2 -外付けSPIフラッシュの書き換え-

まずは、デフォルトのSSIDとMACアドレス(子機用とアクセスポイント用の2つ)を記録しておきます。
AT+CWSAP?

+CWSAP:"ESP_XXXXXX","",8,0

OK
AT+CWLIF


OK
AT+CIPSTAMAC?

+CIPSTAMAC:"18:fe:XX:XX:XX:XX"

OK
AT+CIPAPMAC?

+CIPAPMAC:"1a:fe:XX:XX:XX:XX"

OK


次に、ファームウェア更新に必要なファイルをダウンロードします。

ファームウェアは

SDKs - ESP8266 Developer Zone

から、ファームウェアの書き込みツールは

Tools - ESP8266 Developer Zone

や、マイクロテクニカの商品ページからダウンロードできます。


書き込みツールの設定は以下のようになります。
esp826603-01.png


ESP8266は、IO0のピンがLのとき、書き込みモードで起動します。
従って、IO0のピンをLにしてからESP8266の電源を入れます。(またはリセットボタンを押す。)
esp826603-05.jpg


ファームウェアはシリアル接続で転送しますので、USBシリアル変換モジュールのTX, RX, GNDはあらかじめ接続しておきます。

これで、書き込みツールのSTARTボタンを押せば書き込みが始まります。
この際、MACアドレスも表示されます。
esp826603-02b.png


書き込みが無事完了すれば、FINISHEDに表示が切り替わります。
esp826603-03b.png



正規のファームウェアがいつでも書き込めることが分かったので、Arduino IDEを使ってのESP8266のプログラミングも実験してみました。

これにはArduino IDEに追加のボード情報をダウンロードすることが必要です。
手順は以下が分かりやすいと思います。

技適済み格安高性能Wi-FiモジュールESP8266をArduinoIDEを使ってIoT開発する為の環境準備を10分でやる方法 - Qiita

ボードとして"Generic ESP8266 Module"を選択すると、さらにオプションでいろいろな指定ができます。
WROOM-02の場合には、下図のような指定になると思われます(実際これで問題ありませんでした)。

esp826603-04.png


これで、「スケッチの例」→「01.Basics」→「Blink」を選択し、書き込みボタンを押すと、ESP8266でArduinoのスケッチが問題なく動作しました。

esp826603-07.jpg


BlinkのスケッチはIOの13番ピンにLEDを接続する設定ですので、写真でもIO13にLEDを接続しています。
白いジャンパーケーブルがIO13とLEDを接続しています。

なお、このLEDは抵抗入りのLEDですので、写真では直結しているように見えますが、普通のLEDの場合は100Ω程度の抵抗を入れるほうが良いと思います。
posted by boochow at 00:13| Comment(0) | ESP8266 | このブログの読者になる | 更新情報をチェックする

2015年08月14日

ESP8266ブレークアウトボード比較

wroom-02.jpg

夏休みの間、Arduinoはいったん脇に置いて、流行のWiFiマイコン「ESP8266」を使ってみることにします。

ESP8266は、WiFiとCPUをワンチップに統合したもので、フラッシュメモリと組み合わせたシステムインパッケージの形で出回っています。
登場したのは昨年の秋ごろで、安価で柔軟性があることから一気に注目を集めました。

TCP/IPとWiFi機能をシリアルポートから利用できるモジュール(WiFiモデム)は以前からありましたが(たとえばWIZnetやLANTRONIXの製品)、ESP8266を使ったモジュールは5ドル程度と従来の数分の1の価格です。
しかもファームウェアを自作するためのSDKが公開されており、チップのI/Oから直接センサやデバイスを制御することも可能です。

つまり非常に安価な、WiFi機能つき高性能マイコンとして使えるわけで、ホビイストから見れば実に素敵なオモチャです。
海外のブログでは様々な試みが積極的に行われており、一種の熱気を感じます。
Googleトレンドを見るとこんな感じになっています。
esp826601-03.png

このチップの特徴については、以下のブリリアントサービスさんのページが非常によくまとまっていますので、ぜひご覧ください。

技適OKな中華IoTモジュールを使いこなす ~ BRILLIANTSERVICE TECHNICAL BLOG

このESP8266を使ったモジュールですが、国内では比較的早くからaitendoが扱っていましたが、使ってみる人はそれほど多くなかったようです。
総務省の技術適合基準(通称「技適」)をクリアしておらず、そのまま使うと電波法違反になってしまいますので、おおっぴらにできなかったのでしょう。
(実は私も購入だけして放置していました。)

それが、この春にESP8266を使ったモジュールの一つ、「ESP-WROOM-02」が技適を通過したことで、国内でも公式に販売可能になりました。



国内でいち早くこのモジュールを販売し始めたのはマイクロテクニカだったと思います。
その後、Cerevoを皮切りにスイッチサイエンス、aitendo、秋月電子、共立などマイコンを扱うパーツショップが軒並みESP-WROOM-02を扱うようになりました。

使う際のネックは、1.5mmピッチという変則的に狭いピン配列でしたが、これもCerevoがピッチ変換基板とのセット品の販売を始め、やや遅れてマイクロテクニカ、その後スイッチサイエンス、aitendo、デジット、とこれまた各社が変換基板を売り始めました。


実は私もWROOM-02はモジュールを入手したものの、ユニバーサル基板にUEWで配線するしか手がないと思われ、ちょっと面倒で手を付けていませんでした。
ところが急にいろいろな変換基板が登場してきたので、逆に目移りしてしまい、この1ヶ月の間にマイクロテクニカ製、スイッチサイエンス製、aitendo製と3種類もの変換基板を入手してしまいました。

まず、この3種の変換基板を紹介したいと思います。
(Cerevoだけ入手していないのは、あっという間に売り切れてしまったからで、他意はありません。)

下の写真は左から、以下の順に並べています。

ESP-WROOM-02ピッチ変換済みモジュール《フル版》 - スイッチサイエンス
WiFi-UARTモジュール ブレークアウトボード実装済み [BB-ESP-WROOM02] | 無線通信モジュール,Wi-Fi | マイクロテクニカ
WiFiモジュール変換基板(A) - aitendo
esp826601-04.jpg
これを見ると、aitendoは18ピンですが、スイッチサイエンスとマイクロテクニカは16ピンとなっていることが分かります。
元のESP-WROOM-02は18ピンですが、変換基板での配置はそれとは異なっています。

以下が、Cerevoを含めた4種の変換基板のピン配置です。
Cerevoは以下の記事を参考にしました。

技適済みWi-Fiモジュール「ESP8266」で始めるIoT入門(ブレイクアウトボード実装編) | Cerevo TechBlog
 ESP8266aitendocerevoSwitchScienceマイクロテクニカ
3V317
EN2J4
IO1434
IO1245
IO1356
IO156←, JP33, J1
IO27←, JP21, J2
IO08←, JP116, J3
GND9-8 9
IO410912
RXD111013
TXD121114
GND13--
IO5141215
RST1513J5
TOUT1614-
IO16171511
GND1816-


aitendoの基板は単純にピン間隔を広げるだけです。

Cerevoも同様ですが、WROOM-02のモードを切り替えるためのIO15,2,0をジャンパできるように引き出しています。

スイッチサイエンスは3本あるGNDを1本にまとめています。

マイクロテクニカは凝っていて、モード切り替えの3本のI/Oピンをすべて、LまたはHにジャンパピンで設定できるようにピンヘッダ用のパターンを設けています。
さらに、イネーブルピンもジャンパピンで設定でき、リセットスイッチも実装できるようになっています。

その代わり、ピン配置はWROOM-02とはだいぶ違っています。
また、TOUTが引き出されていません。マイクロテクニカのマニュアル(要パスワード)を見るとTOUTの機能はNCという扱いになっていますが、本家のマニュアルを見るとTOUTはADCの入力ピンのはずなので、なぜ食い違っているのかよく分かりません。

このピン配置はマイクロテクニカの自社製品に合わせた仕様になっており、その仕様では、使われていない10番ピンは+5V供給用となっています。
しかしできればこのピンをTOUT用にしてあればと思います。
(UEW等で手配線でつなぐことは可能かもしれませんが。)

次に、ボードを90度回転して並べた画像です。
今度は左から、スイッチサイエンス・aitendo・マイクロテクニカの順です。
esp826601-05.jpg
見て分かるように、ボードの幅がピン幅1本分ずつ違います。

スイッチサイエンスが一番幅が広く、普通のブレッドボードだと追加のピンを挿す場所がありません。
そのため、基板の下に配線するか、より幅広のブレッドボードを使う必要があります。
このことは商品ページにも書かれています。

ESP-WROOM-02ピッチ変換済みモジュール《フル版》 - スイッチサイエンス

ブレッドボード2枚を用意し、このモジュールを2枚のブレッドボードにまたがるように配置して使っている人もいます。

ESP-WROOM-02使ってみる | Natural Days

工作と小物のがらくた部屋: 格安無線LANモジュール ESP8266 (ESP-WROOM-02) お試し。

ただ、ちょっと持ち上げたりするときに気をつける必要がありそうです。

(追記:足の長いピンソケットを使う方法を別記事で書きました。

aitendoの変換基板はスイッチサイエンスよりも1列分狭くなっています。
ですので基板の片側だけはジャンパケーブル等を挿すことができますが、反対側は基板の下に配線するしかないようです。


マイクロテクニカは、それよりさらに1列狭いので、普通のブレッドボードでも両側に1本だけは配線することができます。
ただし、基板がせりだしていますので、実際には下の写真のように、少し斜めに挿す感じになります。
esp826601-07.jpg



なお、cerevoの基板も、ブログの写真を見る限りではマイクロテクニカと同じ幅のように見えます。


というわけで、ブレークアウト基板といっても、意外と細かい違いがあります。
現時点の状況を表にすると下のような感じです。
 モジュール
実装
基板幅ジャンパ設定ピン配列
aitendoモジュール準拠
cerevo一部有モジュール準拠
マイクロテクニカ独自
SwitchScienceほぼモジュール準拠


どれが良いかというと難しいのですが、あえて選ぶと、あまり電子工作に慣れていないならマイクロテクニカ、1.5mmピッチのハンダ付けなど何でもないというならcerevoかと思います。
マイクロテクニカは内側のジャンパ設定用のピンヘッダは2mmピッチですが、接続しなくても外側の2.54mmピッチのピンヘッダだけハンダ付けすれば使うことは可能です。
ただし、ESP8266のADCを使用したければTOUTを引き出している他の基板のほうが良いでしょう。
スイッチサイエンスの実装済み基板を使う場合は、足の長いピンソケットを使用することをお勧めします。

今回は、マイクロテクニカの基板にピンヘッダとリセットスイッチを実装し、動作確認を行いました。
注意すべき点は、ESP8266は3.3V動作で、しかも結構電力食いであることです。

PCとの通信用に、これまでArduino Pro Mini(3.3V)で使ってきたUSBシリアル変換モジュールのTX, RX, GNDを基板側のRX, TX, GNDに接続します。
マイクロテクニカが提供しているマニュアルの接続例ではUSBシリアルのGNDを接続していませんが、ノイズが乗る場合があるので接続したほうが良いです。
esp826601-06.jpg
電源ですが、動作時の消費電流が200mA以上あるそうなので、USBシリアル変換モジュールやArduino UNOの3.3Vの出力ではまかなえません。
私は手元に3.3VのACアダプタ(バッファローのスイッチングハブの付属品)があったので、DCジャックをブレッドボード用に変換する基板(秋月電子)を使って接続しました。

通信ソフトは、Arduino IDEのシリアルモニタを使います。(115.2Kbps, 改行はCR+LFに設定します。)
電源を投入すると、ESP8266側からまずメッセージが流れますが、このときのビットレートは76.8Kbpsですので文字化けします。

そのあと、以下のようにWiFiルータへ接続し、取得したIPアドレスを表示させ、ついでにファームウェアのバージョンも表示させています。(青字部分が入力するコマンド)
AT


OK
AT+CWMODE=1


OK
AT+CWJAP="SSID","PASSWORD"

WIFI CONNECTED
WIFI GOT IP

OK
AT+CIFSR

+CIFSR:STAIP,"192.168.0.106"
+CIFSR:STAMAC,"18:fe:XX:XX:XX:XX"

OK
AT+GMR

AT version:0.23.0.0(Apr 24 2015 21:11:01)
SDK version:1.0.1
compile time:May 5 2015 14:03:58

OK

esp826601-01.png

また、以下の記事を真似てGoogleのサイトにHTTPコマンドを送り、返事が返ってくることを確認しました。

ESP8266 connecting to internet | ReiLabs

esp826601-02.png

とりあえず動作は確認できましたので、初回はこれで終了です。
posted by boochow at 00:54| Comment(0) | ESP8266 | このブログの読者になる | 更新情報をチェックする
人気記事