Arduino UNO+ESP-WROOM-02(ATコマンドモード)でAmbient
Ambientは、簡便なシステム構成で環境データを送信、蓄積、可視化(グラフ化)を可能にするアンビエントデーター株式会社が提供するサービスです。
Ambientへデータ送信するためのハードウェア、ソフトウェアは、Obniz、IchigoJam、ESP-WROOM-02、ESP-WROOM-32などの様々な構成でのサンプルが用意されています。
ここでは、Arduino UNO+ESP-WROOM-02(ATコマンドモード)の(あまり一般的に選択しないであろう)構成での運用を構築します。 このハードウェア構成で運用するのに必要なスケッチを探したところ、1000円あったら電子工作 ThousanDIYの@tomorrow56氏がSpresenseボード向けに開発、販売されているWi-Fi add-on board for SPRESENSEボードがESP-WROOM-02をATコマンドモードで使用してAmbientへのデータ送出するサンプルコードを提供されているのを見つけました。
こちらのサンプルはSpresense+ESP-WROOM-02の構成用ですが、Arduino UNOで多少の修正は必要ながらコンパイルすることができました。
然しながら、Spresenseと比べてRAM容量が圧倒的に少ないために計測データをAmbientサーバーへの送出形式に変換するデータ領域が不足で、コンパイル時に警告が表示され、実際に動作が不安定(正しく動作しない)になります。
@tomorrow56氏のサンプルは、Ambientで提供されているライブラリとの親和性を主眼にSpresense向けに作成されてい(るものと思い)ますので、Arduino UNOのようなボードでの運用は難しそうです。
ということで、サンプルコードの借用は断念して、ESP-8266(ATコマンドモード)用に作られた「HttpClient_ESP8266_ATライブラリ」を使わせていただくことにしました。
qoosky / Arduino_HttpClient_ESP8266_AT
https://github.com/qoosky/Arduino_HttpClient_ESP8266_AT