MQTT协议说明.pdf
- 文档编号:3211072
- 上传时间:2022-11-20
- 格式:PDF
- 页数:50
- 大小:2.54MB
MQTT协议说明.pdf
《MQTT协议说明.pdf》由会员分享,可在线阅读,更多相关《MQTT协议说明.pdf(50页珍藏版)》请在冰豆网上搜索。
MQTT协议说明谁创造了MQTT协议?
在1999年,来自IBM公司的AndyStanford-Clark和来自Arcom(现在改名为Eurotech)公司的ArlenNipper创造了MQTT协议。
DrAndyStanford-ClarkArlenNipperMQTT协议的发展历程标准化组织2013年3月,MQTT协议提交到OASIS组织并不断演进过程中。
MQTT协议规格书被公开发布,它使用免版税的许可证,EurotechEurotech公司(之前的名字是ArcomArcom)在他们的产品中实现了这个协议。
在2011年11月IBM和Eurotech公司对外宣布加入EclipseM2MIndustry工作组并捐赠MQTT代码给EclipsePaho项目组。
MQTT协议在物联网中的位置什么是MQTT协议?
MQTT是消息队列遥感传输协议是消息队列遥感传输协议的缩写(的缩写(MessageQueueingTelemetryTransportProtocol).基于轻量级代理的发布/订阅协议开放简单容易实现所以它能够应用在资源受限的环所以它能够应用在资源受限的环境中境中.例如例如:
传感器手机移动设备及平板电脑物联网(IoT)发布/订阅协议发布发布/订阅订阅协议(简单的场景)协议(简单的场景)发布/订阅消息模式支持广播MQTT协议规格书MQTT协议规格书MQTTv3.1-MQTTV3.1协议规格书它是一个基于TCP/IP协议的,可提供发布/订阅消息模式的,十分轻量级的通信协议MQTTv3.0-MQTTV3.0协议规格书它是一个基于TCP/IP协议的,可提供发布/订阅消息模式的,十分轻量级的通信协议MQTT-SNv1.2-MQTTforSensorNetworksV1.2协议规格书它是一个基于非TCP/IP协议的(例如:
ZigBee协议),专门为嵌入式设备提供消息通信模式的协议设计原理和假设条件简单,简单,简单!
发布/订阅消息传递零管理,零配置低带宽占用预料并且满足网络的频繁中断带来的问题。
(低带宽,高等待时间,不可靠,高成本的网络)可提供持续的会话客户端仅需做有限的处理工作,即可使用在环境许可的情况下,可提供传统的QoS服务无严格的数据内容的规定MQTT协议的特性是什么?
使用发布/订阅消息通信模式来提供一对多的分布式消息和解耦合的应用在消息传输过程中提供与消息内容无关的有效载荷基于TCP/IP协议的基础网络连接提供三种QoS的消息传递质量:
a.最多一次(Atmostonce)b.最少一次(Atleastonce)c.仅仅一次(Exactlyonce)很小的传输费用开销(固定头部的消息仅仅2个字节),和很少的协议交换来减少网络传输通信量使用约定的机制来提醒相关各方,客户端产生了一个异常的连接断开三种消息传递的QoS质量QualitiesofService在什么场景下使用MQTT协议?
间歇性的连接昂贵的带宽需要与一个或多个手机终端进行通信的企业级应用在不使用代码处理逻辑的情况下,使手机和平板电脑有可靠的数据传输确保消息的有效分发很低的等待响应时间谁正在使用MQTT协议?
企业级应用:
1.WebSphereMQByIBM特性:
它能使用消息的形式传输任何数据,使SOA商业系统架构更加灵活可靠2.GaianDB特性:
分布式联邦数据库使用生物启发自组织原理来减少管理3.LAMAByIBMExtremeBlueProject全名:
LocationAwareMessagingforAccessibility特性:
在2006年作为IBMsExtremeBlue项目的一部分,LAMA是一个可提供给人们感兴趣的东西和位置点的系统4.SiSiByIBMExtremeBlueProject全名:
SayIt,SignIt特性:
在2007年作为IBMsExtremeBlue项目的一部分,SiSi帮助聋哑人将语音转换为英国手语(BSL),通过MQTT和Java来实现谁正在使用MQTT协议?
智慧家居:
1.AndySCsTwittering/AutomatedHouse2.PowerMonitoring3.LightingControl4.Gardening5.Energymonitoringwithanold-styleanalogammeter6.Android/TV/Burglardetectionsystem7.CisecoOpenKontrolGateway8.WarmDirt9.homA10.StJudeMedicalCisecoOpenKontrolGateway谁正在使用MQTT协议?
移动端应用:
1.FacebookMessengerFacebookMessenger使用MQTT协议,使得手机与手机之间的通信更加快捷,节省手机电源和带宽MQTT可以使用在iOSiPhone,iPad,Android和Windows应用程序中。
MQTT-SN(MQTTForSensorNetworks)MQTT-SNv1.2-MQTTfor传感器网络V1.2协议规格书它是一个基于非TCP/IP协议的(例如:
ZigBee协议),专门为嵌入式设备提供消息通信模式的协议MQTT-S综述MQTT-S协议设计和MQTT协议很相似-例如:
使用MQTT语义传感器网络中每个节点是客户端,这些客户端通过网关与基于IP网络的MQTT代理进行通讯网关可以在MQTT-S与MQTT之间传输数据专为无线传感器网络架构及数据传输而设计的协议MQTTvsMQTT-S简单客户端QoS=-1MQTT-S网关MQTT代理MQTT-S网关MQTT代理支持MQTT协议的服务器IBMWebsphereMQTelemetryIBMMessageSightIBMIntegrationBusMosquittoEclipsePahoEurotechEverywhereDeviceCloudXivelyeMQTTm2m.iowebMethodsNirvanaMessagingRabbitMQApacheActiveMQApacheApolloMoquetteHiveMQMoscaLitmusAutomationLoop支持MQTT协议的服务器性能对比图支持MQTT协议的客户端Device-Specific:
Arduinombedmbed(simpleportoftheArduinopubsubclient)NanodeNetduinoM2MQTT(workswith.NetMicroFramework)Actionscript:
as3MQTTC:
EclipsePaholibmosquittolibemqtt-anembeddedCclientC+:
libmosquittoppClojure:
MachineHeadDart:
mqtt.dartDelphi:
TMQTTClientErlang:
erlmqttmqtt4erlmy-mqtt4erl-updatedforkofmqtt4erl支持MQTT协议的客户端Java:
EclipsePahoXenqttIncludesaclientlibrary,mockbrokerforunit/integrationtesting,andapplicationstosupportenterpriseneedslikeusingaclusterofserversasasingleclient,anHTTPgateway,etc.MeQanTTFusesourcemqtt-clientmoquetteMA9Bzipof1/2dozenmobileclientssourcecode.IncludesAndroid-optimizedJavasourcethatworkswithAndroidnotifications,basedonPahoIA92-deprecatedIBMIA92supportpack,useEclipsePahoGUIclientinstead.AusefulMQTTJavaswingGUIforpublishing&subscribing.TheEclipsePahoGUIisidenticalbutusesnewerclientcodeMQTTClientsLibrarysJavscript/Node.js:
EclipsePahoHTML5JavaScriptforMQTToverWebSocket.mqtt.jsnode_mqtt_clientIBM-providedPhoneGap/ApacheCordovaMQTTplug-inforAndroid-JavaScriptAPIisidenticaltoEclipsePahoHTML5JavaScriptmosquittowebsocketclient(deprecated,useEclipsePaho)Ascoltatori-anode.jspub/sublibrarythatallowsaccesstoRedis,AMQP,MQTTandZeroMQwiththesameAPI.LotusScript:
MQTTfromLotusScriptLua:
EclipsePahoLuaclientmqtt_lua(deprecatedusePaho)MQTTClientsLibrarys.NET/dotNET:
MqttDotNetnMQTTM2MQTTPerl:
net-mqtt-perlanyevent-mqtt-perlWebSphere-MQTT-ClientPHP:
phpMQTTMosquitto-PHPObjective-C:
mqttIO-objClibmosquitto-viawrappersMQTTKitMA9Bzipof1/2dozenmobileclientssourcecodeincludingObjective-CPython:
EclipsePahoPythonclient-originallythemosquittoPythonclientpython-mosquitto(deprecatedusePahocode)nyamukMQTTfortwistedpythonRuby:
ruby-mqttem-mqtt消息格式FixedHeaderMessageTypeDUPFlagQoS消息格式FixedHeaderRemainingLength消息命令列表CONNECTCONNACKPUBLISHPUBACKPUBRECPUBRELPUBCOMPSUBSCRIBESUBACKUNSUBSCRIBEUNSUBACKPINGRECPINGRESPDISCONNECT一个简单的样例(服务器与客户端)服务器端MosquittoBrokerv3.1它是一个开源的MQTT代理mosquitto-thebrokermosquitto.conf-brokerconfigurationmosquitto_passwd-toolformanagingmosquittopasswordfilesmosquitto_tls-veryroughcheatsheetforhelpingwithSSL/TLSmosquitto_pub-command
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MQTT 协议 说明