ESP-WROOM-02(Arduino)によるWiFiネットワーキング (8) ~ HTTPサーバベースのアプリケーション
第一回で示したクマーシステムも回転灯システムも、共にESP-WROOM-02をHTTPサーバとして動かすアプリケーションである。今回はこれらのソフトウェアの骨格部分を説明しよう。ソースコードは下記のGitHubリポジトリに公開しており、FlagBearとBuildCopがそれぞれクマーシステムと回転灯システムに対応する。
GitHub - tomoto/ArduinoPlayGround
この手のアプリケーションで必要となる処理なんてどうせ同じ、ということでコードのほとんどはlibrariesの下にフレームワークとして実装してあり、アプリケーション本体である.inoのコードは最小で済むようになっている。このフレームワークにはいろいろ工夫が詰まっていて、おそらく読者の役に立つノウハウもあるので説明していこう。
続きを読むESP-WROOM-02(Arduino)によるWiFiネットワーキング (7) ~ 自作アプリケーションのための基本回路
前々回はESP-WROOM-02を初期状態のまま動作させるためだけの最低限の回路を説明したが、今回はさらに自作アプリケーションを動かすための基本回路を紹介する。ただし、これはあくまで私が私のアプリケーションで使い回すための「ぼくのかんがえた最強の基本回路」であり、誰にとっても・どんな場合でもベストだとは限らない。まずはこれを入口にしてもらったとしても、最終的には自分自身の目的やスタイルに合った「最強」を編み出してもらいたいと思う。
この「最強基本回路」の見た目と回路図はこんな感じだ。これを私が「最強」と呼ぶには理由がある。ひとつは抵抗等のパーツを動く限りで最低限まで省いていること(経験者は眉を顰めるかもしれない)。もうひとつはおそらく世界唯一「最強LED」を備えていること。以下順に説明していこう。
ブレッドボード図
写真
(写真の中央周辺の黒/赤/黄/茶の配線はアプリケーション回路なので基本回路外である。また電源回路はACアダプタージャック→5V→3.3Vと二段で降圧しているので図と少し違う。あとオシロスコープのフックを引っ掛けるためジャンパー線のリングを幾つか出している。)
回路図
続きを読むESP-WROOM-02(Arduino)によるWiFiネットワーキング (6) ~ 続・電源の話
前回「USB給電でESP-WROOM-02は動かない」と書いたが、改めて確認してみたらちゃんと動いた。最初試したときは回路が何か間違っていて余計な電流が流れていたのかもしれない。
USB変換モジュールに出てる+5Vのピンを、スイッチングレギュレーターまたは三端子レギュレーターを通して降圧、ESP-WROOM-02の電源につなぐ。この状態で、起動・ATコマンドによる基本WiF動作・HTTPによるLEDとFETの駆動あたりまで確認した。
続きを読むESP-WROOM-02(Arduino)によるWiFiネットワーキング (5) ~ 電源とUSBシリアル変換モジュール
さてそろそろESP-WROOM-02の話に入ろう。まずはこれがなくては始まらない、電源とUSBシリアル変換モジュールについて。
買いたてほやほやの状態のESP-WROOM-02には、シリアル通信で対話的にコマンドを送ってWiFI機能を動かすことができるプログラムがあらかじめ書き込まれている。まるで昔のモデムのようなノリで、実際ここで使われるコマンドはそれらしく「ATコマンド」と呼ばれている。最終的には自分でプログラミングするつもりであっても、ESP-WROOM-02を買って来たら、まずはこれを叩いて動作確認をするのが常套手段である。そのために最低限必要なのは、電源と、PCと通信するためのUSBシリアル変換モジュールである。
続きを読むESP-WROOM-02(Arduino)によるWiFiネットワーキング (4) ~ OSなしのプログラミング
前回「Arduinoのソフトウェア開発はOSなしで実行されるC++プログラムを書くこと」と述べた。この「OSなし」が何を意味するのか、やったことのない人にはピンと来ないかもしれないので、簡単に説明してみたいと思う。
OSのある世界では、PCが起動するとブートローダーがまずOSを読み込んで実行し、次にOSがアプリケーションをファイルから読み込んで実行する。これがArduinoだとブートローダーが直接アプリケーションを読み込んで実行する。つまり普段空気のように当たり前に存在しているOSによるサポートを当てにせずにアプリケーションを書かねばならない。具体的には次のような違いが現れることになる。
続きを読む