MQTTÐÒéºÍHTTPÐÒéµÄÇø±ð
ÔÚÎïÁªÍø(IoT)µÄÊÀ½çÖУ¬É豸֮¼äµÄͨѶÐÒéÊǹ¹³ÉÖÇÄÜϵͳµÄ»ùʯ¡£ÏûÏ¢¶ÓÁÐÒ£²â´«ÊäÐÒé(Message Queuing Telemetry Transport£¬¼ò³ÆMQTT)ºÍ³¬Îı¾´«ÊäÐÒé(Hyper Text Transfer Protocol£¬¼ò³ÆHTTP)ÊÇ×î³£ÓõÄÁ½ÖÖÐÒé¡£
MQTTÐÒé¸ÅÊö
MQTTÊÇÒ»¸ö»ùÓÚ·¢²¼/¶©ÔÄģʽµÄÏûÏ¢ÐÒ飬ËüÉè¼ÆÓÃÓÚÇáÁ¿¼¶µÄ¡¢´ø¿íÓÐÏ޵Ļ·¾³Ï¡£ÔÚÕâһģʽÖУ¬·þÎñÆ÷³äµ±¡°´úÀí¡±µÄ½ÇÉ«£¬¿Í»§¶Ë¿ÉÒÔ¶©ÔÄ»ò·¢²¼µ½Ìض¨µÄÖ÷Ìâ¡£MQTTµÄÉè¼ÆÄ¿±êÊÇʵÏÖÇáÁ¿¼¶µÄͨÐź͵͹¦ºÄ£¬ÌرðÊÊÓÃÓÚÔ¶³ÌÁ¬½ÓÉ豸¡¢´ø¿íÓÐÏ޵ij¡¾°¡¢»òÐèÒª±£³Ö³¤Ê±¼äÁ¬½Óµ«Í¨ÐÅ´ÎÊý½ÏÉÙµÄÓ¦Óû·¾³¡£

MQTTµÄÖ÷ÒªÌØµã
- ÇáÁ¿¼¶ºÍ¸ßЧ: MQTTÏûÏ¢·Ç³£Ð¡£¬ÐÒ鿪ÏúµÍ¡£
- Ö§³Ö²»Îȶ¨µÄÍøÂç: MQTTÌṩÁ˶àÖÖ·þÎñÖÊÁ¿¼¶±ð£¬È·±£ÔÚÍøÂç²»Îȶ¨Ê±ÏûÏ¢Ò²Äܿɿ¿´«µÝ¡£
- µÍÑÓ³Ù: ͨÐŹý³ÌÖеÄÑÓ³ÙºÜС£¬Êʺ϶ÔʵʱÐÔÒªÇó½Ï¸ßµÄ³¡¾°¡£
- Ö§³ÖÀëÏßÏûÏ¢: MQTT¿ÉÒÔ±£´æ¿Í»§¶ËµÄÀëÏßÏûÏ¢Ö±µ½ËüÃÇÖØÐÂÁ¬½Ó¡£
HTTPÐÒé¸ÅÊö
HTTPÐÒéÊÇÒ»ÖÖÓÃÓÚ·Ö²¼Ê½¡¢Ð×÷ÐԺͳ¬Ã½ÌåÐÅϢϵͳµÄÓ¦ÓòãÐÒé¡£ËüÊÇWebͨÐŵĻù´¡¡£HTTPÐÒé²ÉÓÃÇëÇó/ÏìӦģÐÍ£¬ÔÚ¿Í»§¶Ë·¢³öÇëÇóºó£¬·þÎñÆ÷·µ»ØÏìÓ¦¡£ÕâÖÖÐÒéÊÊÓÃÓÚÎĵµºÍ×ÊÔ´µÄ´«Êä£¬ÌØ±ðÊÇÔÚWebä¯ÀÀÆ÷ºÍWeb·þÎñÆ÷Ö®¼ä¡£
HTTPµÄÖ÷ÒªÌØµã
- ³ÉÊìÎȹÌ: HTTPÊÇ»¥ÁªÍøÉÏʹÓÃ×î¹ã·ºµÄÐÒéÖ®Ò»£¬ÓдóÁ¿µÄ¹¤¾ßºÍ¿âÖ§³Ö¡£
- ÎÞ״̬: ĬÈÏÇé¿öÏ£¬HTTPÊÇÎÞ״̬µÄ£¬Ã¿´ÎÇëÇóÖ®¼ä¶¼ÊǶÀÁ¢µÄ£¬²»»á±£Áô֮ǰµÄ״̬¡£
- Áé»îÇ¿´ó: HTTPÖ§³Ö¸÷ÖÖÀàÐ͵ÄýÌ壬»¹Óз½·¨ÈçGET¡¢POSTµÈÓÃÓÚ²»Í¬µÄ²Ù×÷¡£
- »ùÓÚÎı¾: HTTPÊÇ»ùÓÚÎı¾µÄ£¬±ãÓڲ鿴ºÍµ÷ÊÔ¡£
MQTTÓëHTTPµÄÇø±ð
ÔڱȽÏMQTTºÍHTTPʱ£¬mkÌåÓýÖ÷Òª¹Ø×¢ÒÔϼ¸¸ö·½Ã棺
1. ͨÐÅģʽ
- MQTT ʹÓ÷¢²¼/¶©ÔÄģʽ£¬ÕâÒâζ×ÅÒ»´Î·¢²¼¿ÉÒÔ±»¶à¸ö¶©ÔÄÕß½ÓÊÕ£¬ÊʺÏÒ»¶Ô¶àµÄͨÐų¡¾°¡£
- HTTP ʹÓÃÇëÇó/ÏìӦģʽ£¬ÊÇÒ»ÖÖµã¶ÔµãµÄͨÐÅ·½Ê½£¬Ã¿¸öÇëÇóÖ»ÓÐÒ»¸öÏìÓ¦£¬ÊʺϿͻ§¶ËºÍ·þÎñÆ÷Ö®¼äÒ»¶ÔÒ»µÄ½»»¥¡£
2. ´«ÊäЧÂÊ
- MQTT ÔÚÉè¼ÆÊ±×¢ÖØ×îС»¯ÍøÂç´ø¿íµÄʹÓã¬ÏûÏ¢Ìå»ýС£¬ÐÒ鿪ÏúС¡£
- HTTP Ïà±ÈÓÚMQTT£¬Ã¿´ÎͨÐŶ¼ÐèÒª´«ÊäHTTPÍ·£¬Óиü´óµÄÊý¾Ý°üºÍÐÒ鿪Ïú¡£
3. ·þÎñÖÊÁ¿(QoS)
- MQTT ÌṩÈýÖÖ·þÎñÖÊÁ¿µÈ¼¶£¬ÊÊÓ¦²»Í¬ÍøÂçÌõ¼þϵÄÏûÏ¢´«µÝ¡£
- QoS 0£º×î¶à·Ö·¢Ò»´Î£¬¾¡×î´óŬÁ¦£¬²»È·ÈÏÊÇ·ñËÍ´ï¡£
- QoS 1£ºÖÁÉÙ·Ö·¢Ò»´Î£¬È·±£ÏûÏ¢µ½´ï£¬µ«¿ÉÄÜÓÐÖØ¸´¡£
- QoS 2£º½ö·Ö·¢Ò»´Î£¬È·±£ÏûÏ¢µ½´ïÇÒÖ»ÓÐÒ»´Î£¬±ÜÃâÖØ¸´¡£
- HTTP È·±£ÏûÏ¢´«µÝ³É¹¦×´Ì¬ÊÇͨ¹ý״̬ÂëÀ´ÌåÏֵģ¬Ã»ÓÐMQTTÕâÑùµÄ¶à¼¶·þÎñÖÊÁ¿¸ÅÄî¡£
4. ÍøÂç¿É¿¿ÐÔ
- MQTT ±»Éè¼ÆÀ´ÊÊÓ¦²»Îȶ¨µÄÍøÂç»·¾³£¬Äܹ»ÈÝÈÌλÓÚÒÆ¶¯ÍøÂçºÍÔ¶³Ì³¡ËùµÄÉ豸µÄ¼äЪÐÔÁ¬½Ó¡£
- HTTP ¸üÊÊÓÃÓÚÎȶ¨µÄÍøÂç»·¾³£¬¶ÔÍøÂçµÄÎȶ¨ÐÔÒªÇó¸ü¸ß¡£
5. °²È«ÐÔ
- MQTT ºÍ HTTP ¶¼Ö§³Öͨ¹ýTLS/SSL¼ÓÃÜ´«ÊäÊý¾Ý£¬È·±£Í¨Ñ¶°²È«¡£
6. »á»°×´Ì¬
- MQTT Äܹ»Î¬»¤É豸µÄ»á»°×´Ì¬£¬¼´Ê¹Á¬½Ó¶Ï¿ª£¬ÈÔÈ»Äܱ£Áô»á»°ÐÅÏ¢£¬Ò»µ©ÖØÁ¬¾Í¿ÉÒÔ¼ÌÐøÍ¨Ñ¶¡£
- HTTP ÊÇÎÞ״̬µÄÐÒ飬ͨ³£²»Î¬»¤»á»°×´Ì¬£¬Ã¿´ÎÁ¬½Ó¶¼ÊǶÀÁ¢µÄ¡£

ÊÊÓó¡¾°±È½Ï
´ÓÉÏÃæµÄ±È½ÏÖУ¬mkÌåÓý¿ÉÒÔ×ܽá³öMQTTºÍHTTPÊÊÓõIJ»Í¬³¡¾°£º
MQTTÊÊÓó¡¾°
- ÎïÁªÍøÉ豸: ¶ÔÓÚÐèҪƵ·±½»»»Ð¡Á¿Êý¾ÝµÄÎïÁªÍøÉ豸£¬MQTTÊǸüºÃµÄÑ¡Ôñ¡£
- ²»Îȶ¨ÍøÂç»·¾³: ÐèÒªÔÚÍøÂçÐźÅÈõ»ò¾³£ÖжϵĻ·¾³Öй¤×÷¡£
- ʵʱͨÐÅ: ¶ÔÓÚÐèÒªµÍÑÓ³ÙºÍʵʱ½»»¥µÄϵͳ¡£
- ÄÜÔ´ÊÜÏÞÉ豸: ¶ÔÓÚµçÁ¦ÓÐÏÞµÄÉ豸£¬±ÈÈçʹÓÃµç³Ø¹©µçµÄ´«¸ÐÆ÷¡£
HTTPÊÊÓó¡¾°
- ÍøÒ³Ó¦ÓÃ: ÍøÒ³Ó¦ÓóÌÐòºÍ·þÎñÆ÷µÄ½»»¥¡£
- Îȶ¨ÍøÂç»·¾³: ½ÏºÃµÄÍøÂç»·¾³ÏÂ×ÊÔ´µÄ»ñÈ¡¡¢Ìá½»ºÍ½»»¥¡£
- ´ó¹æÄ£·Ö²¼Ê½ÏµÍ³: ÈçÍøÂçÅÀ³æ¡¢ËÑË÷ÒýÇæºÍÆäËüÐèҪץȡ´óÁ¿ÐÅÏ¢µÄϵͳ¡£
ÔÚÑ¡ÔñMQTTÐÒéºÍHTTPÐÒéʱ£¬ÐèÒª¸ù¾Ý¾ßÌåµÄÓ¦Óó¡¾°ºÍÐèÇóÀ´¾ö²ß¡£Èç¹ûÄãµÄÓ¦ÓÃÇ¿µ÷µÍ¹¦ºÄ¡¢µÍ´ø¿íÏûºÄÒÔ¼°¸ü¸ßµÄÏûÏ¢·Ö·¢Ð§ÂÊ£¬ÄÇôMQTT¿ÉÄÜÊǺÏÊʵÄÑ¡Ôñ¡£Ïà·´£¬Èç¹ûÄ㿪·¢Ò»¸öÒÀÀµÓÚÎȶ¨ÍøÂçÁ¬½ÓºÍ´óÁ¿Êý¾Ý´«ÊäµÄWebÓ¦Óã¬HTTP¿ÉÄÜ»á¸üΪºÏÊÊ¡£ÔÚ½ñÌìÔ½À´Ô½¶àµÄ»¥ÁªÍøÓ¦ÓÃÖУ¬ÕâÁ½ÖÖÐÒéÓÐʱҲ»á½áºÏʹÓã¬ÒÔ±ã¸üºÃµØÊÊÓ¦¶à±äµÄÍøÂçͨÐÅÐèÇó¡£