MQTT£¨Message Queuing Telemetry Transport£©ÐÒéÊÇÒ»ÖÖÇáÁ¿¼¶µÄ¡¢»ùÓÚ·¢²¼-¶©ÔÄģʽµÄÐÒé¡£Ëü²ÉÓûùÓÚTCP/IPÐÒéÕ»½øÐÐͨÐÅ£¬¿ÉÒÔÔÚInternetÉÏÔËÐÐMQTT¿Í»§¶ËºÍMQTT´úÀí¡£
MQTT£¨Message Queuing Telemetry Transport£©ÐÒéÊÇÒ»ÖÖÇáÁ¿¼¶µÄͨÐÅÐÒ飬ÓÉIBMÔÚ1999ÄêÌá³ö¡£MQTTÐÒéÖ÷ÒªÓÃÓÚÎïÁªÍø£¨IoT£©µÈ³¡¾°ÏµÄÉ豸¼äͨÐÅ£¬ÆäºËÐÄÉè¼ÆÄ¿±êÊǾ¡¿ÉÄܵؼõÉÙÍøÂç´«ÊäµÄÊý¾ÝÁ¿£¬½µµÍͨÐÅÐÒéµÄ¸´ÔӶȺÍÄܺġ£MQTTÐÒé²ÉÓûùÓÚ·¢²¼/¶©ÔÄ£¨Pub/Sub£©Ä£Ê½µÄͨÐÅ·½Ê½£¬¼´Ò»¸öÉ豸¿ÉÒÔͨ¹ý·¢²¼Ö÷Ì⣨Topic£©µÄ·½Ê½½«ÏûÏ¢·¢Ë͸øÆäËûÉ豸£¬¶øÆäËûÉ豸¿ÉÒÔͨ¹ý¶©ÔÄÖ÷ÌâµÄ·½Ê½½ÓÊÕÕâЩÏûÏ¢¡£
MQTTÐÒéÖаüº¬ÒÔÏÂÖØÒª×é¼þ£º
1. MQTT¿Í»§¶Ë£º¿Í»§¶ËÊÇָʹÓÃMQTTÐÒéµÄÉ豸»òÓ¦ÓóÌÐò¡£¿Í»§¶Ë¿ÉÒÔÊÇ·¢²¼Õß¡¢¶©ÔÄÕß»òͬʱ¼æ¾ßÁ½Õß¡£
2. MQTT´úÀí£¨broker£©£ºMQTTÐÒéÖеĴúÀíÊÇÒ»¸öÖмä¼þ·þÎñÆ÷£¬ÓÃÓÚ¹ÜÀíÏûÏ¢µÄ´«µÝºÍת·¢¡£¿Í»§¶Ë±ØÐëͨ¹ý´úÀíÀ´·¢ËÍ»ò½ÓÊÕÏûÏ¢¡£
3. Ö÷Ì⣨topic£©£ºÖ÷ÌâÊÇÏûÏ¢µÄÂß¼·ÖÀ࣬ÓÃÓÚÇø·Ö²»Í¬ÀàÐ͵ÄÏûÏ¢¡£·¢²¼Õß¿ÉÒÔÑ¡ÔñÒ»¸ö»ò¶à¸öÖ÷Ìâ·¢²¼ÏûÏ¢£¬¶©ÔÄÕß¿ÉÒÔÑ¡ÔñÒ»¸ö»ò¶à¸öÖ÷ÌâÀ´½ÓÊÕÏûÏ¢¡£
MQTTÐÒéµÄͨÐÅ·½Ê½ÈçÏ£º
1. Á¬½Ó£ºMQTT¿Í»§¶ËÊ×ÏÈÐèÒªÁ¬½Óµ½MQTT´úÀí¡£ÔÚÁ¬½Ó¹ý³ÌÖУ¬¿Í»§¶ËÐèÒªÌṩ×Ô¼ºµÄΨһ±êʶ·û£¨Client ID£©£¬¸Ã±êʶ·û½«ÓÃÓÚ´úÀíÈÏÖ¤²¢ÔÚºóÐø»á»°Öлָ´¿Í»§¶Ë״̬¡£
2. ¶©ÔÄ£º¶©ÔÄÕßÐèÒªÏò´úÀí·¢ËÍÒ»¸ö¶©ÔÄÇëÇó£¬ÇëÇó¶©ÔÄÒ»¸ö»ò¶à¸öÖ÷Ìâ¡£´úÀí½«Ïò¶©ÔÄÕß·¢Ë͹ØÓÚ¶©ÔÄÏûÏ¢µÄÈ·ÈÏÐÅÏ¢£¬°üÀ¨ÒѶ©ÔÄÖ÷ÌâµÄÁбíºÍQoS¼¶±ð¡£
3. ·¢²¼£º·¢²¼Õß¿ÉÒÔÑ¡ÔñÒ»¸ö»ò¶à¸öÖ÷ÌâÀ´·¢²¼ÏûÏ¢¡£·¢²¼Õß½«ÏûÏ¢·¢²¼µ½´úÀí£¬´úÀí¸ºÔðÔÚ¶©ÔÄÕßÖ®¼äµÄ´«µÝºÍת·¢¡£
4. ´«Ê䣺MQTTÐÒéʹÓÃTCP/IPÐÒéÕ»½øÐÐͨÐÅ£¬È·±£ÁË¿É¿¿µÄÊý¾Ý´«Êä¡£Ëü»¹Í¨¹ýMQTT¿ØÖƱ¨Îı£Ö¤ÏûÏ¢µÄ¿É¿¿ÐÔ¡¢ÍêÕûÐÔºÍ˳ÐòÐÔ¡£
MQTTÐÒéͨÐÅ·½Ê½¾ßÓÐÒÔÏÂÌص㣺
1. µÍ´ø¿íÏûºÄ£ºMQTTÐÒé²ÉÓöþ½øÖÆÐÒé¸ñʽ£¬´«ÊäÊý¾Ý°üÌå»ýС£¬¿ÉÒÔÔڵʹø¿íÍøÂç»·¾³Ï±£Ö¤ÏûÏ¢´«ÊäµÄЧÂÊ¡£
2. µÍ¿ªÏú£ºMQTTÐÒéµÄÍ·²¿±È½Ï¶Ì£¬Õ¼ÓõÄÍøÂç´ø¿í½ÏÉÙ£¬ÇÒͨÐÅË«·½µÄϵͳ¸ºÔØÒ²±È½ÏµÍ£¬¿ÉÒÔÔÚÐÔÄÜÓÐÏÞµÄÉ豸ÉÏʹÓá£
3. Ò첽ͨÐÅ£ºMQTTÐÒéʹÓÃÒ첽ͨÐÅ·½Ê½£¬¼´·¢²¼ÕߺͶ©ÔÄÕßÖ®¼äûÓÐÖ±½ÓµÄ½»»¥¡£·¢²¼ÕßÖ»Ð轫ÏûÏ¢·¢²¼µ½Ö÷ÌâÉÏ£¬¶©ÔÄÕßÔò¿ÉÒÔͨ¹ýÖ÷ÌâÃû³Æ»ñÈ¡µ½·¢²¼ÕßµÄÏûÏ¢£¬²»ÐèҪʵʱµÄ½»»¥ÏìÓ¦¡£
4. °²È«¿É¿¿£ºMQTTÐÒéÖ§³ÖSSL/TLS¼ÓÃÜ´«ÊäºÍÓû§Ãû/ÃÜÂëÈÏÖ¤µÈ»úÖÆ£¬¿ÉÒÔ±£Ö¤Í¨ÐŵݲȫÐԺͿɿ¿ÐÔ¡£
5. Ö§³Ö¶àÖÖÍøÂçÁ¬½Ó·½Ê½£ºMQTTÐÒéÖ§³Ö¶àÖÖÍøÂçÁ¬½Ó·½Ê½£¬°üÀ¨TCP¡¢WebSocket¡¢Bluetooth¡¢Wi-FiµÈ£¬¿ÉÒÔÊÊÓ¦²»Í¬µÄͨÐÅ»·¾³¡£
MQTTʵսӦÓó¡¾°ÈçÏ£º
1.ÎïÁªÍøÊý¾Ý²É¼¯¼°¼à¿Øƽ̨£ºMQTT¿ÉÒÔÓÃÓÚ´Ó¸÷ÖÖ´«¸ÐÆ÷ºÍÎïÁªÍøÉ豸(Èçζȴ«¸ÐÆ÷¡¢Êª¶È´«¸ÐÆ÷¡¢Æøѹ´«¸ÐÆ÷¡¢¹âÕÕ´«¸ÐÆ÷µÈ)ÊÕ¼¯Êý¾Ý£¬ÊµÊ±¼ì²âÉ豸¹¤×÷×´¿ö£¬»ã×ÜÊý¾Ý²¢½øÐпÉÊÓ»¯¼à¿Ø¡£
2.ÖÇÄܼҾӻòÖǻ۳ÇÊÐϵͳ£ºMQTT¿ÉÒÔÓÃÓÚ¼ÒÍ¥É豸¡¢¼ÒÍ¥°²·À¡¢ÃŽûϵͳ¡¢µçÌݹÜÀí¡¢Öǻ۷µÆµÈÉ豸֮¼äµÄͨÐźÍе÷£¬ÊµÏÖÖÇÄܼҾӻòÖǻ۳ÇÊÐϵͳ¡£
3.ÎïÁ÷¼°½»Í¨¹ÜÀíϵͳ£ºMQTT¿ÉÒÔÓÃÓÚÔÚ³µÁ¾¡¢»úÆ÷È˺ÍÆäËûÎïÀíÉ豸֮¼ä½øÐÐͨÐÅ£¬ÊµÏÖÎïÁ÷¼°½»Í¨¹ÜÀíϵͳ£¬ÎªÔËÓªÉÌ»òÒµÎñÔ±Ìṩ¸ü׼ȷ¡¢¿ìËÙºÍ͸Ã÷µÄÐÅÏ¢¡£
4.»·¾³¼à¿Ø£ºMQTT¿ÉÒÔÓÃÓÚʵÏÖÎïÁªÍøÉ豸֮¼äµÄÊý¾Ý´«ÊäºÍÐÅÏ¢»¥¶¯£¬ÀýÈç¿ÕÆøÖÊÁ¿¡¢ÎÂʪ¶È¡¢Ë®Öʵȵļà²â£¬¿ÉÒÔ¶Ô¹«¹²°²È«¡¢»·¾³±£»¤µÈ½øÐмà¹ÜºÍ¿ØÖÆ¡£
MQTTÐÒé²ÉÓûùÓÚ·¢²¼/¶©ÔÄģʽµÄÒ첽ͨÐÅ·½Ê½£¬¾ßÓеÍÍøÂç´ø¿íÏûºÄ¡¢µÍ¿ªÏú¡¢°²È«¿É¿¿µÈÌص㣬ÊÊÓÃÓÚÎïÁªÍøµÈ³¡¾°ÏµÄÉ豸¼äͨÐÅ¡£MQTTÐÒé²ÉÓûùÓÚTCP/IPÐÒéÕ»µÄͨÐÅ·½Ê½£¬Ëü»ùÓÚ·¢²¼-¶©ÔÄģʽʵÏÖÏûÏ¢µÄ´«µÝºÍת·¢£¬¿ÉÒÔÔÚ²»Í¬µÄÉ豸ºÍÓ¦ÓóÌÐòÖ®¼ä½øÐÐͨÐÅ¡£ÓÉÓÚÆäÇáÁ¿¼¶Éè¼Æ£¬MQTTÐÒé±»¹ã·ºÓ¦ÓÃÓÚÎïÁªÍø£¨IoT£©ºÍ´«¸ÐÆ÷ÍøÂçµÈÁìÓò¡£