PiでIoT機器を作るときは、動作中に何が起こっているかを後で知るために普通に動作ログをファイルに残すようにすると思います。今回はESP8266でも動作ログを後で確認できるようにするプログラムにチャレンジしてみます。ログを表示する方法ESP8266にはSPIFFSというファイルシステムが用意されていて、ファイルの作成や書き込み・読み込みをCライクに行うことができます。ESP8266の場合はプログラムがOS上で動作している訳ではないので、ログをファイルに残したとしても、そのファイルを表示する手段が用意されていません。そのため、本来の仕事を行うプログラムの他にログを表示するプログラムを用意して、そのプログラムを実行するきっかけ(トリガ)を組み込むようにします。本来の仕事を行うプログラムとログを表示するプログラムに動作モードを割り当てます。動作モードの切り替えsetup()でWiFi接続にかかる時間を利用して、WiFi接続中にファンクションボタンが押されたらメンテナンスモードに切り替えて、ログファイルを表示するようにしました。Serial.print(".");}メインループloop()では動作モードによってメンテナンス用プログラムと通常用のプログラムを切り替えます。}}メンテナンス用プログラムsetup()でファンクションボタンが押されたら、ログファイルの内容を表示してこのループが実行されます。誤ってファイルを消さないようにループの初めで5秒待つようにしています。}}通常のプログラムに戻るにはリセットボタンを押します。ファイルシステムの使用(SPIFFS)このプログラムでは以下の操作を行うためにファイルシステムを使用しています。SPIFFのマウントファイル内容の表示ファイルへの文字列の書き込みファイルの削除SPIFFのマウントESP8266でファイルシステムを使用するには、最初にSPIFFSをマウントするメソッドを実行します。SPIFFSのマウント初めてこのメソッドを実行した時だけ実行に少し時間がかかりますが(数秒)、次回以降は時間がかからなくなります。ファイルクローズFileオブジェクトの操作にはprintlnやStreamメソッドが使用できます。ファイルの削除スケッチのダウンロードココからフルスケッチをダウンロードできます。2017/5/11追記:アップロードしていたファイルの文字コードがSJISになっていたのをUTF-8に変更しました。スケッチの実行例スケッチ実行時のモニター表示例です。miniの粗悪品に注意!ESP8266月別アーカイブはてなブログをはじめよう!IntellectualCuriosityさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。