¡¡¡¡MQTTÐÒéÒѾ³ÉÁËÎïÁªÍøͨÐÅÖеÄÒ»¸öÈÈ´Ê£¬½ñÌìÎÒÃÇÒ»ÆðÀ´ÐÒéһϹØÓÚMQTTÐÒéµÄһЩ֪ʶ¡£
¡¡¡¡MQTTÐÒé·¢Õ¹
¡¡¡¡IBM¹«Ë¾µÄ°²µÏ¡¤Ë¹Ì¹¸£-¿ËÀ¿Ë¼°Cirrus Link¹«Ë¾µÄ°¢À¼¡¤ÄáÆÕÓÚ1999Äê׫дÁ˸ÃÐÒéµÄµÚÒ»¸ö°æ±¾¡£ÔÚ2013ÄêIBM¹«Ë¾Ïò½á¹¹»¯×ÊѶ±ê×¼´Ù½ø×éÖ¯Ìá½»ÁËMQTT 3.1°æ¹æ·¶£¬²¢¸½ÓÐÏà¹ØÕ³̣¬ÒÔÈ·±£Ö»ÄܶԹ淶½øÐÐÉÙÁ¿¸ü¸Ä¡£
¡¡¡¡
¡¡¡¡MQTTÐÒé¸ÅÊö
¡¡¡¡MQTTÐÒé(ÏûÏ¢¶ÓÁÐÒ£²â´«Êä)ÊÇISO±ê×¼(ISO/IEC PRF 20922)Ï»ùÓÚ·¢²¼/¶©ÔÄ·¶Ê½µÄÏûÏ¢ÐÒé¡£MQTT¹¤×÷ÔÚTCP/IPÐÒé×åÉÏ£¬ÊÇΪӲ¼þÐÔÄܵÍϵÄÔ¶³ÌÉ豸ÒÔ¼°ÍøÂç×´¿öÔã¸âµÄÇé¿ö϶øÉè¼ÆµÄ·¢²¼/¶©ÔÄÐÍÏûÏ¢ÐÒé¡£
¡¡¡¡MQTTÐÒéÊÇÒ»¸ö»ùÓÚ¿Í»§¶Ë-·þÎñÆ÷µÄÏûÏ¢·¢²¼/¶©ÔÄ´«ÊäÐÒ飬MQTTÐÒéÊÇÇáÁ¿¡¢¼òµ¥¡¢¿ª·ÅºÍÒ×ÓÚʵÏֵģ¬ÕâЩÌصãʹËüÊÊÓ÷¶Î§·Ç³£¹ã·º¡£È磺»úÆ÷Óë»úÆ÷(M2M)ͨÐźÍÎïÁªÍø(IoT)¡£ÔÚͨ¹ýÎÀÐÇÁ´Â·Í¨ÐÅ´«¸ÐÆ÷¡¢Å¼¶û²¦ºÅµÄÒ½ÁÆÉ豸¡¢ÖÇÄܼҾӡ¢¼°Ò»Ð©Ð¡ÐÍ»¯É豸ÖÐÒ²±»¹ã·ºÊ¹Óá£
¡¡¡¡
¡¡¡¡MQTTÐÒé¹æ·¶
¡¡¡¡ÓÉÓÚÎïÁªÍø»·¾³¾ßÓÐÒ»¶¨µÄÌØÊâÐÔ£¬ËùÒÔMQTTÉè¼Æ¶¼ÐèÒª×ñÊØÒÔϹ淶£º
¡¡¡¡¢Ù¡¡¾«¼ò£¬²»Ìí¼Ó¿ÉÓпÉÎ޵ŦÄÜ;
¡¡¡¡¢Ú¡¡·¢²¼/¶©ÔÄ(Pub/Sub)ģʽ£¬·½±ãÏûÏ¢ÔÚ´«¸ÐÆ÷Ö®¼ä´«µÝ;
¡¡¡¡¢Û¡¡ÔÊÐíÓû§¶¯Ì¬´´½¨Ö÷Ì⣬ÁãÔËά³É±¾;
¡¡¡¡¢Ü¡¡°Ñ´«ÊäÁ¿½µµ½×îµÍÒÔÌá¸ß´«ÊäЧÂÊ;
¡¡¡¡¢Ý¡¡°ÑµÍ´ø¿í¡¢¸ßÑÓ³Ù¡¢²»Îȶ¨µÄÍøÂçµÈÒòËØ¿¼ÂÇÔÚÄÚ;
¡¡¡¡¢Þ¡¡Ö§³ÖÁ¬ÐøµÄ»á»°¿ØÖÆ;
¡¡¡¡¢ß¡¡Àí½â¿Í»§¶Ë¼ÆËãÄÜÁ¦¿ÉÄܺܵÍ;
¡¡¡¡¢à¡¡Ìṩ·þÎñÖÊÁ¿¹ÜÀí;
¡¡¡¡¢á¡¡¼ÙÉèÊý¾Ý²»¿ÉÖª£¬²»Ç¿Çó´«ÊäÊý¾ÝµÄÀàÐÍÓë¸ñʽ£¬±£³ÖÁé»îÐÔ¡£
¡¡¡¡MQTTÐÒéÌصã
¡¡¡¡MQTTÐÒ鹤×÷Ôڵʹø¿í¡¢²»¿É¿¿µÄÍøÂçµÄÔ¶³Ì´«¸ÐÆ÷ºÍ¿ØÖÆÉ豸ͨѶ¶øÉè¼ÆµÄÐÒ飬MQTTÐÒé¾ßÓÐÒÔÏÂÖ÷ÒªµÄ¼¸ÏîÌØÐÔ£º
¡¡¡¡¢Ù¡¡Ê¹Ó÷¢²¼/¶©ÔÄÏûϢģʽ£¬Ìṩһ¶Ô¶àµÄÏûÏ¢·¢²¼£¬½â³ýÓ¦ÓóÌÐòñîºÏ¡£
¡¡¡¡¢Ú¡¡¶Ô¸ºÔØÄÚÈÝÆÁ±ÎµÄÏûÏ¢´«Êä¡£
¡¡¡¡¢Û¡¡Ê¹ÓÃTCP/IPÌṩÍøÂçÁ¬½Ó¡£
¡¡¡¡¢Ü¡¡ÓС°ÖÁ¶àÒ»´Î¡±¡°ÖÁÉÙÒ»´Î¡±¡°Ö»ÓÐÒ»´Î¡±ÈýÖÖÏûÏ¢·¢²¼·þÎñÖÊÁ¿¡£
¡¡¡¡¢Ý¡¡Ð¡ÐÍ´«Ê䣬¿ªÏúºÜС(¹Ì¶¨³¤¶ÈµÄÍ·²¿ÊÇ2×Ö½Ú)£¬ÐÒé½»»»×îС»¯£¬ÒÔ½µµÍÍøÂçÁ÷Á¿¡£
¡¡¡¡¢Þ¡¡Ê¹ÓÃLast WillºÍTestamentÌØÐÔ֪ͨÓйظ÷·½¿Í»§¶ËÒì³£ÖжϵĻúÖÆ¡£
¡¡¡¡
¡¡¡¡MQTTÐÒ鹤×÷ÔÀí
¡¡¡¡ÊµÏÖMQTTÐÒéÐèÒª¿Í»§¶ËºÍ·þÎñÆ÷¶ËͨѶÍê³É£¬ÔÚͨѶ¹ý³ÌÖУ¬MQTTÐÒéÖÐÓÐÈýÖÖÉí·Ý£º·¢²¼Õß(Publish)¡¢´úÀí(Broker)(·þÎñÆ÷)¡¢¶©ÔÄÕß(Subscribe)¡£ÆäÖУ¬ÏûÏ¢µÄ·¢²¼ÕߺͶ©ÔÄÕ߶¼ÊÇ¿Í»§¶Ë£¬ÏûÏ¢´úÀíÊÇ·þÎñÆ÷£¬ÏûÏ¢·¢²¼Õß¿ÉÒÔͬʱÊǶ©ÔÄÕß¡£
¡¡¡¡MQTTÐÒé´«ÊäµÄÏûÏ¢·ÖΪ£ºÖ÷Ìâ(Topic)ºÍ¸ºÔØ(payload)Á½²¿·Ö£º
¡¡¡¡Topic£¬¿ÉÒÔÀí½âΪÏûÏ¢µÄÀàÐÍ£¬¶©ÔÄÕ߶©ÔÄ(Subscribe)ºó£¬¾Í»áÊÕµ½¸ÃÖ÷ÌâµÄÏûÏ¢ÄÚÈÝ(payload);
¡¡¡¡payload£¬¿ÉÒÔÀí½âΪÏûÏ¢µÄÄÚÈÝ£¬ÊÇÖ¸¶©ÔÄÕß¾ßÌåҪʹÓõÄÄÚÈÝ¡£
¡¡¡¡MQTT¿Í»§¶ËÊÇָʹÓÃMQTTÐÒéµÄÓ¦ÓóÌÐò»òÕßÉ豸£¬MQTT¿Í»§¶Ë×ÜÊǽ¨Á¢µ½·þÎñÆ÷µÄÍøÂçÁ¬½Ó¡£MQTT¿Í»§¶Ë¿ÉÒÔÊÇ£º
¡¡¡¡(1)·¢²¼ÆäËû¿Í»§¶Ë¿ÉÄܻᶩÔĵÄÐÅÏ¢;
¡¡¡¡(2)¶©ÔÄÆäËü¿Í»§¶Ë·¢²¼µÄÏûÏ¢;
¡¡¡¡(3)Í˶©»òɾ³ýÓ¦ÓóÌÐòµÄÏûÏ¢;
¡¡¡¡(4)¶Ï¿ªÓë·þÎñÆ÷Á¬½Ó¡£
¡¡¡¡MQTT·þÎñÆ÷ÐÒéÒÔ³ÆΪ"ÏûÏ¢´úÀí"(Broker)£¬¿ÉÒÔÊÇÒ»¸öÓ¦ÓóÌÐò»òһ̨É豸¡£ËüÊÇλÓÚÏûÏ¢·¢²¼ÕߺͶ©ÔÄÕßÖ®¼ä£¬Ëü¿ÉÒÔ½ÓÊÜÀ´×Ô¿Í»§µÄÍøÂçÁ¬½Ó;½ÓÊÜ¿Í»§·¢²¼µÄÓ¦ÓÃÐÅÏ¢;´¦ÀíÀ´×Ô¿Í»§¶ËµÄ¶©ÔĺÍÍ˶©ÇëÇó;»¹¿ÉÒÔÏò¶©ÔĵĿͻ§×ª·¢Ó¦ÓóÌÐòÏûÏ¢¡£