読者です 読者をやめる 読者になる 読者になる

mbed Device Connectorへデータを送ってみる

mbed FRDM-K64Fを使ってmbed Device Connectorを試しました。

f:id:mia_0032:20170221111232p:plain

今回は公式で公開されているサンプルを動かしてみました。

github.com

ビルド手順

1. import します。

$ mbed import mbed-os-example-client
$ cd mbed-os-example-client

2. Ethernetをつかってネットワークに接続するように設定します。

$ cat << EOS > configs/mbed_app.json
"network-interface": {
    "help": "options are ETHERNET,WIFI,MESH_LOWPAN_ND,MESH_THREAD.",
    "value": "ETHERNET"
}
EOS

3. 認証情報の設定

https://connector.mbed.com/#credentials から取得した認証情報で security.h を上書きします。

4. mbedへ書き込み

$ mbed compile --toolchain GCC_ARM --target K64F
$ cp .build/K64F/GCC_ARM/mbed-os-example-client.bin /Volumes/MBED

書き込みが終わったらresetボタンを押して、プログラムを実行します。

動作の確認

バイスが認識されているかの確認

https://connector.mbed.com/#homeで確認すると、デバイスが1つぶら下がっていることとデータが送られていることがわかります。

f:id:mia_0032:20170221105728p:plain

https://connector.mbed.com/#endpointsからはデバイスのendpointに使われる名前(secure.hに記載されているMBED_ENDPOINT_NAMEの値)を確認することができます。

f:id:mia_0032:20170221105350p:plain

データの確認

https://connector.mbed.com/#consoleから送られているデータのサンプルを見ることができます。

SW2を押した回数が3200/0/5501へ送られているようなので以下のように設定します。

f:id:mia_0032:20170221111944p:plain

TEST API ボタンを押すと以下のような結果が返ってきます。

f:id:mia_0032:20170221112238p:plain

payloadというキーに送信されたデータがBase64エンコードされた状態で入っています。 その下にBase64 decoded payloadというのが表示されており、これがデコードされた結果です。 ここでは35という値がスイッチを押した回数になります。