ESP8266

ESP8266
Ai-ThinkerのESP-01 モジュール
製造元 Espressif Systems
種別 32ビット マイクロコントローラ
CPU @ 80MHzもしくは160MHz
メモリ 命令32 KiB / ユーザーデータ 80 KiB
入力機器 16ピンのGPIO
次世代ハード ESP32

ESP8266は中国の上海に拠点を置く企業Espressif Systemsによって製造されているTCP/IPスタックとマイクロコントローラを備えたWi-Fiモジュールである[1]

2014年8月にサードパーティの製造元であるAI-ThinkerによってESP-01モジュールが発売されたことで欧米のメイカーの関心を集めた。低価格かつ小面積で、マイクロコントローラからWi-Fiネットワークに接続し、ヘイズスタイルのコマンドで簡単なTCP/IP接続を行うことができる。発売当時はチップやコマンドに関する英語の資料がほとんどなかった[2]が、前述の利点に加えて大口ではさらに安くなると予想されたため、数多くのハッカーたちによって中国語の資料の翻訳や、モジュール、チップ、そしてソフトウェアの解析が進められた[3]

ESP8285はESP8266に1MBのフラッシュメモリを搭載したものであり、シングルチップのデバイスをWi-Fiに接続できる[4]

特徴

[編集]

*いくつかのデバイスではオーバークロックすることによりCPUとフラッシュメモリの両方のクロックを倍にすることができる。CPUは160MHz、フラッシュメモリは40MHzから80MHzに高速化できる。成功するかはチップにより異なる。

SDK

[編集]

2014年10月後半、Espressifはチップをプログラムすることができるソフトウェア開発キット(SDK)をリリースし、別途マイクロコントローラを用意する必要がなくなった[5]。それ以来、多くの公式SDKがEspressifからリリースされた。Espressifは2つのバージョンのSDKを保守している。1つはRTOSベースのものであり、もう一つはコールバックベースのものである[6]

Espressifの公式SDKの代替としてはGCCツールチェーンをベースにしたオープンソースのesp-open-sdkが存在する[7]。ESP8266はCadence Tensilica LX106マイクロコントローラを用いており、そのGCCツールチェーンはオープンソースであり、Max Filippovによって保守されている[8]。もう一つの選択肢はMikhail Grigorevによる"Unofficial Development Kit"である[9][10]

他のオープンソースのSDKとしては以下が存在する。

  • NodeMCULuaベースのファームウェア
  • Arduino: C++ベースのファームウェア。このコアはESP8266 CPUとそのWi-Fi機能を他のArduinoデバイスと同様にプログラムすることを可能にする。ESP8266 Arduino CoreはGitHubから入手可能である。
  • MicroPython:ESP8266プラットフォームへのMicroPython(組み込み機器向けのPythonの実装)の移植。
  • ESP8266 BASIC:IoT専用に作られたオープンソースのBASICインタープリンタ。セルフホスティングされたブラウザベースの開発環境である。
  • Mongoose Firmware:無料のクラウドサービスのついたオープンソースのファームウェア[11]

Espressif製モジュール

[編集]
ESP-08266モジュール
ESP-WROOM-02

Espressif自身によって開発されたESP8266ベースのモジュール

名称 有効ピン数 ピッチ 形状 LED アンテナ シールドの有無 寸法(mm) 備考
ESP-WROOM-02[12] 18 0.5mm 2×9 DIL No プリント基板トレースアンテナ Yes 18 × 20 FCC ID 2AC7Z-ESPWROOM02

上の表(および下記の2つの表)において、"有効ピン数"は外部のデバイスをESP8266 MCUに接続することができるGPIOとADCピンを含んでいる。"ピッチ"はESP8266モジュールのピン間の距離であり、ブレッドボードで回路を組む際に重要である。"形状"はモジュールのパッケージングが"2 x 9 DIL"であることを示しており、DIPのICと同様の9ピン2列のデュアルインラインであることを意味している。多くのESP-xxモジュールは小さなLEDをオンボードで搭載しており、点滅するようプログラムでき、動作状況を表すことができる。ESP-xxボードにはトレースアンテナやオンボードのセラミックアンテナ、外付けのWi-Fiアンテナを接続することができる外部コネクタなど、いくつかのアンテナの種類が存在している。Wi-Fi通信は多くの電波干渉を引き起こすため、FCCのような政府機関は他の機器への干渉を最小化するためにシールドされた電子機器を好む。いくつかのESP-xxモジュールはFCCによる認証を示す刻印の押された金属製の箱に入った状態で提供されている。

AI-Thinker製モジュール

[編集]
ESP-01モジュール
ESP-01モジュール

これらはサードパーティの製造元であるAI-Thinkerから発売された最初のESP8266モジュールであり、いまだに最も手に入りやすいものである[13]。これらはまとめて"ESP-xxモジュール"と呼ばれ、開発システムとして利用するためには特にシリアルTTL-to-USBアダプタ(USB-to-UARTブリッジとも呼ばれる)と3.3V電源のような外付け部品を要求する。新参のESP-8266開発者はNodeMCUのようなUSB-to-UARTブリッジと3.3Vレギュレータ付きのMicro-USBコネクタが基板に搭載されたより大きなESP8266 Wi-Fi開発基板を検討することが推奨される。プロジェクトの開発が完了した際には、これらの部品が不要になる可能性があるため、量産用のより省電力で小さい選択肢としてESP-xxモジュールの使用を検討することができる。

名称 有効ピン数 ピッチ 形状 LED アンテナ シールドの有無 寸法(mm) 備考
ESP-01 6 0.1" 2×4 DIL Yes プリント基板トレースアンテナ No 14.3 × 24.8
ESP-02 6 0.1" 2×4 キャスタレーション No U.FL英語版ソケット No 14.2 × 14.2
ESP-03 10 2 mm 2×7 キャスタレーション No セラミック No 17.3 × 12.1
ESP-04 10 2 mm 2×4 キャスタレーション No なし No 14.7 × 12.1
ESP-05 3 0.1" 1×5 SIL No U-FLコネクタ No 14.2 × 14.2
ESP-06 11 misc 4×3 ダイス No なし Yes 14.2 × 14.7 FCC認証なし
ESP-07 14 2 mm 2×8 ピンホール Yes セラミック+U.FL英語版ソケット Yes 20.0 × 16.0 FCC認証なし
ESP-08 10 2 mm 2×7 キャスタレーション No なし Yes 17.0 × 16.0 FCC認証なし
ESP-09 10 misc 4×3 ダイス No なし No 10.0 × 10.0
ESP-10 3 2 mm? 1×5 キャスタレーション No なし No 14.2 × 10.0
ESP-11 6 0.05" 1×8 ピンホール No セラミック No 17.3 × 12.1
ESP-12 14 2 mm 2×8 キャスタレーション Yes プリント基板トレースアンテナ Yes 24.0 × 16.0 FCCおよびCE認証済み[14]
ESP-12E 20 2 mm 2×8 キャスタレーション Yes プリント基板トレースアンテナ Yes 24.0 × 16.0 4MBフラッシュメモリ搭載
ESP-12F 20 2 mm 2×8 キャスタレーション Yes プリント基板トレースアンテナ Yes 24.0 × 16.0 FCCおよびCE認証済み。アンテナ性能向上。4MBフラッシュメモリ搭載。
ESP-13 16 1.5 mm 2×9 キャスタレーション No プリント基板トレースアンテナ Yes W18.0 x L20.0 "FCC"刻印あり。ESP-12と比較してシールドされたモジュールが横向きになっている。
ESP-14 22 2 mm 2×8 キャスタレーション +6 No プリント基板トレースアンテナ Yes 24.3 x 16.2

他の基板

[編集]

ESP-xxモジュールと比べて多くの"他の基板"が人気を集める理由はオンボードのUSB-to-UARTブリッジ(例えばSilicon Labs CP2102やWHC CH340G)と3.3Vレギュレータ付きのMicro-USBコネクタが基板への電力とよくコンソールと呼ばれるホスト(ソフトウェア開発用)コンピュータへの接続を提供するからである。ESP-xxモジュールではこれら二つは別途購入し、ESP-xxの回路に接続する必要があった。NodeMCUのような現代的なESP8266基板はより手間が少なく、より多くのGPIOピンを提供している。ほとんどのこれら"他の基板"はESP-12Eモジュールに基づいているが、新たなモジュールが数か月ごとに登場しているようである。

名称 有効ピン数 ピッチ 形状 LED アンテナ シールドの有無 寸法(mm) 備考
Bolt IoT英語版 14 0.1" 2×14 DIL Yes プリント基板トレースアンテナ Yes 30 × 40 オンボードのSDカードとLib-Discoveryやフェールセーフモードのような機能を搭載。IoTのための独自のクラウドを用意。.
Olimex MOD-WIFI-ESP8266[15] 2 0.1" UEXTモジュール Yes プリント基板トレースアンテナ No ? RX/TXのみUEXTコネクタと接続
Olimex MOD-WIFI-ESP8266-DEV[16] 20 0.1" 2×11 DIL + キャスタレーション Yes プリント基板トレースアンテナ No ? すべての利用可能なGPIOピンが接続されている。UEXTコネクタ(RX/TXとSDA/SCL信号)

取り付け用のパッドも搭載。

NodeMCU英語版 DEVKIT 14 0.1" 2×15 DIL Yes プリント基板トレースアンテナ Yes ? ESP-12モジュールを使用。USBシリアルインターフェース搭載。
Adafruit英語版 Huzzah ESP8266 breakout[17] 14 0.1" 2×10 DIL Yes プリント基板トレースアンテナ Yes 25 × 38 ESP-12モジュールを使用
SparkFun英語版 ESP8266 Thing[18] WRL-13231 12 0.1" 2×10 DIL Yes プリント基板トレースアンテナ+U.FL英語版ソケット No 58 × 26 FTDIシリアルヘッダ、電源用Micro-USBソケット、Li-ionバッテリ充電回路搭載
KNEWRON Technologies smartWIFI[19] 12 0.1" 2×20 DIL Yes 1 RGB プリント基板トレースアンテナ Yes 25.4 × 50.8 CP2102 USBブリッジ、バッテリ充電回路、電源及び充電用Micro-USBソケット、1 RGB LED、ユーザ/リフラッシュボタン搭載
WeMos D1 12 0.1" Arduino Uno Yes プリント基板トレースアンテナ Yes 53.4 × 68.6 ESP-12Fモジュールを使用、Micro-USBソケット搭載
WeMos D1 R2[20] 12 0.1" Arduino Uno Yes プリント基板トレースアンテナ Yes 53.4 × 68.6 ESP-12Fモジュールを使用、Micro-USBソケット搭載
WeMos D1 Mini[21] 12 0.1" 2×8 DIL Yes プリント基板トレースアンテナ Yes 25.6 × 34.2 ESP-12Fモジュールを使用、Micro-USBソケット搭載
ESPert ESPresso Lite[22] 16 0.1" 2×8 DIL Yes プリント基板トレースアンテナ Yes 26.5 × 57.6 Espressif ESP-WROOM-02モジュールを使用。数量限定でベータ版として生産。
ESPert ESPresso Lite V2.0[23] 24 0.1" 2×10 DIL Yes プリント基板トレースアンテナ Yes 28 × 61 ESPresso Liteの設計と機能を改善
In-Circuit ESP-ADC[24] 18 0.1" 2×9 DIL No U.FL英語版ソケット No 22.9 × 14.9 ESP8266EXを使用
Watterott ESP-WROOM02-Breakout[25] 14 0.1" 2×10 DIL Yes プリント基板トレースアンテナ Yes 40.64 × 27.94 Espressif ESP-WROOM-02モジュールを使用

関連項目

[編集]

参考文献

[編集]
  1. ^ Brown, Eric (2016年9月27日). “Linux and Open Source Hardware for IoT”. Linux.com. 2016年11月14日閲覧。
  2. ^ Benchoff, Brian (2014年8月26日). “New Chip Alert: The ESP8266 WiFi Module (It’s $5)”. hackaday英語版. 2016年11月14日閲覧。
  3. ^ Benchoff, Brian (2014年9月6日). “The Current State of ESP8266 Development”. hackaday英語版. 2016年11月14日閲覧。
  4. ^ Espressif Announces ESP8285 Wi-Fi Chip for Wearable Devices”. Espressif (2016年3月9日). 2016年11月14日閲覧。
  5. ^ Benchoff, Brian (2014年10月25日). “An SDK for the ESP8266 WiFi Chip”. hackaday英語版. 2016年11月14日閲覧。
  6. ^ Espressif Systems (2015年7月29日). “Official SDK release from Espressif for ESP8266”. Espressif. 2016年11月14日閲覧。
  7. ^ https://github.com/pfalcon/esp-open-sdk
  8. ^ Max Filippov (2015年2月15日). “ESP8266 GCC Toolchain”. 2016年11月14日閲覧。
  9. ^ https://github.com/CHERTS/esp8266-devkit
  10. ^ http://programs74.ru/udkew-en.html
  11. ^ https://mongoose-iot.com/docs/#/quickstart/
  12. ^ Espressif ESP-WROOM-02”. Espressif Inc.. 2016年11月14日閲覧。
  13. ^ ESP8266 module family”. esp8266.com wiki. 2016年11月14日閲覧。
  14. ^ 2ADUIESP-12 by Shenzhen Anxinke technology co., LTD for Wi-Fi Module”. FCC (2014年12月30日). 2016年11月14日閲覧。
  15. ^ MOD-WIFI-ESP8266”. Olimex. 2015年6月25日閲覧。
  16. ^ MOD-WIFI-ESP8266-DEV”. Olimex. 2015年6月25日閲覧。
  17. ^ Adafruit HUZZAH ESP8266 Breakout”. Adafruit Industries. 2015年6月25日閲覧。
  18. ^ SparkFun ESP8266 Thing”. SparkFun. 2015年6月27日閲覧。
  19. ^ KNEWRON smartWIFI”. KNEWRON. 2016年3月4日閲覧。
  20. ^ WeMos D1 R2”. WeMos. 2016年1月5日閲覧。
  21. ^ WeMos D1 Mini”. WeMos. 2016年5月19日閲覧。
  22. ^ Espert”. Espert. 2016年1月7日閲覧。
  23. ^ Cytron Technologies - ESPresso Lite V2.0”. www.cytron.com.my. 2016年2月10日閲覧。
  24. ^ ESP-ADC DIL18 development board”. In-Circuit Wiki. 2016年2月3日閲覧。
  25. ^ Watterott ESP-WROOM02-Breakout”. Watterott. 2016年11月6日閲覧。

外部リンク

[編集]
  • BBS.espressif.com — ESP8266の完全なドキュメンテーションの置かれたEspressifのフォーラム
  • ESP8266.com — コミュニティフォーラム
  • WiFi-IoT — Maxim MiklinによるWEBベースのユニバーサルファームウェアビルダー。ファームウェアは純粋なC言語で書かれている。.
  • RuntimeProjects.com - Arduino CoreでESP8266を用いるためのチュートリアル
  • Blog with ESP8266 projects — ESP8266上でのMQTTブローカーやエアコンの制御、水やり、LoRaといった多くのプロジェクトを掲載したブログ
  • How to flash ESP8266 — カスタムのNodeMCUファームウェアをESP8266に書き込む方法