Mbed OSは、小さなフットプリント内でIoTスタックとして設計されています。Mbed OS環境で作業する際、デバイスから多くの情報を収集できます。収集したデータは、Pelion IoTプラットフォームの一部としてデータ管理を実行するTreasure Data Serviceに配信できます。
Mbed OSとTreasure Dataを使用したIoT実装を最適にサポートするアーキテクチャを決定する必要があります。以下の図は、典型的なアーキテクチャの例を示しています。

この記事では、サンプルプログラムを使用して、MbedデバイスをHTTP経由で直接Treasure DataにWifi接続する方法を説明します。
プロジェクトページはこちらです: https://os.mbed.com/users/JunkoNakajima/code/mbed-os-example-td-rest-online-compiler/
このプログラムは、STM32L475でテストされています。
Treasure Data アカウント (IoT Platformに関心がある場合はお問い合わせください)
Mbed アカウント - (アカウントをお持ちでない場合はサインアップしてください)
Mbed OS デバイス (例: STM32L475)

サンプルプロジェクトを構築しましょう。
まず、Online Compilerでデバイスを選択します。Pelion Device Managementポータルにアクセスし、「Compiler」をクリックします。ワークスペースで、no device selected (初期状態)をクリックし、次に「Add Board」をクリックします。

この例では、ウィンドウで「STM32L475」を検索します。以下のボードが表示されます。次に、「Add to your Mbed Compiler」をクリックします。https://os.mbed.com/platforms/ST-Discovery-L475E-IOT01A/
これで、オンラインコンパイラでボードをプラットフォームとして選択できます。

サンプルプロジェクトをワークスペースにインポートします。以下の画像に示すように、Mbed OS exampleページにアクセスし、Import into Compilerをクリックします。プログラムがオンラインコンパイラにインポートされます。
https://os.mbed.com/users/JunkoNakajima/code/mbed-os-example-td-rest-online-compiler/

次の3つのパラメータを設定する必要があります:
- wifi-ssid
- wifi-password
- api-key
インポートされたファイルの1つであるmbed_app.jsonファイルでパラメータを設定します。
wifi-ssid: お使いのWifi SSID
wifi-password: お使いのWifiパスワード
api-key: お使いのTreasure Data アカウント

main.cppのTreasureData_RESTAPI関数でDatabaseとTableを編集します。

Mbed OSデバイスが(WIFI経由で)PCに接続されていることを確認します。接続にはSTLINKコネクタを使用します。
アプリケーションをコンパイルし、.binファイルをターゲットボード(以前にプラットフォームとして選択したボード)にコピーします。
アプリケーションを起動するには、回路基板上のリセットボタンを押します。

Mbed OSデバイスから配信されたレコードがTreasure Dataに表示されます。
