【すごい】ESP8266がArduino IDEでサポートされる

いつものように、Hack a Dayの記事から。

タイトル(「ARDUINO IDE SUPPORT FOR THE ESP8266」)だけ見ると、ESP8266をEthernet Shieldとして使えるようになったのかな、と思ってしまうところですが、そんな当たり前の話じゃありません

『ArduinoでESP8266がサポートされた』のではなく、『Arduino IDEでESP8266がサポートされた』のです。言い換えると、ESP8266単体で動かすIoTアプリケーションの開発がArduino IDEでできるようになったということなのです。(github上のサンプルプログラムにはIoTのプロトコルであるMQTTのサンプルも載っています)

ESP8266の内部のXtensaプロセッサをArduino IDEがサポートするようになり、ESP8266モジュールだけでArduinoのpinMode(),digitalRead(),digitalWrite(),analogRead()が使える上に、WiFi機能をEthernet Shieldと同様に使えるようです。一方で、PWMはESP8266自体がハードウェアリソースを1chしか持っていないので制約があり、SPIとI2Cはまだ動作しないようです。

すでに github から Linux(64bit)、Windows、OS X用のArduinoコンパチのIDEがダウンロードできるようになっていて、サポートしている機能の範囲も同じところに書かれています。(Linux版をダウンロードしてみたら70MB以上ありました・・・)

ESP8266の書き換えは、Hack a Dayのこちらの記事にあるような簡単な回路でできるようです。

IDEの安定性次第のところはあるかもしれませんが、安定して使えるようになればこれは間違いなく大ブレイクすると思います。これで無線や電子工作に詳しくない人でもArduinoでマイコン制御機器を作ってみるのと大して変わらない感覚で、ESP8266を使ったIoT機器を作ってみるということが可能になるのですから。

おそらく、Espressif社はWiFiを使ったIoT機器用のチップとしては数量でNo.1になっていくのではないでしょうか。(ちょうど、BluetoothでCSR社が占めているような立ち位置になるんじゃないかと予想します)

“【すごい】ESP8266がArduino IDEでサポートされる” への4件の返信

  1. githubにArduino add onのかたちで公開されていたので、Arduino 1.6.2(Win7)でESP-12を使いblinkから試してみたところ、動作しました。wifiサンプルプログラムも動作するようですが、HelloServerだけはコンパイルエラーになりました。
    I2CもMasterは動作するらしいので、いろいろ遊べそうですね。

    1. 海外ではどんどん話が進んでいますよね。
      日本ではなかなか成果が公にできなかったり、普通の人には再現できないものだったりするのが面倒です。
      自分もコンパイルだけはLinux版で試したのですが、そこから先が・・・。
      大きなアルミバッグや缶に入れて密封した状態(=シールドした状態)でシールドルームの中で動かしてみたりしたことはありますが、アルミバッグや缶くらいでは結構電波は漏れているようで、それ以降動作を試せていません。
      簡易シールド(アルミバッグや缶)くらいで十分に漏洩電波が抑えられればそこら辺で実験できるんですけどねぇ・・・。

  2.  普通のアルミフォイル程度の厚さでも、2.4Gをシールドするには十分の厚さのはずですなのでしょうが、線の取り出し口から漏れるのでしょうかね。漏えい電波の強度については免許不要、技適不要となると微小電力無線局の基準になると思われますので、3mはなれて電界強度が35μv/m以下のようですが、使用する電波暗室の大きさや形状まで規定されており、個人で測定できるようなものでもありません。
     わたしは、ひとまず小型Aruduinoとして試しておりますのでこれは問題ないはずです。最初にADT7420温度センサーとLCD(ST7032)を接続してみたところ、従来のArduinoのプログラムに1行追加(SDA,SCLピン指定)、1行コメントアウト(AVR依存INCLUDEファイルの削除)のみで両者ともすんなりと動作しました。SPIも試してみたいと思っています。

    1. 微小電力無線局の範囲に収める目安としては(どこで見たかは忘れましたが)「すぐ隣同士でなければ通信できないレベル」であるとググりました(^^;。すぐ隣に親機をおいて通信できるならいろいろ試すことはできるだろう、ということで目標はまずはそこ(絶対値はあとで考えよう)だったのですが、
      ・ブレッドボード上でUSB-UART経由でPCから電源供給
      ・AndroidでWiFiのRSSIを表示するアプリで比較
      という環境では簡単なシールドではほとんど効果がなく(多少は差があるという程度)、諦めました。
      2.4GHzというと周波数が相当高いのでちょっとした隙間からも漏洩します。「手軽に包んで試す」という範囲では隙間が大きいのかもしれません。あるいは、電源側がアンテナになってるのかも。
      チップアンテナ付きあるいはRF側にコネクタが付いたものを用意してアンテナ外してダミーロードに交換して試したほうが良かったかもしれません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)