ここでは、Particle Photon または Electron デバイスを使用して Ubidots にデータを送信する方法を学びます。必要なのは、Ubidots の有効な TOKEN とともに送信する変数ラベルと値だけです。さらに、Ubidots アカウントから変数の最後の値を取得できます。
このライブラリは、デフォルトで新しいデータ ソースを作成します。このデータ ソースの名前はデフォルトで「Particle」となり、そのラベルはパーティクル ID になります。
デフォルトの方式は TCP です。変更する場合は、機能セクションに移動して例に従ってください。
Particle Mesh IoT プロトコルの非推奨の発表後、Particle はメッシュ ユニットを生成しなくなったため、Ubidots はこのライブラリでのデフォルトのサポートを停止することを決定しました。プロジェクトでメッシュ IoT プロトコルをライブラリと組み合わせて使用する必要がある場合は、このライブラリのバージョン v3.1.4 を使用して Particle CLI を介してプロジェクトをコンパイルしてください。
Ubidots(char* token, UbiServer server, IotProtocol iot_protocol)
UBI_INDUSTRIAL
]、[デフォルト] = UBI_INDUSTRIAL
。UBI_HTTP
、 UBI_TCP
、 UBI_UDP
、 UBI_PARTICLE
]、[デフォルト] = UBI_TCP
。データの送信または取得に使用する IoT プロトコル。Ubidots インスタンスを作成します。
注意事項
UBI_PARTICLE
Webhook を使用してデータを送信するため、ここで Webhook を適切に設定する手順に従ってください。 void add(char *variable_label, float value, char *context, unsigned long dot_timestamp_seconds, unsigned int dot_timestamp_millis)
add() を使用すると、特定のデータ ソースに送信される関連する値、コンテキスト、およびタイムスタンプを含むドットを追加します。
重要:ペイロードの最大長は 700 バイトです。ペイロードがそれより大きい場合、正しく送信されません。 setDebug(bool debug)
メソッドを呼び出して true 値を渡すと、送信するペイロードをシリアル コンソールで確認できます。
float get(const char* device_label, const char* variable_label)
変数からのドットの最後の値を float として返します。 IoTプロトコル getCloudProtocol()
std::map<int, float> tcpMap getMultipleValues(const char* deviceLabel, const char* variableLabels)
指定された変数ラベルに対して取得された値を含む順序付きマップ リストを返します。値には、位置 0 から始まるインデックスによってアクセスでき、カンマ区切りの配列内のすべての変数ラベル セットにマップされます。
void addContext(char *key_label, char *key_value)
新しいキーと値のコンテキスト キーをローカル メモリに追加します。メソッドの入力は char ポインターである必要があります。このメソッドでは、最大 10 個のキーと値のペアを保存できます。
void getContext(char *context)
選択したプロトコルに従ってコンテキストを構築し、それをコンテキスト文字ポインタに格納します。
void setDebug(bool debug);;
シリアル ポート経由でデバッグ メッセージを利用できるようにします。
bool send(const char* device_label, const char* device_name, PublishFlags flags);
PUBLIC
、 PRIVATE
、 WITH_ACK
、 NO_ACK
]。パーティクル Webhook フラグ。add() メソッドを使用して追加されたすべてのデータを送信します。データが送信された場合は true を返します。
IotProtocol getCloudProtocol();
メッシュ ゲートウェイからデータを送信するために使用される実際のクラウド プロトコルを取得します。
サンプルフォルダーを参照してください