MUDAなことをしよう。MUDAなことをしよう。(ROBOBA041)をESP-WROOM-02で動かすことには成功しました。一応これでタイトルの内容は達成済みなのですが、せっかくWi-Fiに繋がるWROOM-02を使っているので、クラウド上にデータをアップロードするところまでやってしまいたいと思います。スプレッドシートがお手軽かなーということで、以下の先人の方の知恵を拝借して、まずはIFTTTを使う方法を試してみました。IFTTTを用いてESP-WROOM-02からGoogleドライブ・スプレッドシートに書き込みIFTTTを介することで、通常、APIをダイレクトに叩くときに面倒な(でも必要な)認証周りを気にしなくて良くなるのでとてもラクです。自分が試したところ、スプレッドシートに実際に値が反映されるまでに恐ろしく遅延が発生してしまいました。数分とかではなく、数十分というレベルです。これではさすがにちょっと使いものにならないので、何か別の手段はないかと色々探してみたところ、ThingSpeakというサービスに行き当たりました。そんなにやたらめったらデータをアップロードしないのであれば登録だけで無料で使えますし、簡単なグラフ化も勝手にやってくれます。何より、ArduinoとESP8266(ESP-WROOM-02)向けのライブラリとサンプルを用意してくれているのは素晴らしいです。蓄積したデータをCSVでエクスポートすることも可能です。実際にThingSpeakとそのライブラリを使ってESP-WROOM-02向けに開発する方法は、以下の記事が大変参考になります。Wifi温度湿度計の製作(10)以下の内容は、上記の記事とほぼ同じようなことをやっているだけです。ThingSpeakの登録およびチャンネル作成の基本的な方法は上記記事のとおりですので、省略します。以下が実際に作成したチャンネルです。三つのフィールドを設定していて、一つ目はサーミスタ温度、二つ目はGrid-EYEの8×8ピクセルの内の1〜32番まで、三つ目はその33番〜64番までという形にしています。ThingSpeakでは一つのチャンネルにアップロードできる値の種類(フィールド)は八つと決まっているので、8×8の一つずつに個別のフィールドを割り当てることはできません。...”のように32個分のデータをコロン区切りで連結した文字列の形にして、1〜32番分と33〜64番分の二つのフィールドに格納しています。後でデータを分析するときには、これをプログラム側でコロンでスプリットするイメージです。ちなみにフィールドを一つではなくわざわざ二つに分けている理由は、一つだと文字列が長くなり過ぎる為か、うまくアップロードできなかったためです。ESP-WROOM-02側のソースコードは以下のようになります。先ほどご紹介した記事の内容をベースにしていますが、元のソースからかなり簡略化してしまっています。スリープ制御やら再送処理やらをしっかり入れ込みたい方は、是非元記事の方をご参照ください。delay(60000);}これでとりあえずクラウド側にデータをアップロードすることができるようになりました。一分間隔で上げたデータをCSVでエクスポートすると、以下のような感じになります。いうことで、一応無事にクラウド側にデータを保存していくことはできるようになりました。最後に、これを可視化するプログラムを書いて終わりにしようと思います。MUDAなことをしよう。いうことで、ようやく一区切り(?)ついたので、前回やり残していたことを片付けてしまいたいと思います。コメントをキャンセルメールアドレスが公開されることはありません。hidaka_hirojiAmazonほしいものリストこちら自身の工作用に使いたいものがメインですが、必ずしも工作に使うわけではないのでご了承ください。MUDAなことをしよう。