Saya baru-baru ini membaca pertanyaan Quora tentang apakah CoAP atau MQTT lebih ringan, tetapi jawabannya tampaknya tidak terlalu memuaskan dan semua saling bertentangan: jawaban teratas mengatakan MQTT membutuhkan sumber daya yang lebih sedikit, dan yang lain di bawahnya mengatakan CoAP kurang menuntut.
Dari apa yang saya temukan, akan masuk akal bahwa CoAP akan lebih sedikit menuntut daripada MQTT , karena CoAP hanya membutuhkan UDP, dan pesan-pesannya terutama api-dan-lupa, tidak seperti MQTT yang berfungsi melalui TCP (dan karenanya akan jauh lebih banyak terlibat).
Protokol mana yang membutuhkan sumber daya paling sedikit untuk berfungsi?
Dari sumber daya, saya terutama memikirkan daya prosesor, RAM, dan data yang diperlukan untuk dikirim. Misalnya, dalam pertanyaan Quora yang ditautkan, jawaban teratas menunjukkan bahwa chip ESP8266 sederhana dapat menjalankan MQTT, yang hanya memiliki prosesor 80MHz dan RAM kurang dari 1MB. Saya ingin tahu apakah CoAP dapat berjalan pada sesuatu seperti ini, atau lingkungan yang bahkan lebih terbatas.
Jenis penggunaan yang saya bayangkan adalah di mana perangkat sebagian besar akan menerima data dari perangkat lain (misalnya perintah untuk menghidupkan / mematikan), tetapi mungkin perlu jarang (mungkin beberapa kali dalam satu jam) mengirim pembaruan dengan status perangkat . Saya ingin menggunakan daya pemrosesan sesedikit mungkin untuk mengurangi biaya perangkat, dan mengirimkan frekuensi yang relatif jarang untuk mengurangi penggunaan daya sebanyak mungkin.
sumber
Jawaban:
CoAP dan MQTT memiliki penggunaan RAM yang sama, diukur dalam 10kbits [1].
Perbedaan ada pada penggunaan cpu dan jaringan: [2]
Jadi, CoAP memiliki cetakan kaki lebih sedikit dan sesuai dengan seluruh kasus penggunaan (data kecil sesekali) tampaknya menjadi pilihan terbaik Anda.
Seperti yang Anda rujuk, CoAP menggunakan UDP. Itu tidak menjamin pengiriman data. Tetap tampil 'luar biasa' dalam kondisi lossy, sementara MQTT hanya 'bagus'. Jadi, saya tidak akan terlalu khawatir tentang itu.
Sumber:
[1] http://embedded-computing.com/articles/internet-things-requirements-protocols/
[2] http://www.altencalsoftlabs.com/blogs/2016/08/08/analyzing-mqtt-vs-coap/
sumber