ÐÂÎÅ×ÊѶ
ʲôÊÇMQTT£¿ÎªÊ²Ã´ÔÚIIoTÖÐÐèÒªËü
2020-11-26


¡¡¡¡Ëæ×ÅÐÐÒµµÄ¿ìËٳɳ¤£¬Êý¾Ý¾­ÓªºÍ½ÓÊÕËùÐèµÄÉ豸ÊýÁ¿Ò²ÔÚÔö¼Ó¡£ÎªÁ˽â¾öÖÚ¶àÉ豸֮¼äµÄͨÐÅÎÊÌâÒÔ¼°µ¥¸öÍøÂçÖÐÉ豸×éºÏµÄÎÊÌ⣬ÒѾ­´´½¨ÁËÎïÁªÍø(IoT)¸ÅÄî-»ùÓÚijЩ¹¦Äܵĵ¥¸öÍøÂçÖÐÉ豸µÄ×éºÏ»òÌØÐÔ£¬´ËÍøÂç½øÒ»²½ÓëÀàËÆÍøÂç×éºÏÔÚÒ»Æð£¬´Ó¶ø´´½¨¸ü´óµÄÍøÂ磬ÒÀ´ËÀàÍÆ¡£

ʲôÊÇMQTT£¿ÎªÊ²Ã´ÔÚIIoTÖÐÐèÒªËü

¡¡¡¡ÔÚÕâÑùµÄÍøÂçÖУ¬É豸ͨ¹ý¸÷ÖÖ½Ó¿ÚºÍͨÐÅЭÒé±Ë´Ë½»»¥¡£µ±·¢¹ú¼ÊÌìÉúÓ®¼ÒÒ»´¥¼´·¢ÕýÔÚ¿¼ÂÇÎïÁªÍø¸ÅÄîµÄ¹¤ÒµÊµÏÖʱ£¬Ó¦Ê¹ÓþßÓÐ×Ô¼ºµÄЭÒéºÍÓ²¼þµÄ¹¤ÒµÉ豸£¬È÷¢¹ú¼ÊÌìÉúÓ®¼ÒÒ»´¥¼´·¢¿ªÊ¼Ì½ÌÖIIoT¸ÅÄî(¹¤ÒµÎïÁªÍø)¡£

¡¡¡¡ÎªÁ˽øÐÐͨÐÅ£¬É豸¿ÉÒÔʹÓø÷ÖÖ¹¤ÒµÐ­Ò顣Ϊ´Ë£¬MQTTºÜÊÜ»¶Ó­¡£

¡¡¡¡Ê²Ã´ÊÇMQTT?

¡¡¡¡MQTT»òÏûÏ¢¶ÓÁÐÒ£²â´«ÊäÊÇÒ»ÖÖÇáÇɵĿª·ÅʽÏûÏ¢´«µÝЭÒ飬ÓÃÓÚÔÚÒªÇó¡°´úÂëÕ¼ÓÃÁ¿Ð¡¡±»òÍøÂç´ø¿íÊÜÏÞµÄÔ¶³ÌλÖýøÐÐÊý¾Ý´«Êä¡£ÕâЩÓÅÊÆÔÊÐíÔÚM2Mϵͳ(»úÆ÷¶Ô»úÆ÷)ºÍIIoTϵͳ(¹¤ÒµÎïÁªÍø)ÖÐʵÏÖ´ËЭÒé¡£

¡¡¡¡»¹´æÔÚÒ»ÖÖЭÒé±äÌåMQTT-SN(ÓÃÓÚ´«¸ÐÆ÷ÍøÂçµÄMQTT)£¬ÒÔǰ³ÆÎªMQTT-S£¬ÆäÉè¼ÆÓÃÓÚ²»Ö§³ÖTCP / IPÍøÂçµÄǶÈëʽÎÞÏßÉ豸£¬ÀýÈçZigBee¡£

¡¡¡¡MQTTЭÒéµÄ¹¦ÄÜ

¡¡¡¡MQTTЭÒéµÄÊ×Òª¹¦ÄÜ£º

¡¡¡¡¡ñ Ò첽ЭÒé

¡¡¡¡¡ñ ½ô´ÕµÄÏûÏ¢

¡¡¡¡¡ñ ÔÚÊý¾Ý´«ÊäÏßÁ¬½Ó²»Îȶ¨µÄÇé¿öÏÂÔËÐÐ

¡¡¡¡¡ñ Ö§³Ö¶à¸ö·þÎñÖÊÁ¿(QoS)¼¶±ð

¡¡¡¡¡ñ ÇáËɼ¯³ÉÐÂÉ豸

¡¡¡¡ÔÚÓ¦ÓóÌÐò²ãÉÏ£¬MQTTЭÒéÔÚTCP / IPЭÒéÖ®ÉϹ¤×÷£¬²¢ÇÒĬÈÏʹÓö˿Ú1883(Èç¹ûͨ¹ýSSLÁ¬½ÓÔòʹÓö˿Ú8883)¡£

MQTTЭÒéµÄ¹¦ÄÜ

¡¡¡¡ÔÚMQTTЭÒéÖУ¬ÏûÏ¢½»»»Ôڹ˿ͶË(¿ÉÄÜÊÇÏûÏ¢·¢²¼Õß»òÏûÏ¢¶©ÔÄÕß)ÓëÏûÏ¢´úÀí(ÀýÈçMosquitto MQTT)Ö®¼ä½øÐС£

¡¡¡¡·¢²¼ÕßÔÚMQTT BrokerÉÏ·¢ËÍÊý¾Ý£¬²¢ÔÚÏûÏ¢ÖÐÖ¸¶¨ÁËÃ÷È·µÄÖ÷Ìâ¡£¶©ÔÄÕß¿ÉÒÔ¸ù¾Ý¶ÔÏàÓ¦Ö÷ÌâµÄ¶©ÔÄ£¬´Ó¶à¸ö·¢²¼Õß½ÓÊÕ¸÷ÖÖÊý¾Ý¡£

¡¡¡¡MQTTÉ豸ʹÓÃÈ·¶¨ÀàÐ͵ÄÏûÏ¢À´Óë´úÀí½øÐÐͨÐÅ¡£Ê×ÒªÀàÐÍÈçÏ£º

¡¡¡¡¡ñ Á¬½Ó¨C½¨Á¢ÓëMessage BrokerµÄÁ¬½Ó

¡¡¡¡¡ñ ¶Ï¿ªÁ¬½Ó¨C¶Ï¿ªÓëÏûÏ¢´úÀíµÄÁ¬½Ó

¡¡¡¡¡ñ ·¢²¼¨CÔÚMessage BrokerÖз¢²¼ÓйØÖ÷ÌâµÄÊý¾Ý

¡¡¡¡¡ñ ¶©ÔĨC¶©ÔÄÏûÏ¢´úÀíÉϵÄÖ÷Ìâ

¡¡¡¡¡ñ Í˶©¨CÍ˶©Ö÷Ìâ

MQTTÉ豸ʹÓÃÈ·¶¨ÀàÐ͵ÄÏûÏ¢À´Óë´úÀí½øÐÐͨÐÅ¡£

¡¡¡¡ÏûÏ¢µÄ½á¹¹

¡¡¡¡MQTTÏûÏ¢°üº¬ÒÔϼ¸²¿·Ö£º

¡¡¡¡¡ñ ¹Ì¶¨µÄ±êÍ·(³öÏÖÔÚËùÓÐÏûÏ¢ÖÐ)

¡¡¡¡¡ñ ¿É±ä±êÍ·(³öÏÖÔÚijЩÏûÏ¢ÖÐ)

¡¡¡¡¡ñ Êý¾Ý£¬ÓÐЧ¸ºÔØ(´æÔÚÓÚijЩÏûÏ¢ÖÐ)

¡¡¡¡¹Ì¶¨Í·

MQTTÏûÏ¢°üº¬ÄÄÄǼ¸²¿·Ö

¡¡¡¡ÏûÏ¢ÀàÐÍ-ÀýÈ磺CONNECT£¬SUBSCRIBE£¬PUBLISHµÈ¡£

¡¡¡¡Ã¿¸öMQTTÊý¾Ý°üÌØÓеıêÖ¾¨CÕâ4λÓÃÓÚ¸¨Öú±êÖ¾£¬¸¨Öú±êÖ¾µÄ´æÔÚºÍ״̬ȡ¾öÓÚÏûÏ¢ÀàÐÍ¡£

¡¡¡¡Ê£Ó೤¶È¨Cµ±Ç°ÏûÏ¢³¤¶È(¿É±ä±¨Í·+Êý¾Ý)£¬´óСΪ1µ½4¸ö×Ö½Ú¡£

¡¡¡¡×ÜÌå¶øÑÔ£¬MQTTЭÒéÖÐÓÐ15ÖÖÏûÏ¢ÀàÐÍ£º

ѶϢÀàÐÍ Öµ Á÷Ïò ÃèÊö
ÒÑÔ¤Áô 0000£¨0£© ½ûÖ¹µÄ ÒÑÔ¤Áô
Á¬½Ó 0001£¨1£© C *-> S ** ¹Ë¿Í¶ËÇëÇóÁ¬½Óµ½·þÎñÆ÷
¿µÄÉ¿Ë 0010£¨2£© C <- Á¬½ÓÈ·ÈÏ
·¢²¼ 0011£¨3£© C <-S£¬C-> S ·¢²¼Ñ¶Ï¢
»ØËÍ 0100£¨4£© C <-S£¬C-> S ·¢²¼È·ÈÏ
PUBREC 0101£¨5£© C <-S£¬C-> S ·¢²¼ÊÕµ½
¹«¿ª 0110£¨6£© C <-S£¬C-> S ·¢²¼·¢ÐÐ
PUBCOMP 0111£¨7£© C <-S£¬C-> S ·¢²¼Íê³É
¶©ÔÄ 1000£¨8£© C-> S ¹Ë¿Í¶©ÔÄÇëÇó
ºóÍË 1001£¨9£© C <- ¶©ÔÄÈ·ÈÏ
È¡Ïû¶©ÔÄ 1010£¨10£© C-> S Í˶©ÇëÇó
È¡Ïû¶©ÔÄ 1011£¨11£© C <- Í˶©È·ÈÏ
PINGREQ 1100£¨12£© C-> S PINGÇëÇó
ƽRESP 1101£¨13£© C <- PING»ØÓ¦
¶Ï¿ª 1110£¨14£© C-> S ¹Ë¿Í¶Ë¶Ï¿ªÁ¬½Ó
ÒÑÔ¤Áô 1111£¨15£© ½ûÖ¹µÄ ÒÑÔ¤Áô

 ¡¡¡¡±êÖ¾

¡¡¡¡¹Ì¶¨±êÍ·µÄǰ4¸ö×î¸ßÓÐЧλÓÃ×÷ÌØ¶¨±êÖ¾£º

¹Ì¶¨±êÍ·µÄǰ4¸ö×î¸ßÓÐЧλÓÃ×÷ÌØ¶¨±êÖ¾

¡¡¡¡DUP ¨Cµ±¹Ë¿Í¶Ë»òMQTT´úÀíÌá½»ÖØ·¢µÄÊý¾Ý°ü(ÔÚPUBLISH£¬SUBSCRIBE£¬UNSUBSCRIBE£¬PUBRELÖÐʹÓÃ)ʱ£¬½«ÉèÖÃDuplicate¡£Èç¹ûÉèÖÃÁ˸ñêÖ¾£¬Ôò±äÁ¿Í·±ØÐë°üº¬ÏûÏ¢ID(ÏûÏ¢±êʶ·û)¡£

¡¡¡¡QoS ¨C·þÎñÖÊÁ¿(0,1,2)

¡¡¡¡±£Áô-·¢²¼´øÓб£Áô±êÖ¾µÄÊý¾Ýʱ£¬´úÀí½«¶ÔÆä½øÐд洢¡£½¨Á¢¶Ô¸ÃÖ÷ÌâµÄж©Ôĺ󣬴úÀí½«Á¢¼´·¢ËÍ´øÓд˱êÖ¾µÄÏûÏ¢¡£½öÔÚPUBISHÀàÐ͵ÄÏûÏ¢ÖÐʹÓá£

¡¡¡¡¿É±ä±êÌâ

¡¡¡¡Ä³Ð©±êÍ·ÖдæÔڿɱä±êÍ·¡£

¡¡¡¡Ëü°üº¬ÒÔÏÂÊý¾Ý£º

¡¡¡¡¡ñ Êý¾Ý°ü±êʶ·û¨C´æÔÚÓÚËùÓÐÀàÐ͵ÄÏûÏ¢ÖУ¬µ«ÒÔÏÂÇé¿ö³ýÍ⣺CONNECT£¬CONNACK£¬PUBLISH(§ãQoS <1)£¬PINGREQ£¬PINGRESP£¬DISCONNECT

¡¡¡¡¡ñ Ð­ÒéÃû³Æ¨C½öÔÚCONNECTÏûÏ¢ÀàÐÍÖÐÏÔʾ

¡¡¡¡¡ñ Ð­Òé°æ±¾¨C½öÔÚCONNECTÏûÏ¢ÀàÐÍÖдæÔÚ

¡¡¡¡¡ñ Á¬½Ó±êÖ¾¨CÖ¸¶¨Á¬½ÓÆÚ¼ä¹Ë¿Í¶ËÐÐΪµÄ±êÖ¾

¿É±ä±êÌâÊý¾Ý

¡¡¡¡¿Í‘ôÃû¨CÈç¹ûÉèÖÃÁ˸ñêÖ¾£¬ÔòÓÐЧ¸ºÔØÖбØÐë´æÔÚÒ»¸ö¿Í‘ôÃû(ÓÃÓڹ˿ͶËÉí·ÝÑéÖ¤)

¡¡¡¡ÃÜÂë¨CÈç¹ûÉèÖÃÁ˴˱êÖ¾£¬ÔòÓÐЧ¸ºÔØÖбØÐë´æÔÚÃÜÂë(ÓÃÓڹ˿ͶËÉí·ÝÑéÖ¤)

¡¡¡¡½«»á±£Áô-Èç¹û¸Ã±êÖ¾ÉèÖÃΪ1£¬Ôò´úÀí½«´æ´¢Ò»¸öÒâÔ¸ÏûÏ¢¡£

¡¡¡¡Will QoS ¨C Will MessageµÄ·þÎñÖÊÁ¿¡£Èç¹ûÉèÖÃÁËÒâÔ¸±ê¼Ç£¬Ôò±ØÐë´æÔÚÒâÔ¸QoSºÍÒâÔ¸±£Áô¡£

¡¡¡¡ÒâÖ¾±êÖ¾-Èç¹ûÉèÖÃÁ˸ñêÖ¾£¬ÔòÔڹ˿Ͷ˶Ͽª´úÀí¶ø²»·¢ËÍDISCONNECTÃüÁî(Èç¹û·¢Éú²»¿ÉÔ¤ÖªµÄ¹Ø±Õ£¬Ê§°ÜµÈÇé¿ö)Ö®ºó£¬´úÀí½«Í¨¹ýËùνµÄÒâÖ¾ÏûϢ֪ͨËùÓÐÒÑÁ¬½ÓµÄ¹Ë¿Í¶Ë¡£

¡¡¡¡¸É¾»»á»°-Èç¹û½«¸Ã±êÖ¾ÉèÖÃΪ0£¬Ôò´úÀí´æ´¢Ò»¸ö»á»°£¬ËùÓй˿Ͷ˶©Ôͼ½«Í¨¹ý¹Ë¿Í¶ËµÄÏÂÒ»¸öÁ¬½Ó·¢ËÍ£¬²¢ÇÒÔڹ˿Ͷ˶ϿªÁ¬½Óʱ£¬´úÀí½«½ÓÊÕÀ´×ÔQoS1ºÍQoS2µÄËùÓÐÏûÏ¢¡£Òò´Ë£¬Èç¹û¸Ã±êÖ¾ÉèÖÃΪ1£¬Ôòµ½ÏÂÒ»¸öÁ¬½Ó£¬¹Ë¿Í¶Ë±ØÐëÔٴζ©ÔÄËùÓÐÖ÷Ìâ¡£

¡¡¡¡¡ñ »á»°´æÔÚ¨CÔÚCONNACKÀàÐ͵ÄÏûÏ¢ÖÐÓ¦Óá£Èç¹ûBroker½ÓÊܽ«Clean SessionÉèÖÃΪ1µÄÁ¬½Ó£¬Ôò±ØÐ뽫Session Present(SP)ÉèÖÃΪ0¡£Èç¹ûBroker½ÓÊÜClean SessionÉèÖÃΪ0µÄÁ¬½Ó£¬ÔòSPÖÐÉèÖõÄֵȡ¾öÓÚBrokerÊÇ·ñÒÑ´æ´¢´Ë¹Ë¿Í¶ËµÄ»á»°×´Ì¬(Èç¹ûÊÇ£¬Ôò±ØÐ뽫SPÉèÖÃΪ1£¬·´Ö®ÒàÈ»)¡£»á»°´æÔÚ±ê־ʹ¹Ë¿Í¶ËÄܹ»È·¶¨ÊÇ·ñÒѾ­´æ´¢Á˻Ự״̬¡£

¡¡¡¡¡ñ Á¬½Ó·µ»ØÂë¨CÈç¹û´úÀí³öÓÚijÖÖÔ­ÒòÎÞ·¨´Ó¹Ë¿Í¶Ë½ÓÊÕ¸ñʽÕýÈ·µÄCONNACKÊý¾Ý°ü£¬Ôò±ØÐëÔÚϱíµÄCONNACKÊý¾Ý°üµÄµÚ¶þ¸ö×Ö½ÚÖÐÉèÖÃÊʵ±µÄÖµ£º

Öµ ·µ»ØÂëÏìÓ¦ ÃèÊö
0 0x00½ÓÊÜÁ¬½Ó ½ÓÊÜÁ¬½Ó
1¸ö 0x01Á¬½Ó±»¾Ü¾ø£¬Ð­Òé°æ±¾²»¿É½ÓÊÜ ´úÀí²»Ö§³Ö¹Ë¿Í¶ËÇëÇóµÄЭÒé°æ±¾
2 0x02Á¬½Ó±»¾Ü¾ø£¬±êʶ·û±»¾Ü¾ø ÓÃÓÚÁ¬½ÓµÄ¹Ë¿Í¶ËµÄ¹Ë¿Í¶ËID²»ÔÚ¾ßÓÐÔÊÐíIDµÄÁбíÖÐ
3 0x03Á¬½Ó±»¾Ü¾ø£¬·þÎñÆ÷²»¿ÉÓà Òѽ¨Á¢ÍøÂçÁ¬½Ó£¬µ«MQTT·þÎñ²»¿ÉÓÃ
4 0x04Á¬½Ó±»¾Ü¾ø£¬¿Í‘ôÃû»òÃÜÂë´íÎó ¿Í‘ôÃû»òÃÜÂëÖеÄÊý¾Ý¸ñʽ´íÎó
5 0x05Á¬½Ó±»¾Ü¾ø£¬Î´ÊÚȨ ¹Ë¿Í¶ËÎÞȨÁ¬½Ó
6-255 ±£ÁôÒÔ±¸½«À´Ê¹ÓÃ

¡¡¡¡Êý¾Ý£¬ÓÐÐ§ÔØºÉ

¡¡¡¡Í¨¹ýMQTTÏûÏ¢´«ÊäµÄÊý¾ÝµÄÄÚÈݺ͸ñʽÔÚÉ豸Öж¨Òå¡£¿ÉÒÔͨ¹ý´ÓÊ£Ó೤¶ÈÖмõÈ¥±äÁ¿Í·µÄ³¤¶ÈÀ´¼ÆËãÊý¾Ý´óС¡£

¡¡¡¡·µ»ØÄ¿Â¼

¡¡¡¡MQTTЭÒé(QoS)ÖеķþÎñÖÊÁ¿

¡¡¡¡·¢ËÍÏûϢʱ£¬MQTTÖ§³ÖÈý¸ö¼¶±ðµÄ·þÎñÖÊÁ¿(QoS)¡£

¡¡¡¡QoS 0×î¶àÒ»´Î¡£Ôڴ˼¶±ðÉÏ£¬·¢²¼ÕßÒ»´ÎÏò´úÀí·¢ËÍÒ»ÌõÏûÏ¢£¬²¢ÇÒ²»µÈ´ýÈκÎÏìÓ¦£¬¼´·¢ËͲ¢Íü¼ÇËü¡£

QoS 0×î¶àÒ»´Î

¡¡¡¡QoS 1ÖÁÉÙÒ»´Î¡£´Ë¼¶±ð¿ÉÈ·±£½«ÏûÏ¢´«µÝµ½´úÀí£¬µ«ÊÇ¿ÉÒÔ´Ó·¢²¼Õ߸´ÖÆÏûÏ¢¡£Ò»µ©ÊÕµ½¸±±¾£¬´úÀí½«Ôٴν«´ËÏûÏ¢·¢Ë͸ø¶©ÔÄ·þÎñÆ÷£¬²¢½«ÏûÏ¢½ÓÊÕÈ·ÈÏת·¢¸ø·¢²¼·þÎñÆ÷¡£Èç¹û·¢²¼Õßδ´Ó´úÀí»ñÈ¡PUBACKÏûÏ¢£¬Ëü½«³¢ÊÔÖØÐ´«µÝ´ËÊý¾Ý°ü£¬½«DUPÉèÖÃΪ1¡£

QoS 1ÖÁÉÙÒ»´Î¡£

¡¡¡¡QoS 2Ç¡ºÃÒ»´Î¡£Ôڴ˼¶±ðÉÏ£¬¿ÉÒÔÈ·±£½«ÏûÏ¢´«µÝµ½¹Ë¿Í¶Ë£¬²¢ÇÒ²»¿ÉÄÜÖØ¸´¸±±¾¡£

QoS 2Ç¡ºÃÒ»´Î¡£

¡¡¡¡·¢²¼ÕßÏò´úÀí·¢ËÍÏûÏ¢¡£¸ÃÏûÏ¢°üº¬Î¨Ò»µÄÊý¾Ý°üID£¬QoS = 2ºÍDUP = 0¡£·¢²¼Õߴ洢δ¾­È·ÈϵÄÏûÏ¢£¬³ý·ÇËü´Ó´úÀí»ñµÃPUBRECÏìÓ¦¡£´úÀí»Ø¸´°üº¬Ïàͬ·Ö×éIDµÄPUBRECÏûÏ¢¡£ÊÕµ½´ËÏûÏ¢ºó£¬·¢²¼Õß·¢Ë;ßÓÐÏàͬÊý¾Ý°üIDµÄPUBREL¡£´úÀí±ØÐë´æ´¢ÏûÏ¢¸±±¾£¬Ö±µ½»ñµÃPUBREL¡£´úÀíÊÕµ½PUBRELºó£¬Ëü½«É¾³ýÏûÏ¢¸±±¾£¬²¢½«ÓйØÒÑÍê³ÉµÄÊÂÎñµÄPUBCOMPÏûÏ¢·¢Ë͸ø·¢²¼Õß¡£


¹Ø×¢ÓÐÈË΢ÐŹ«ÖÚºÅ
Á˽â¸ü¶àÐÅÏ¢

sitemap¡¢µØÍ¼