Demo otentikasi timbal balik CoreHTTP - FreeRTOS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Demo otentikasi timbal balik CoreHTTP

penting

Ini adalah versi arsip dari Panduan Pengguna FreerTOS untuk digunakan dengan rilis FreerTOS 202012.00. Untuk versi terbaru dari dokumen ini, lihat Panduan Pengguna FreeRTOS.

Pengantar

Proyek demo CoreHTTP (Mutual Authentication) menunjukkan kepada Anda cara membuat koneksi ke server HTTP menggunakan TLS dengan otentikasi timbal balik antara klien dan server. Demo ini menggunakan implementasi antarmuka transport berbasis MBEDTLS untuk membuat koneksi TLS yang diautentikasi server dan klien, dan menunjukkan alur kerja respons permintaan di HTTP.

catatan

Untuk mengatur dan menjalankan demo FreeRTOS, ikuti langkah-langkahnya. Memulai dengan FreeRTOS

Fungsionalitas

Demo ini membuat tugas aplikasi tunggal dengan contoh yang menunjukkan cara menyelesaikan yang berikut:

  • Connect ke server HTTP pada AWS IoT endpoint.

  • Kirim permintaan POST.

  • Menerima tanggapannya.

  • Putuskan sambungan dari server.

Setelah Anda menyelesaikan langkah-langkah ini, demo menghasilkan output yang mirip dengan tangkapan layar berikut.

Console output showing SDK initialization, network setup, and successful demo completion.

AWS IoT Konsol menghasilkan output yang mirip dengan tangkapan layar berikut.

AWS IoT console interface showing a publish message field and output display area.

Organisasi kode sumber

File sumber demo diberi nama http_demo_mutual_auth.c dan dapat ditemukan di freertos/demos/coreHTTP/ direktori dan di GitHubsitus web.

Menghubungkan ke server AWS IoT HTTP

connectToServerWithBackoffRetriesFungsi ini mencoba untuk membuat koneksi TLS yang saling diautentikasi ke server HTTP. AWS IoT Jika koneksi gagal, ia mencoba lagi setelah batas waktu. Nilai batas waktu meningkat secara eksponensial hingga jumlah upaya maksimum tercapai atau nilai batas waktu maksimum tercapai. RetryUtils_BackoffAndSleepFungsi ini memberikan nilai batas waktu yang meningkat secara eksponensial dan pengembalian RetryUtilsRetriesExhausted ketika jumlah maksimum upaya telah tercapai. connectToServerWithBackoffRetriesFungsi mengembalikan status kegagalan jika koneksi TLS ke broker tidak dapat dibuat setelah jumlah upaya yang dikonfigurasi.

Mengirim permintaan HTTP dan menerima respons

Fungsi prvSendHttpRequest menunjukkan cara mengirim permintaan POST ke server AWS IoT HTTP. Untuk informasi selengkapnya tentang membuat permintaan ke REST API AWS IoT, lihat Protokol komunikasi perangkat - HTTPS. Respons diterima dengan panggilan API CoreHTTP yang sama,. HTTPClient_Send