
MQTT-C adalah klien MQTT v3.1.1 yang ditulis dalam C. MQTT adalah protokol pesan berbasis penerbit-subscriber ringan yang biasanya digunakan dalam aplikasi IoT dan jaringan di mana tautan latensi tinggi dan tingkat data rendah diharapkan. Tujuan MQTT-C adalah untuk menyediakan klien MQTT portabel , yang ditulis dalam C , untuk sistem tertanam dan PC yang sama. MQTT-C melakukan ini dengan menyediakan platform transparan Lapisan Abstraksi (PAL) yang membuat porting ke platform baru menjadi mudah. MQTT-C sepenuhnya aman-aman tetapi juga dapat berjalan dengan baik pada sistem utas tunggal yang membuat MQTT-C cocok untuk sistem tertanam dan mikrokontroler. Akhirnya, MQTT-C kecil; Hanya ada dua file sumber yang berjumlah kurang dari 2000 baris.
Senang sekali mendengar tentang semua tempat MQTT-C sedang digunakan! Tolong jangan ragu untuk menghubungi saya atau mengirimkan masalah di GitHub!
Untuk menggunakan mqtt-c Anda pertama-tama instantiate struct mqtt_client dan inisialisasi dengan menelepon @ref mqtt_init.
struct mqtt_client client ; /* instantiate the client */
mqtt_init ( & client , ...); /* initialize the client */Setelah klien Anda diinisialisasi, Anda perlu terhubung ke broker MQTT.
mqtt_connect ( & client , ...); /* send a connection request to the broker. */Pada titik ini klien siap digunakan! Misalnya, kita dapat berlangganan topik seperti itu:
/* subscribe to "toaster/temperature" with a max QoS level of 0 */
mqtt_subscribe ( & client , "toaster/temperature" , 0 );Dan kita dapat menerbitkan topik seperti itu:
/* publish coffee temperature with a QoS level of 1 */
int temperature = 67 ;
mqtt_publish ( & client , "coffee/temperature" , & temperature , sizeof ( int ), MQTT_PUBLISH_QOS_1 );Itu adalah dasar -dasarnya! Dari sini contoh dan dokumentasi API adalah tempat yang baik untuk memulai.
Hanya ada dua file sumber yang perlu dibangun, mqtt.c dan mqtt_pal.c . File -file ini kompatibel dengan ANSI C (C89), dan harus dikompilasi dengan kompiler C apa pun.
Kemudian, cukup #include <mqtt.h> .
Atau, Anda dapat membangun mqtt-c dengan cmake atau makefile yang disediakan. Ini disediakan untuk kenyamanan.
Dokumentasi pra-dibangun dapat ditemukan di sini: https://liambindle.ca/mqtt-c. Pastikan untuk memeriksa contoh -contohnya juga.
Dokumentasi API @Ref berisi semua pemrogram aplikasi dokumentasi yang dibutuhkan. Dokumentasi @Ref PAL berisi semua yang Anda perlukan untuk port MQTT-C ke platform baru, dan modul lain berisi dokumentasi untuk pengembang MQTT-C.
Uji unit MQTT-C menggunakan kerangka pengujian unit CMOCKA. Oleh karena itu, cmocka harus dipasang di mesin Anda untuk membangun dan menjalankan tes unit. Untuk kenyamanan, "makefile" sederhana disertakan untuk membangun tes unit dan contoh pada mesin seperti unix. Tes dan contoh unit dapat dibangun sebagai berikut:
$ make all Tes dan contoh unit akan dibangun di direktori "bin/" . Tes unit dapat dijalankan seperti itu:
$ ./bin/tests [address [port]]Perhatikan bahwa alamat C dan argumen port C keduanya opsional untuk menentukan lokasi broker MQTT yang akan digunakan untuk pengujian. Jika tidak ada alamat C maka server uji Mosquitto MQTT akan digunakan. Jika tidak ada port C, port 1883 akan digunakan.
MQTT-C menyediakan lapisan abstraksi platform transparan (PAL) di mqtt_pal.h dan mqtt_pal.c . File-file ini mendeklarasikan dan mengimplementasikan jenis dan panggilan yang dibutuhkan MQTT-C. Lihat @Ref Pal untuk dokumentasi lengkap PAL.
Silakan mengirimkan masalah dan permintaan menarik di sini. Saat mengirimkan permintaan pull-plequest, harap pastikan Anda telah mendokumentasikan perubahan Anda sepenuhnya dan menambahkan tes unit yang sesuai.
Proyek ini dilisensikan di bawah lisensi MIT. Lihat file "LICENSE" untuk lebih jelasnya.
MQTT-C awalnya dikembangkan sebagai proyek akhir CMPT 434 (Musim Dingin, 2018) di University of Saskatchewan oleh: