Arduino & IoT Academy · レッスン

センサー値をPOSTする

データをバックエンドのエンドポイントに送信します。

レッスン 2/413 ステップ

「センサー値をPOSTする」はCoddyKit上の無料Arduino & IoT Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはArduino & IoT Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Arduino & IoT Academyコースには全4レッスンが含まれています。

今度はデータを送信する

GETはデータを取得します。センサーの測定値をサーバーへ送信するには、代わりにPOSTリクエストを使います。📤

GETとPOSTの違い

GETはデータを要求します。一方POSTは、何か新しいものを作成または保存するために、データ本体をサーバーへ送信します。

GETと同じ準備

HTTPClientを作成し、エンドポイントURLを指定してbegin()を呼び出す点は同じです。POSTでは送信する手順だけが変わります。

HTTPClient http;
http.begin("http://api.example.com/readings");

ペイロードを作成する

何を送信するか決めます。測定値を格納した小さなJSON文字列は、データをまとめる標準的で扱いやすい方法です。

String body = "{\"temp\":24.5}";

データの種類をサーバーに伝える

Content-Typeヘッダーを設定し、本文がJSONであることをサーバーに伝えます。これがないと、サーバーがデータを正しく解釈できない場合があります。

http.addHeader("Content-Type", "application/json");

POSTで送信する

POST()を呼び出して本文を渡します。GETと同じようにステータスコードが返るため、処理が成功したか確認できます。

int code = http.POST(body);

保存されたことを確認する

200または201は、サーバーがデータを受け付けたことを意味します。特に201は、新しいレコードが作成されたことを示します。

if (code == 200 || code == 201) {
  // stored
}

返信があれば読む

サーバーはPOSTに対しても、IDや確認メッセージなどを返すことがあります。必要であればgetString()で読み取ります。

String reply = http.getString();

接続を閉じる

いつものように、POSTの後でend()を呼び出して接続を解放します。これでボードを次の送信に備えた健全な状態に保てます。

http.end();

スケジュールに従って送信する

通常、ループのたびにPOSTすることはありません。センサーを読み取り、数秒または数分に1回uploadして、電力と帯域幅を節約します。

サーバーの形式に合わせる

サーバーは特定のformatでフィールドが渡されることを想定しています。JSONのキーや型が間違っていると、測定値は拒否されます。

クイックチェック

バックエンドにJSON本文を送信しています。どのリクエストメソッドが適していますか?

まとめ

測定値をJSONにまとめ、Content-Typeヘッダーを設定し、POST()で送信して、コードを確認した後に接続を閉じました。データはクラウドに保存されています。🎉

無料で開始

AI チューターと学ぶ C++ — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「センサー値をPOSTする」レッスンは無料ですか?

はい。「センサー値をPOSTする」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Arduino & IoT Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Arduino & IoT Academyコースには全4レッスンが含まれています。

「センサー値をPOSTする」で何を学びますか?

データをバックエンドのエンドポイントに送信します。 ブラウザで直接実行するハンズオンコードでArduino & IoT Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Arduino & IoT Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのArduino & IoT Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「センサー値をPOSTする」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このArduino & IoT Academyレッスンでコードを書いて実行できますか?

はい。すべてのArduino & IoT Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. APIからGETデータを取得する
  2. センサー値をPOSTする
  3. JSONレスポンスを解析する
  4. HTTPSを安全に使う
← Arduino & IoT Academyに戻る