ESP-WROOM-02(ESP8266)開発環境を試してみる
ESP-WROOM-02は、32-bit MCUを持ち、TCP/IP protocol stack、SDIO、HSPI、UART、I2C、I2S対応、IEEE 802.11b/g/n対応という機能を備えた、Arduino IDE開発環境からアプリケーション開発を行えるデバイスです。日本国内においても技術基準適合証明済みであり、モジュール自体が安価です。筆者は、合同会社ランニングエレクトロニクスの「ESP-WROOM-02 USB付きBreakout基板」や株式会社スイッチサイエンスの「ESP-WROOM-02開発ボード」を使っています。
1. Arduino IDE(Windows)をインストールする
それでは、図4のようにArduino IDE(Windows)をインストールしてみましょう。
- ダウンロードサイト:http://www.arduino.cc/en/Main/Software
2. Aruduino IDEの環境を設定する
[File]-[Preferences]を開き、"http://arduino.esp8266.com/stable/package_esp8266com_index.json"を追加します。
3. ESP8266開発環境を準備する
続いて、図6のようにESP-WROOM-02(ESP8266)向けのボード関連設定とライブラリを追加します。今回の例では、MQTT PublisherをWiFi経由で行わせるサンプル・アプリケーションを作ります。なお、ESP8266は、ESP-WROOM-02に使われているEspressif Systems社製チップの型番です。
- [Tools]-[Board:]-[Boards Manager...]を開き、「esp8266 by ESP8266 Community」をインストールする
- [Tools]-[Board:]を開き、「Generic ESP8266 module.」を選択する
- [Sketch]-[Include Libray]-[Manage Libraries]-[PubSubClient]を選択しインストールする
4. サンプル・アプリケーションをコンパイルしESP8266へ書き込む
開発環境が準備できたら、[File]-[Examples]-[PubSubClient]-[mqtt_esp8266]を開き、編集・コンパイル・書き込みを行いましょう(図7)。この際、WiFi SSIDやPASSWORD、MQTT Broker IPアドレスを任意で変更しましょう。
※WiFi向けSSIDとPASSWORDおよびMQTT Broker IPアドレスは任意に書き換えます。
5. MQTTブローカーで実行結果を確認する
すべて完了すると、ESP-WROOM-02(ESP8266)がサンプル・アプリケーション通りに動き出します。MQTT Broker側で待ち受けていたログをいろいろと確認してみましょう。
# /usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf 1448116708: mosquitto version 1.4.4 (build date 2015-11-09 02:09:56+0900) starting 1448116708: Config loaded from /etc/mosquitto/mosquitto.conf. : 1448116731: New connection from 192.168.11.38 on port 1883. 1448116731: New client connected from 192.168.11.38 as ESP8266Client (c1, k15). # mosquitto_sub -t "outTopic" hello world hello World #1 hello world #2 hello World #3
サンプル・アプリケーションでは、ESP-WROOM-02(ESP8266)がWiFi接続し、MQTT BrokerのoutTopicへ"Hello world"を連続して送信するというものです。UARTやAnalog/Digital制御などは含まれていませんが、何かトリガーがあったときはMQTT Brokerへ向けてデータ送信するという仕組みの基礎は理解できたかと思います。
さて、次はIETFでもRFC7668でPROPOSED STANDARD(標準化への提唱)のコメントがまとめられたIPv6 over Bluetoothについて、2016年を先取りする形で見ていきましょう。