話題の技適モジュール「ESP8266」を使ってIoTを手作りするこの連載、今回はESP8266にmbedマイコンを接続してM2Mの実現を図ります。
ワンチップにWi-FiからGPIOなどの周辺デバイスを搭載したワイヤレスSoC「ESP8266」を搭載したモジュールで“IoTを手作りしてみよう”というこの連載、前回まではTera termなどのターミナルエミュレーターを使い、人間のオペレーションが介在する形でESP8266の通信機能を確かめてきました。
今回からはESP8266にマイコンを接続し、今まで手動にて操作していたことをマイコンに肩代わりさせます。これによりM2M(Machine to Machine)的なソリューションに対応できるようになります。
サーバから見た場合、インターネット利用の多くは端末の向こう側にはユーザー(ヒト)がいます。例えばブラウザでWebサイトを見たり、動画サイトに接続して映画を鑑賞したりといった具合に、サーバからユーザーに対するサービスです。
これに対してM2Mでは、サーバがサービスする相手はヒトではなく機械となります。昨今IoT(Internet of Things)という言葉が流行していますが、まさにM2MはIoT時代に急拡大するとされているインターネットの利用形態の1つです。今回はTCPクライアント(Telnet)から、リモートノードのLEDをON/OFFし、M2Mの一端を実現します。
ESP8266とタッグを組むマイコンですが、今回はNXPのARMマイコン「LPC1114FN28」を使います。ESP8266との組み合わせにはArduinoを選択する例が多く見られますが、今回はあえてこちらのマイコンを用います。
LPC1114FN28を選んだ理由は「安い」「速い」「簡単」の3つです。加えて、クラウド開発環境「mbed」を利用できる点も理由に挙げられます。LPC1114FN28については、連載「mbed」で始めるARMマイコン開発入門」をご覧ください。
マイコンで動かすバイナリファイルを、PCからターゲットであるマイコンに書き込むために必要な装置です。ここでいうバイナリファイルとはマイコンで実行可能なコンパイルおよびリンクの結果、生成されたコードです。マイコンにLPC1114FN28を選択する場合、前回にも登場したUSBシリアル変換モジュールでの代用が可能です。
書き込み器を使ってバイナリファイルをマイコンに書き込むために必要なソフトウェアです。筆者はlpc21ispを使っていますのでこれを推奨します。使い方は「mbedで始めるARMマイコン開発入門」の第2回(ARM開発環境準備の第一弾、書き込み器を用意する)を参考にしてください。
今まではESP8266を操作するため、Tera termなどターミナルエミュレーターを使ってATコマンドを入力していましたが、今回の目的はその操作をマイコンに肩代わりさせることにあります。
ですからデバッグのためには、マイコンとESP8266間でATコマンドの受け渡しが正常に行われているかを確認する手段(双方のシリアル通信を外部から傍受する仕組み)が必要で、シリアルモニターはそのための装置です。これもUSBシリアル変換モジュールで代用します。
マイコンにバイナリファイルを書き込んだ後、配線を変えてシリアルモニターとして使います。今回はシリアル通信ではなく傍受のみですからRXDしか使いません。USBシリアル変換モジュールの役割はこれで3つを兼ねることになりますね。
マイコン開発環境はARMが提供するクラウド開発環境「mbed」を利用します。Webブラウザさえあればよく(インターネット接続は必要です)、利用に際してはユーザーアカウントとセットアップが必要です。詳しくは「mbed」で始めるARMマイコン開発入門の第3回(クラウド開発環境「mbed」の使い方とターゲットマイコンへの書き込み)を参考にしてください。
Copyright © ITmedia, Inc. All Rights Reserved.