profile-photo

ESP8266(シリーズ)

超小型ながら、ハイスペックなCPU


Wi-Fiチップながら、80MHzの32bitRISCプロセッサを搭載。
インストラクションメモリー64KB、データRAM96KBさらに最大4MBのフラッシュメモリまでも搭載している、夢のようなデバイス。
ESP WROOM-02は技適も取得していて、国内で安心して使用できる。
と、言うより国内でWi-Fiを使えるESP8266シリーズはWROOM-02だけだ。

 

001

最初に手がけたWi-Fiコンセント。
隔世の気がする。僅か2年なのに…
それでも、VPNサーバ経由で世界中から家の電気を制御できると喜んでいたのだ。

002

CPUはAtMega328。こんな大きなCPUは要らないのだけど、まだAtTinyは知らなかった。
それに液晶をパラレルで制御していたのでI/Oが沢山必要でもあった。

003

実は未だ「WROOM-02」は発売されていなかった。
電波法違反スレスレだが、我が家は鉄筋コンクリートのRC造り。家の真ん中に設置して、金属で覆い、パソコンで外部からWi-Fiのリストに上がらないことを確認して、良いことにしていた。

004

基板の外にリレーモジュールと5V電源。
電源は、USB用のACアダプタを分解して使った。

005

ESP-WROOM-02のラインナップ
左がネイティヴなモジュール
このモジュールは2mmピッチの端子が出ていて、そのままでは使いにくい。2.54mmに変換する基板が各社から色々出ている(中央)。
また、開発用にはシリアルチップを搭載した右のボードが便利だ。ピンヘッダを付ければブレッドボードに刺せる。ピンソケットを実装して、ここに直接デバイスや信号をつなげるようにすると、ブレッドボードも要らなくなる。

006

ESPの開発ボードを使ってプログラムした。
A/Pポイントを内蔵し、WEBサーバを動作させている。サーバのアドレスは固定にして、iPhoneのブラウザからボードにWi-Fiで接続。
Wi-Fi経由で開発ボード上のLEDをON/OFFさせてみた。
WEBサーバなので、iPhoneはsafariを動かしているだけで専用のアプリなどは不要。
全く上のWi-Fiコンセントの苦労は何なのだった、と言いたいくらい。

今はこれもArduinoの仲間

最初はIDEが上手く動かなかったりして、シリアルでArduinoと通信して動かしていた。
そのためにATコマンドが内蔵されていたのだ。
しかし、この高速なCPUを使わない手は無い。
今は、ArduinoIDEで直接ESPのプログラムを書くことができるようになった。
ライブラリーも豊富・高機能になった。
以前苦労した固定IPどころか、アクセスポイント内蔵、DHCPサーバ、WEBサーバなど、何でもござれの世界。
あんなに苦労したWi-Fiスイッチなど1時間も掛からないでできてしまった。
これからのIoTの大きな戦力になると思う。

最初に作ってみたWi-Fiコンセント

2015年頃に作った。
ESP8266を知った時は感動したものだ。こんな小さなチップにWi-Fiの全ての機能が入っているなんて!
しかし当時は開発環境も十分ではなかったし、結局のところシリアル通信でATコマンドを使って制御するしかなかった。
それでも頑張って作ったのがこれだ。
プリンターはネットワークにつながっていてどこからでも印刷出来る様になって来たが、残念ながら電源はプリンターの所へ行ってスイッチを操作しなければならない。
そこでWebから電源のON/OFFをできたら便利だろうと思ったのだ。
その頃は「IoT」なる用語はなかったが、我が家のIoTの始まりだったのかもしれない。 実際ルーターのポートフォワード機能を使って家の外から切り忘れた電源を切ったりもしていた。
だがその内使わなくなってしまった。
理由はいくつもある。
まず、このサーバは繋がりにくい。反応が遅い、など。
原因のひとつが、DHCPだ。
サーバのアドレスを固定に出来なかったこと。マニュアルには出来ると書いてあるのだが何としてもうまく行かなかった。
やむなく、LCDを付けて取得したIPアドレスを表示するようにした。
DHCPの配布設定を狭めにしたので、概ね同じアドレスで動く。ただ機器の構成が変わったり、電源投入の順序が変わったりすると、サーバのアドレスが変わってしまう。サーバがブラウザで見つけられない時はこの表示を確認するのだ。
その後宅内のレイアウトを変更したため、プリンターの電源を手で操作するのもあまり不便でなくなったので、使わなくなってしまったのだ。


参考までにハードウェア・ソフトウェアの情報を。ただしこれらは僕の覚えであり、正確に改版を反映していない可能性があります。この通り作って動かないからと、怒らないで欲しい。