Pertama-tama, Anda melakukan sesuatu yang SANGAT benar yang tidak dilakukan oleh banyak perancang dan pengguna IoT: Anda mempertimbangkan fakta bahwa operasi harus dapat diandalkan dan dibatasi oleh latensi. Tidak semua orang melakukan hal itu, dan itu sebabnya banyak perangkat IOT benar-benar buruk.
Pilihan standar antara 802.11 b / g / n tidak akan terlalu memengaruhi latensi Anda. Saya berasumsi kita sedang membatasi latensi <10 ms, karena semua hal tentang itu "hanya akan bekerja pada 99,5% kasus menggunakan perangkat keras WiFi yang baik".
Jika Anda berada dalam skenario terikat latensi, Anda tentu tidak akan melakukannya
- gunakan TCP (dan karenanya, MQTT, yang membangun di atasnya)
- menggunakan perangkat yang mengemulasi tautan serial lambat - jika paket Anda katakanlah 4 karakter, dan Anda memiliki 9600 baud, maka Anda akan menghabiskan milidetik hanya untuk mendapatkan data dari μC ke perangkat WiFi
- gunakan WiFi, karena tidak ada jaminan stasiun Anda akan dapat mengirim dalam jendela waktu yang terbatas, sama sekali (hanya kemungkinan)
Jika Anda membutuhkan keandalan, di sisi lain, Anda tidak boleh melakukannya
- gunakan UDP murni (karena tidak ada jaminan atau umpan balik bahwa paket mencapai tujuan mereka)
- menggunakan protokol radio satu arah murni (alasan yang sama)
- menggunakan ESP8266, yang mengambil keuntungan harga karena kurangnya pengujian, desain dan sertifikasi untuk operasi dengan keandalan tinggi (dan dengan demikian, tidak ada produsen elektronik besar yang akan menggunakannya tanpa melakukan pengujian itu sendiri, dalam hal ini modul siap pakai dari produsen yang dapat dipercaya biasanya menjadi lebih murah)
Jadi, pertama-tama, tentukan apa persyaratan latensi Anda, dan persyaratan keandalan Anda. Anda harus memiliki selembar kertas yang bertuliskan
Latensi untuk {satu | dua} -jalan komunikasi harus <{maks latensi} dalam {persentase yang dapat diterima}% dari kasus. Tidak boleh ada probabilitas lebih dari {persentase lumayan}% kehilangan satu paket.
Kemudian, Anda dapat melihat batas teoretis sistem, dan kemudian melihat batas praktis implementasi dari mereka yang cocok dengan itu.