Arduinoといえば誰もがマイコンボードやそのメーカーを想像するだろう。一方で、ArduinoはArduino Cloudと呼ばれるクラウドサービスも運営している。Arduino Cloudとは、デバイスから収集したデータを集約し、それを自動でグラフ表示するなど、使いこなせばとても便利なIoTクラウドサービスだ。
こういったIoTクラウドサービスを評価する際に大きな壁となるのが、そのクラウドサービスに接続するデバイスの用意だ。デバイスを購入しただけではIoTクラウドサービスを試すことができない。当然ながらArduino製品にセンサーなどを接続し、さらにスケッチ(プログラム)を開発して、初めてクラウドと連携できる。
こういった課題を解決するべく、Arduino Cloudでは、スマートフォンをIoTデバイスとして動作させることができ、手軽にクラウドサービスを試せる。今回は、その方法を紹介しよう。
Arduino Cloudとは何か
IoTクラウドサービスといってもサービス事業者によってその特徴は様々で一概にそれが何なのかを簡単に説明するのは難しいのだが、Arduino Cloudを簡単に説明すると、Arduinoや ESP32といったマイコンボードを接続して、デバイスの制御や情報収集を行うためのプラットフォームだ。
こう聞くと、ごくごく一般的なIoTクラウドサービスなのだが、Arduinoというブランドからどうしてもホビーや教育の延長なのではないかと感じる人も多いかもしれない。実際にそういった目的で使うこともあるだろうが、Arduino Cloudはプロフェッショナル向けを意識したクラウドサービスだ。有料ではあるが、デバイスのファームウエアをクラウドから書き換える機能(OTA:Over-The-Airと呼ばれる)、クラウドダッシュボードを複数のアカウントで共有する機能など、明らかに企業向けの機能を用意している。
Arduino やESP32といった基盤むき出しのマイコンボードを企業向けに使うイメージがわかないかもしれない。仮に使ったとしても、趣味のDIYのレベルにとどまるのではないかと感じるだろう。Arduinoは、プロフェッショナル向けにArduino PROと呼ばれる製品ブランドを立ち上げており、デバイスメーカー向けの製品やサービスを提供している。
近年ではPortentaと呼ばれる製品群も販売され、マイコンだけでなくLinuxが動作するシングルボードコンピューターのボードまで販売している。デバイスメーカーは、これらのボードを内蔵した最終製品を開発・販売することもできる。企業向けのソリューションは少量生産であることが多いので、ボードからクラウドまでArduinoの枠組みに乗っかるデバイスメーカーもいるだろう。
Arduino CloudのプランはFree、Entry、Maker、Maker plusの4つだ。無料なのはFreeプランのみだ。プランの詳細はArduino Cloudの公式サイトをご覧いただきたい。この記事では無料プランでできることのみを紹介するので安心してほしい。
Arduino Cloudは大きく2つのサービスに分けられる。一つはIoT Cloudというサービスだ。これはIoTデバイスの操作や情報収集を行うプラットフォームとしてのサービスだ。もう一つはWeb Editorというサービスだ。これはArduino UNOなどのデバイスに書き込むスケッチ(プログラム)を開発するクラウド環境だ。今回は前者のIoT Cloudを紹介する。
まずは、Arduino Cloudにサインアップしておこう。サインアップで料金を取られることはないので安心してほしい。
Arduino IoT Cloud Remote
Arduino IoT Cloudを試すには、もちろんデバイスが必要なのだが、簡単に用意することはできないだろう。Arduino Cloudを手っ取り早く試したいなら、スマートフォンアプリ「Arduino IoT Cloud Remote」を使うのがよいだろう。Arduino IoT Cloud Remoteは、Arduino Cloudに接続し、スマートフォンに内蔵された様々なセンサーを使って、あたかもIoTデバイスであるかのように振る舞う。
Arduino IoT Cloud Remoteをインストールして、Arduino Cloudのアカウントで初めてログインすると、「Create a dashboard first」と誘導される。PCからArduino Cloudにログインしてダッシュボードを作れと指示が出ているのだが、「use data from your phone」というリンクがある。今回はこのリンクをクリックして、スマートフォンをIoTデバイスにしてしまおう。
最初の画面で「use data from your phone」をクリックすると、「Set your phone as a device」と書かれた画面が表示されるが、ここでスマートフォンにビルトインされているセンサーの一覧が表示されている。筆者のスマートフォンはiPhone13 Proだが、加速度、気圧、照度、コンパス、GPS、ジャイロスコープ、磁気、マイクロホンが利用できるようだ。「SET YOUR PHONE」ボタンを押すと、有効になったセンサー情報が表示される。Freeプランではすべてのセンサーは利用できず、実際には加速度とGPSだけが有効になった。
そのままセットアップを完了すると、Arduino IoT Cloud Remoteには、IoTデバイスとして動作していることが分かる画面が表示される。
このままアプリは起動したままで、PCのArduino Cloudの画面に戻ろう。