mkÌåÓý(MKsports¼¯ÍÅ)¹É·Ý¹«Ë¾

ÐÂÎÅ×ÊѶ
ÕÆÎÕ×ÊѶ£¬ÁË½â¼ÆÑ¶×îж¯Ì¬
Äúµ±Ç°Î»ÖãºmkÌåÓý > ÐÂÎÅ×ÊѶ > ÐÐÒµÐÂÎÅ

MQTTÊÇʲô Ò»ÎÄÏê½âMQTTЭÒé

ʱ¼ä£º2019-05-07À´Ô´£º±¾Õ¾Ô­´´

  1¡¢MQTT¸ÅÊö

  MQTT(Message Queuing Telemetry Transport£¬ÒôѶÐÐÁÐÒ£²â´«ÊäЭÒé)£¬ÊÇÒ»ÖÖ¸ù¾Ý·¢²¼/¶©ÔÄ(publish/subscribe)ģʽµÄ¡°ÇáÁ¿¼¶¡±Í¨Ñ¶Ð­Ò飬¸ÃЭÒé¹¹½¨ÓÚTCP/IPЭÒéÉÏ£¬ÓÉIBMÔÚ1999Äê·¢²¼¡£MQTT×î´ó³¤´¦ÔÚÓÚ£¬Äܹ»ÒÔºÜÉٵĴúÂëºÍÓÐÏ޵Ĵø¿í£¬ÎªÏνÓÔ¶³ÌÉ豸¹©¸øÊµÊ±¿É¿¿µÄÒôѶЧÀÍ¡£×÷ΪһÖֵͿªÏú¡¢µÍ´ø¿íÕ¼Óõļ´Ê±Í¨Ñ¶Ð­Ò飬ʹÆäÔÚÎïÁªÍø¡¢Ð¡ÐÍÉ豸¡¢Òƶ¯Ó¦Óõȷ½ÃæÓнϹ㷺µÄÓ¦Óá£


  MQTTÊÇÒ»¸ö¸ù¾Ý¿Í»§¶Ë-ЧÀÍÆ÷µÄÒôѶ·¢²¼/¶©ÔÄ´«ÊäЭÒé¡£MQTTЭÒéÊÇÇáÁ¿¡¢¼òÂÔ¡¢³¨¿ªºÍÒ×ÓÚʵÏֵģ¬ÕâÐ©ÌØµãʹËüÊÊÓ÷¶Î§·Ç³£¹ã·º¡£Ôںܶà×´¿öÏ£¬°üÀ¨ÊÜÏ޵Ļ·¾³ÖУ¬È磺»úÆ÷Óë»úÆ÷(M2M)ͨѶºÍÎïÁªÍø(IoT)¡£ÆäÔÚ£¬¾­¹ýÎÀÐÇÁ´Â·Í¨Ñ¶´«¸ÐÆ÷¡¢Å¼È»²¦ºÅµÄÒ½ÁÆÉ豸¡¢ÖÇÄܼҾÓ¡¢¼°Ò»Ð©Ð¡ÐÍ»¯É豸ÖÐÒѹ㷺ÔËÓá£

  2014Äê·¢²¼µÄMQTT v3.1.1Êǵ±Ç°MQTTЭÒéµÄ×îа汾¡£³ý±ê×¼°æÍ⣬»¹ÓÐÒ»¸ö¼ò»¯°æMQTT-SN£¬¸ÃЭÒéÊ×ÒªÕë¶ÔǶÈëʽÉ豸£¬ÕâЩÉ豸һ°ã×÷ÒµÓÚTCP/IPÍøÂ磬È磺ZigBee¡£

 2¡¢MQTT¹æ»®×¼Ôò

  ÓÉÓÚÎïÁªÍøµÄ»·¾³ÊǷdz£ÌرðµÄ£¬ËùÒÔMQTT×ñÑ­ÒÔϹ滮׼Ôò£º

  (1)¾«¼ò£¬²»Ôö¼Ó¿ÉÓпÉÎ޵ŦÓÃ;

  (2)·¢²¼/¶©ÔÄ(Pub/Sub)ģʽ£¬±ãÀûÒôѶÔÚ´«¸ÐÆ÷Ö®¼ä´«µÝ;

  (3)ÔÊÐíÓû§¶¯Ì¬´´Á¢Ö÷Ì⣬ÁãÔËά³É±¾;

  (4)°Ñ´«ÊäÁ¿½µµ½×îµÍÒÔÌá¸ß´«Ê书ÂÊ;

  (5)°ÑµÍ´ø¿í¡¢¸ßÑÓ³Ù¡¢²»Îȶ¨µÄÍøÂçµÈÒòËØ¿¼ÂÇÔÚÄÚ;

  (6)Ö§³Å½ÓÁ¬µÄ»á»°¿ØÖÆ;

  (7)Àí½â¿Í»§¶Ë¼ÆËã²ÅÄÜ»òÐíºÜµÍ;

  (8)¹©¸øÐ§ÀÍÖÊÁ¿¹ÜÀí;

  (9)¼ÙÉèÊý¾Ý²»¿ÉÖª£¬²»Ç¿Çó´«ÊäÊý¾ÝµÄÀàÐÍÓë¸ñ¾Ö£¬±£³ÖÁé»îÐÔ¡£

  3¡¢MQTTÌØÐÔ

  MQTTЭÒé×÷ÒµÔڵʹø¿í¡¢²»¿É¿¿µÄÍøÂçµÄÔ¶³Ì´«¸ÐÆ÷ºÍ¿ØÖÆÉ豸ͨѶ¶ø¹æ»®µÄЭÒ飬Ëü¾ßÓÐÒÔÏÂÊ×ÒªµÄ¼¸ÏîÌØÐÔ£º

  (1)ÔËÓ÷¢²¼/¶©ÔÄÒôѶģʽ£¬¹©¸øÒ»¶Ô¶àµÄÒôѶ·¢²¼£¬½â³ýÓ¦ÓóÌÐòñîºÏ¡£

  ÕâÒ»µãºÜÀàËÆÓÚXMPP£¬¿ÉÊÇMQTTµÄÐÅÏ¢ÈßÓàԶСÓÚXMPP£¬,ÓÉÓÚXMPPÔËÓÃXML¸ñ¾ÖÎÄÔ­±¾´«µÝÊý¾Ý¡£

  (2)¶Ô¸ºÔØÄÚÈÝÆÁ±ÎµÄÒôѶ´«Êä¡£

  (3)ÔËÓÃTCP/IP¹©¸øÍøÂçÏνӡ£

  Ö÷Á÷µÄMQTTÊǸù¾ÝTCPÏνӽøÐÐÊý¾ÝÍÆË͵ģ¬¿ÉÊÇͬÑùÓиù¾ÝUDPµÄ°æ±¾£¬½Ð×öMQTT-SN¡£ÕâÁ½ÖÖ°æ±¾ÓÉÓÚ¸ù¾Ý²»Í¬µÄÏνӰ취£¬ÓÅȱµã×ÔȻҲ¾Í¸÷Óв»Í¬ÁË¡£

  (4)ÓÐÈýÖÖÒôѶ·¢²¼Ð§ÀÍÖÊÁ¿£º

  ¡°ÖÁ¶àÒ»´Î¡±£¬ÒôѶ·¢²¼³¹µ×ÒÀ¿¿µ×²ãTCP/IPÍøÂç¡£»á·¢×÷ÒôѶ¶ªµô»òÖØ¸´¡£ÕâÒ»µÈ¼¶¿ÉÓÃÓÚÈçÏÂ×´¿ö£¬»·¾³´«¸ÐÆ÷Êý¾Ý£¬¶ªµôÒ»´Î¶Á¼Ç¼ÎÞËùν£¬ÓÉÓÚ²»¾Ãºó»¹»áÓеÚ2´Î·¢ËÍ¡£ÕâÒ»ÖÖ°ì·¨Ê×ÒªÆÕͨAPPµÄÍÆËÍ£¬ÌÈÈôÄãµÄÖÇÄÜÉ豸ÔÚÒôÑ¶ÍÆËÍʱδÁªÍø£¬ÍÆË͹ýȥûÊÕµ½£¬ÔÙ´ÎÁªÍøÒ²¾ÍÊÕ²»µ½ÁË¡£

  ¡°ÖÁÉÙÒ»´Î¡±£¬±£Ö¤ÒôѶµ½´ï£¬µ«ÒôÑ¶ÖØ¸´»òÐí»á·¢×÷¡£

  ¡°Ö»ÒªÒ»´Î¡±£¬±£Ö¤ÒôѶµ½´ïÒ»´Î¡£ÔÚһЩҪÇó±È½ÏÑϸñµÄ¼Æ·ÑϵͳÖУ¬Äܹ»ÔËÓô˵ȼ¶¡£ÔڼƷÑϵͳÖУ¬ÒôÑ¶ÖØ¸´»ò¶ªµô»áµ¼Ö²»ÕýÈ·µÄ³É¹û¡£ÕâÖÖ×î¸ßÖÊÁ¿µÄÒôѶ·¢²¼Ð§ÀÍ»¹Äܹ»ÓÃÓÚ¼´Ê±Í¨Ñ¶ÀàµÄAPPµÄÍÆËÍ£¬±£Ö¤Óû§ÊÕµ½ÇÒÖ»»áÊÕµ½Ò»´Î¡£

  (5)СÐÍ´«Ê䣬¿ªÏúºÜС(¹Ì¶¨³¤¶ÈµÄÍ·²¿ÊÇ2×Ö½Ú)£¬Ð­Òé½»Á÷×îС»¯£¬ÒÔϽµÍøÂçÁ÷Á¿¡£

  Õâ±ãÊÇΪʲôÔÚ½éÉÜÀï˵Ëü·Ç³£Êʺϡ°ÔÚÎïÁªÍøÁìÓò£¬´«¸ÐÆ÷ÓëЧÀÍÆ÷µÄͨѶ£¬ÐÅÏ¢µÄÊÕ¼¯¡±£¬ÒªÖªµÀǶÈëʽÉ豸µÄÔËËã²ÅÄܺʹø¿í¶¼Ïà¶Ôµ¥±¡£¬ÔËÓÃÕâÖÖЭÒéÀ´´«µÝÒôѶÔÙÊʺϲ»¹ýÁË¡£

  (6)ÔËÓÃLast WillºÍTestamentÌØÐÔ֪ͨÓйظ÷·½¿Í»§¶ËÒì³£ÖжϵĻúÖÆ¡£

  Last Will£º¼´ÒÅÑÔ»úÖÆ£¬ÓÃÓÚ֪ͨͬһÖ÷ÌâÏÂµÄÆäËûÉ豸·¢ËÍÒÅÑÔµÄÉ豸ÒѾ­¶Ï¿ªÁËÏνÓ¡£

  Testament£ºÒÅÑÔ»úÖÆ£¬¹¦ÓÃÀàËÆÓÚLast Will¡£


 4¡¢MQTTЭÒéÔ­Àí

 4.1 MQTTЭÒéʵÏÖ°ì·¨

  ʵÏÖMQTTЭÒéÐèÇó¿Í»§¶ËºÍЧÀÍÆ÷¶ËͨѶÍê³É£¬ÔÚͨѶ¹ý³ÌÖУ¬MQTTЭÒéÖÐÓÐÈýÖÖÉí·Ý£º·¢²¼Õß(Publish)¡¢ÊðÀí(Broker)(ЧÀÍÆ÷)¡¢¶©ÔÄÕß(Subscribe)¡£ÆäÖУ¬ÒôѶµÄ·¢²¼ÕߺͶ©ÔÄÕß¶¼Êǿͻ§¶Ë£¬ÒôѶÊðÀíÊÇЧÀÍÆ÷£¬ÒôѶ·¢²¼ÕßÄܹ»Í¬Ê±ÊǶ©ÔÄÕß¡£

  MQTT´«ÊäµÄÒôѶ·ÖΪ£ºÖ÷Ìâ(Topic)ºÍ¸ºÔØ(payload)Á½²¿·Ö£º

  (1)Topic£¬Äܹ»Àí½âΪÒôѶµÄÀàÐÍ£¬¶©ÔÄÕß¶©ÔÄ(Subscribe)ºó£¬¾Í»áÊÕµ½¸ÃÖ÷ÌâµÄÒôѶÄÚÈÝ(payload);

  (2)payload£¬Äܹ»Àí½âΪÒôѶµÄÄÚÈÝ£¬ÊÇÖ¸¶©ÔÄÕß¾ßÌåÒªÔËÓõÄÄÚÈÝ¡£

  4.2 ÍøÂç´«ÊäÓëÓ¦ÓÃÒôѶ

  MQTT»á¹¹½¨µ×²ãÍøÂç´«Ê䣺Ëü½«Ê÷Á¢¿Í»§¶Ëµ½Ð§ÀÍÆ÷µÄÏνӣ¬¹©¸øÁ½ÕßÖ®¼äµÄÒ»¸öÓÐÐòµÄ¡¢ÎÞËðµÄ¡¢¸ù¾Ý×Ö½ÚÊ¡µÄË«Ïò´«Êä¡£

  µ±Ó¦ÓÃÊý¾Ý¾­¹ýMQTTÍøÂç·¢ËÍʱ£¬MQTT»á°ÑÓëÖ®Ïà¹ØµÄЧÀÍÖÊÁ¿(QoS)ºÍÖ÷Âä¿î(Topic)Ïà¸Éϵ¡£

 4.3MQTT¿Í»§¶Ë

  Ò»¸öÔËÓÃMQTTЭÒéµÄÓ¦ÓóÌÐò»òÐíÉ豸£¬Ëü×ÜÊÇÊ÷Á¢µ½Ð§ÀÍÆ÷µÄÍøÂçÏνÓ¡£¿Í»§¶ËÄܹ»£º

  (1)·¢²¼ÆäËû¿Í»§¶Ë»òÐí»á¶©ÔĵÄÐÅÏ¢;

  (2)¶©ÔÄÆäËü¿Í»§¶Ë·¢²¼µÄÒôѶ;

  (3)Í˶©»òɾ³ýÓ¦ÓóÌÐòµÄÒôѶ;

  (4)¶Ï¿ªÓëЧÀÍÆ÷ÏνÓ¡£

 4.4 MQTTЧÀÍÆ÷

  MQTTЧÀÍÆ÷ÒÔ³ÆÎª¡°ÒôѶÊðÀí¡±(Broker)£¬¿ÉËùÒÔÒ»¸öÓ¦ÓóÌÐò»òһ̨É豸¡£ËüÊÇ×øÂäÒôѶ·¢²¼ÕߺͶ©ÔÄÕßÖ®¼ä£¬ËüÄܹ»£º

  (1)½ÓÊÜÀ´×Ô¿Í»§µÄÍøÂçÏνÓ;

  (2)½ÓÊܿͻ§·¢²¼µÄÓ¦ÓÃÐÅÏ¢;

  (3)´¦ÀíÀ´×Ô¿Í»§¶ËµÄ¶©ÔĺÍÍ˶©ÇëÇó;

  (4)Ïò¶©ÔĵĿͻ§×ª·¢Ó¦ÓóÌÐòÒôѶ¡£

 4.5 MQTTЭÒéÖеĶ©ÔÄ¡¢Ö÷Ìâ¡¢»á»°

  £¨1£©¶©ÔÄ(Subscription)

  ¶©ÔİüÀ¨Ö÷ÌâÌôÑ¡Æ÷(Topic Filter)ºÍ×î´óЧÀÍÖÊÁ¿(QoS)¡£¶©ÔÄ»áÓëÒ»¸ö»á»°(Session)Ïà¹Ø¡£Ò»¸ö»á»°Äܹ»°üÀ¨¶à¸ö¶©ÔÄ¡£Ã¿Ò»¸ö»á»°ÖеÄÿ¸ö¶©ÔͼÓÐÒ»¸ö²»Í¬µÄÖ÷ÌâÌôÑ¡Æ÷¡£

  £¨2£©»á»°(Session)

  ÿ¸ö¿Í»§¶ËÓëЧÀÍÆ÷Ê÷Á¢ÏνӺó±ãÊÇÒ»¸ö»á»°£¬¿Í»§¶ËºÍЧÀÍÆ÷Ö®¼äÓÐ×´¿ö½»»¥¡£»á»°´æÔÚÓÚÒ»¸öÍøÂçÖ®¼ä£¬Ò²»òÐíÔÚ¿Í»§¶ËºÍЧÀÍÆ÷Ö®¼ä¿ç¹ý¶à¸ö½ÓÁ¬µÄÍøÂçÏνÓ¡£

  £¨3£©Ö÷Âä¿î(Topic Name)

  Ïνӵ½Ò»¸öÓ¦ÓóÌÐòÒôѶµÄ±êÇ©£¬¸Ã±êÇ©ÓëЧÀÍÆ÷µÄ¶©ÔÄÏàÆ¥Å䡣ЧÀÍÆ÷»á½«ÒôѶ·¢Ë͸ø¶©ÔÄËùÆ¥Åä±êÇ©µÄÿ¸ö¿Í»§¶Ë¡£

  £¨4£©Ö÷ÌâÌôÑ¡Æ÷(Topic Filter)

  Ò»¸ö¶ÔÖ÷Âä¿îͨÅä·ûÌôÑ¡Æ÷£¬ÔÚ¶©Ôıí´ïʽÖÐÔËÓ㬱íÃ÷¶©ÔÄËùÆ¥Åäµ½µÄ¶à¸öÖ÷Ìâ¡£

  £¨5£©¸ºÔØ(Payload)

  ÒôѶ¶©ÔÄÕßËù¾ßÌå½ÓÊÕµÄÄÚÈÝ¡£

 4.6 MQTTЭÒéÖеİ취

  MQTTЭÒéÖнç˵ÁËһЩ°ì·¨(Ò²±»³ÆÎª¶¯×÷)£¬À´ÓÚ±íÃ÷¶ÔÈ·¶¨×ÊÔ´Ëù½øÐвÙ×÷¡£Õâ¸ö×ÊÔ´Äܹ»´ú±íÔ¤ÏÈ´æÔÚµÄÊý¾Ý»ò¶¯Ì¬Éú³ÉÊý¾Ý£¬ÕâÈ¡¾öÓÚЧÀÍÆ÷µÄʵÏÖ¡£Í¨³£À´Ëµ£¬×ÊԴָЧÀÍÆ÷ÉϵÄÎļþ»òÊä³ö¡£Ê×Òª°ì·¨ÓУº

  1)Connect¡£µÈ´ýÓëЧÀÍÆ÷Ê÷Á¢ÏνÓ¡£

  2)Disconnect¡£µÈ´ýMQTT¿Í»§¶ËÍê³ÉËù×öµÄ×÷Òµ£¬²¢ÓëЧÀÍÆ÷¶Ï¿ªTCP/IP»á»°¡£

  3)Subscribe¡£µÈ´ýÍê³É¶©ÔÄ¡£

  4)UnSubscribe¡£µÈ´ýЧÀÍÆ÷³·Ïú¿Í»§¶ËµÄÒ»¸ö»ò¶à¸ötopics¶©ÔÄ¡£

  5)Publish¡£MQTT¿Í»§¶Ë·¢ËÍÒôѶÇëÇ󣬷¢ËÍÍê³Éºó·µ»ØÓ¦ÓóÌÐòÏ̡߳£

¼ÆÑ¶ÎïÁª¡ª¡ªÎïÁªÍø²úÆ·ÓëÐÐÒµ½â¾ö·½°¸ÌṩÉÌ¡£
Ïà¹Ø·½°¸Relevant Solutions
All Rights Reserved ÏÃÃżÆÑ¶ÎïÁª¿Æ¼¼ÓÐÏÞ¹«Ë¾°æÈ¨ËùÓÐ ÃöICP±¸15001895ºÅ Ãö¹«Íø°²±¸ 35021102001331ºÅ
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿