76net±ØÓ®¹ÙÍøÊÖ»ú°æ


¹¤ÒµÂ·ÓÉÆ÷

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

·¢²¼Ê±¼ä£º2020-06-10ä¯ÀÀ£º3805

1¡¢MQTT¸ÅÊö

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


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¿Í»§¶Ë·¢ËÍÒôѶÇëÇ󣬷¢ËÍÍê³Éºó·µ»ØÓ¦ÓóÌÐòÏ̡߳£

ÉÏһƪ£ºL2TP»ù±¾Ô­Àí ÏÂһƪ£ºModbus TCPºÍModbus RTUЭÒéµÄÇø±ð
Ãâ·ÑÑù»úÉêÇë Ñù»úÃâ·ÑÊÔÓã¬Ìáǰ¹µÍ¨È·±£76net±ØÓ®¹ÙÍøÊÖ»ú°æ²úÆ·Éî¶ÈÆõºÏ¹ó˾ҵÎñÐèÇó
  • *ÄúµÄÐÕÃû£º
  • *ÊÖ»úºÅÂ룺
  • *¹«Ë¾Ãû³Æ£º
  • ÄúµÄְλ£º
  • ÄúµÄÓÊÏ䣺
  • ÄúµÄQQ£º
Ïà¹Ø²úÆ·
²úÆ·°Ù¿Æ
Òþ˽Õþ²ßÍøÕ¾µØÍ¼ Copyright ? 2015-2022 ÏÃÃÅ76net±ØÓ®¹ÙÍøÊÖ»ú°æÍ¨ÐſƼ¼ÓÐÏÞ¹«Ë¾ All Rights Reserved. ¡¡ ÃöICP±¸15018514ºÅ
ÔÚÏß×Éѯ ²¦´òµç»°
sitemap¡¢ÍøÕ¾µØÍ¼