ESP8266

ESP8266は中国の上海に拠点を置く企業Espressif Systemsによって製造されているTCP/IPスタックとマイクロコントローラを備えたWi-Fiモジュールである。 2014年8月にサードパーティの製造元であるAI-ThinkerによってESP-01モジュールが発売されたことで欧米のメイカーの関心を集めた。低価格かつ小面積で、マイクロコントローラからWi-Fiネットワークに接続し、ヘイズスタイルのコマンドで簡単なTCP/IP接続を行うことができる。発売当時はチップやコマンドに関する英語の資料がほとんどなかったが、前述の利点に加えて大口ではさらに安くなると予想されたため、数多くのハッカーたちによって中国語の資料の翻訳や、モジュール、チップ、そしてソフトウェアの解析が進められた。 ESP8285はESP8266に1MBのフラッシュメモリを搭載したものであり、シングルチップのデバイスをWi-Fiに接続できる。 32ビットRISC CPU: Tensilica Xtensa LX106 running at 80 MHz* 命令RAM 64KiB、データRAM 96KiB 外部QSPIフラッシュメモリ - 512 KiB～4 MiB*（16MiBまでサポート） IEEE 802.11 b/g/n Wi-Fi 統合された送受信スイッチ、バラン、LNA、パワーアンプ、インピーダンス整合回路 WEPもしくはWPA/WPA2による認証およびオープンネットワーク 16ピンのGPIO SPI, I²C, DMA付きのI²S（GPIOとピン共用） 専用のピン上のUARTとGPIO2で有効化できる送信専用UART 10ビットADC 1基 *いくつかのデバイスではオーバークロックすることによりCPUとフラッシュメモリの両方のクロックを倍にすることができる。CPUは160MHz、フラッシュメモリは40MHzから80MHzに高速化できる。成功するかはチップにより異なる。 2014年10月後半、Espressifはチップをプログラムすることができるソフトウェア開発キット（SDK）をリリースし、別途マイクロコントローラを用意する必要がなくなった。それ以来、多くの公式SDKがEspressifからリリースされた。Espressifは2つのバージョンのSDKを保守している。1つはRTOSベースのものであり、もう一つはコールバックベースのものである。 Espressifの公式SDKの代替としてはGCCツールチェーンをベースにしたオープンソースのesp-open-sdkが存在する。ESP8266はCadence Tensilica LX106マイクロコントローラを用いており、そのGCCツールチェーンはオープンソースであり、Max Filippovによって保守されている。もう一つの選択肢はMikhail Grigorevによる"Unofficial Development Kit"である。 他のオープンソースのSDKとしては以下が存在する。 NodeMCU：Luaベースのファームウェア Arduino: C++ベースのファームウェア。このコアはESP8266 CPUとそのWi-Fi機能を他のArduinoデバイスと同様にプログラムすることを可能にする。ESP8266 Arduino CoreはGitHubから入手可能である。 MicroPython：ESP8266プラットフォームへのMicroPython（組み込み機器向けのPythonの実装）の移植。 ESP8266 BASIC：IoT専用に作られたオープンソースのBASICインタープリンタ。セルフホスティングされたブラウザベースの開発環境である。 Mongoose Firmware：無料のクラウドサービスのついたオープンソースのファームウェア Espressif自身によって開発されたESP8266ベースのモジュール 上の表（および下記の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から発売された最初のESP8266モジュールであり、いまだに最も手に入りやすいものである。これらはまとめて"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モジュールの使用を検討することができる。 ESP-xxモジュールと比べて多くの"他の基板"が人気を集める理由はオンボードのUSB-to-UARTブリッジ（例えばSilicon Labs CP2102やWHC CH340G）と3.3Vレギュレータ付きのMicro-USBコネクタが基板への電力とよくコンソールと呼ばれるホスト（ソフトウェア開発用）コンピュータへの接続を提供するからである。ESP-xxモジュールではこれら二つは別途購入し、ESP-xxの回路に接続する必要があった。NodeMCUのような現代的なESP8266基板はより手間が少なく、より多くのGPIOピンを提供している。ほとんどのこれら"他の基板"はESP-12Eモジュールに基づいているが、新たなモジュールが数か月ごとに登場しているようである。 ESP32 NodeMCU（英語版） ESP Easy（英語版） モノのインターネット マイクロコントローラ ^ Brown, Eric (2016年9月27日). “Linux and Open Source Hardware for IoT”. Linux.com. 2016年11月14日閲覧。 ^ Benchoff, Brian (2014年8月26日). “New Chip Alert: The ESP8266 WiFi Module (It’s $5)”. hackaday（英語版）. 2016年11月14日閲覧。 ^ Benchoff, Brian (2014年9月6日). “The Current State of ESP8266 Development”. hackaday（英語版）. 2016年11月14日閲覧。 ^ “Espressif Announces ESP8285 Wi-Fi Chip for Wearable Devices”. Espressif (2016年3月9日). 2016年11月14日閲覧。 ^ Benchoff, Brian (2014年10月25日). “An SDK for the ESP8266 WiFi Chip”. hackaday（英語版）. 2016年11月14日閲覧。 ^ Espressif Systems (2015年7月29日). “Official SDK release from Espressif for ESP8266”. Espressif. 2016年11月14日閲覧。 ^ https://github.com/pfalcon/esp-open-sdk ^ Max Filippov (2015年2月15日). “ESP8266 GCC Toolchain”. 2016年11月14日閲覧。 ^ https://github.com/CHERTS/esp8266-devkit ^ http://programs74.ru/udkew-en.html ^ https://mongoose-iot.com/docs/#/quickstart/ ^ “Espressif ESP-WROOM-02”. Espressif Inc.. 2016年11月14日閲覧。 ^ “ESP8266 module family”. esp8266.com wiki. 2016年11月14日閲覧。 ^ “2ADUIESP-12 by Shenzhen Anxinke technology co., LTD for Wi-Fi Module”. FCC (2014年12月30日). 2016年11月14日閲覧。 ^ “MOD-WIFI-ESP8266”. Olimex. 2015年6月25日閲覧。 ^ “MOD-WIFI-ESP8266-DEV”. Olimex. 2015年6月25日閲覧。 ^ “Adafruit HUZZAH ESP8266 Breakout”. Adafruit Industries. 2015年6月25日閲覧。 ^ “SparkFun ESP8266 Thing”. SparkFun. 2015年6月27日閲覧。 ^ “KNEWRON smartWIFI”. KNEWRON. 2016年3月4日閲覧。 ^ “WeMos D1 R2”. WeMos. 2016年1月5日閲覧。 ^ “WeMos D1 Mini”. WeMos. 2016年5月19日閲覧。 ^ “Espert”. Espert. 2016年1月7日閲覧。 ^ “Cytron Technologies - ESPresso Lite V2.0”. www.cytron.com.my. 2016年2月10日閲覧。 ^ “ESP-ADC DIL18 development board”. In-Circuit Wiki. 2016年2月3日閲覧。 ^ “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に書き込む方法 ウィキメディア・コモンズには、ESP8266に関連するカテゴリがあります。