View a markdown version of this page

Perpustakaan CoreMQTT - FreeRTOS

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

Perpustakaan CoreMQTT

catatan

Konten di halaman ini mungkin tidak up-to-date. Silakan merujuk ke halaman perpustakaan Freertos.org untuk pembaruan terbaru.

Pengantar

Pustaka CoreMQTT adalah implementasi klien dari standar MQTT (Message Queue Telemetry Transport). Standar MQTT menyediakan protokol pesan ringan publish/subscribe (atau PubSub) yang berjalan di atas TCP/IP dan sering digunakan dalam kasus penggunaan Machine to Machine (M2M) dan Internet of Things (IoT).

Pustaka CoreMQTT sesuai dengan standar protokol MQTT 3.1.1. Pustaka ini telah dioptimalkan untuk footprint memori yang rendah. Desain perpustakaan ini mencakup kasus penggunaan yang berbeda, mulai dari platform terbatas sumber daya yang hanya menggunakan pesan QoS 0 MQTT PUBLISH hingga platform kaya sumber daya menggunakan QoS 2 MQTT PUBLISH melalui koneksi TLS (Transport Layer Security). Library menyediakan menu fungsi composable, yang dapat dipilih dan digabungkan agar sesuai dengan kebutuhan kasus penggunaan tertentu.

Perpustakaan ditulis dalam C dan dirancang agar sesuai dengan ISO C90 dan MISRA C: 2012. Pustaka MQTT ini tidak memiliki dependensi pada pustaka tambahan apa pun kecuali untuk yang berikut ini:

  • Pustaka C standar

  • Antarmuka transportasi jaringan yang diimplementasikan pelanggan

  • (Opsional) Fungsi waktu platform yang diterapkan pengguna

Perpustakaan dipisahkan dari driver jaringan yang mendasarinya melalui penyediaan spesifikasi antarmuka transportasi kirim dan terima yang sederhana. Penulis aplikasi dapat memilih antarmuka transportasi yang ada, atau mengimplementasikannya sendiri yang sesuai untuk aplikasi mereka.

Pustaka menyediakan API tingkat tinggi untuk terhubung ke broker MQTT, subscribe/unsubscribe ke topik, mempublikasikan pesan ke topik, dan menerima pesan masuk. API ini mengambil antarmuka transport yang dijelaskan di atas sebagai parameter dan menggunakannya untuk mengirim dan menerima pesan ke dan dari broker MQTT.

Pustaka juga mengekspos serializer/deserializer API tingkat rendah. API ini dapat digunakan untuk membangun aplikasi IoT sederhana yang hanya terdiri dari subset fungsionalitas MQTT yang diperlukan, tanpa overhead lainnya. serializer/deserializer API dapat digunakan bersama dengan API lapisan transport yang tersedia, seperti soket, untuk mengirim dan menerima pesan ke dan dari broker.

Saat menggunakan koneksi MQTT dalam aplikasi IoT, kami menyarankan Anda menggunakan antarmuka transport yang aman, seperti yang menggunakan protokol TLS.

Pustaka MQTT ini tidak memiliki dependensi platform, seperti threading atau sinkronisasi. Pustaka ini memang memiliki bukti yang menunjukkan penggunaan memori yang aman dan tidak ada alokasi heap, yang membuatnya cocok untuk mikrokontroler IoT, tetapi juga sepenuhnya portabel ke platform lain. Ini dapat digunakan secara bebas, dan didistribusikan di bawah lisensi open source MIT.

Ukuran Kode CoreMQTT (contoh yang dihasilkan dengan GCC untuk ARM Cortex-M)
File Dengan Optimasi -O1 Dengan Optimasi -Os
core_mqtt.c 4.0K 3.4K
core_mqtt_state.c 1.7K 1.3K
core_mqtt_serializer.c 2.8K 2.2K
Total perkiraan 8.5K 6.9K