2015-08 << 2015-09 >> 2015-10

2015-09-20 (日)

趣味でマイコン使った工作するときは,マイコンに載ってる数K~数十KBのSRAMで頑張ること多いけど,メモリたくさん欲しいこともある.DRAMを半田付けするの敷居高いので,DRAMにSPIインターフェイス付けたモジュールどこかが出してくれないかなあ.

* ESP-WROOM-02 でHTTPd

サンプルがあるのでArduino IDEでビルドして書き込むだけ.「ファイル」→「スケッチの例」→「ESP8266WebServer」

ESP-WROOM-02のFlash上にプログラムがある状態なら,リセットから5秒以内にWiFi繋がってHTTP接続可能になるので,動作確認もストレスが少ない.

試しにこの前のカメラをつないで,HTTP経由でブラウザから写真撮れるようにしてみた.

ESP8266WebServerでメモリに載らないレスポンスの返し方よくわからなかったけど,ソース読む限りは,

    server.setContentLength(data_size);
    server.send(200, "image/jpeg", "");

こんな感じで空のレスポンスを返しつつ,server.sendContent()でbodyを書き込めば良さそう.sendContent()は小分けして呼び出しても大丈夫に見えるけど,帰り値がvoidなのでコネクション切れたら中断とかはできない.あと,引数がStringなのが少し不便.

ちゃんとやるなら,client()で,WiFiClientが取得できるので,それ使うのが良さそう.

データの転送速度が遅い気がするので,そのへんは後で調べたい.

PC無しで単体で動作するWebカメラとかが簡単に作れるの良いな.WiFi経由で定期的に写真アップロードとかもできそう.

* ESP-WROOM-02のATコマンドでPINGとHTTP

シリアルモニタだけでも色々できるっぽいので試しておく.

AT+CIPSTA?
+CIPSTA:ip:"192.168.0.16"
+CIPSTA:gateway:"192.168.0.1"
+CIPSTA:netmask:"255.255.255.0"

OK

電源入れたら繋がっていた.SSIDとパスワードはFlashに記録されるっぽい.

AT+PING="www.google.co.jp"
+4

OK

TCPで接続してHTTP GETしてみる.

AT+CIPSTART="TCP","www.binzume.net",80
CONNECT

OK
AT+CIPSEND=41
OK
>GET / HTTP/1.1
Host: www.binzume.net

Recv 41 bytes

SEND OK

+IPD,1414:HTTP/1.1 200 OK ...
.....

CLOSED
2015-08 << 2015-09 >> 2015-10