1、MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。
通过STM32向esp8266发送AT指令,对8266进行配置, 设置好8266上传的ip地址,配置好后,用STM32发送要上传的数据给8266,8266就能把数据上传给云平台了。
首先需要搭建一个ESP8266的服务器。ESP8266模块进行AT指令测试。注意每个指令都要加回车,发送才成功。
你可能注意到有一个 1000ms 的延时,这个是为了等待完成数据发送、接收。服务器再接收到数据后会对所提交的数据做出响应。
ESP8266接在STM32的串口3上,通过AT指令与ESP8266进行通信,再通过阿里云物联网服务器实现设备数据远程上传、下发,实现数据交互。
esp8266wifi模块是串口无线通信模块,支持三种工作模式:STA/AP/STA+AP STA模式:esp8266wifi模块WG219通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制。AP模式:esp8266wifi模块WG219模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制。
1、TCP是OSI第四层的传输层协议。MQTT是基于TCP的七层应用层协议。协议定位 TCP设计考虑的是面向连接的、可靠的、基于字节流的传输层通信协议。MQTT则是在低带宽高延迟不可靠的网络下进行数据相对可靠传输的应用层协议。设计思想 TCP的核心思想是分组交换。MQTT的核心思想是简单并适应物联网环境。
2、MQTT协议是Message Queuing Telemetry Transport的缩写,中文名叫作消息队列遥测传输。
3、MQTT是为了物联网场景设计的基于TCP的Pub/Sub协议,有许多为物联网优化的特性,比如适应不同网络的QoS、层级主题、遗言等等。WebSocket是为了HTML5应用方便与服务器双向通讯而设计的协议,HTTP握手然后转TCP协议,用于取代之前的Server Push、Comet、长轮询等老旧实现。
4、物联网 (internet of thing) ,表示的是可以把一些带某些传感器的设备(终端),接入到互联网的行为。 通过互联网连接这些设备,这些设备就能够互相协作。 而 MQTT 就是这些设备之间数据通信的一个基于 TCP/IP 的协议。每个终端都和实现了 MQTT 协议的代理/服务器相连。
5、当应用数据通过MQTT网络发送时,MQTT会把与之相关的服务质量(QoS)和主题名(Topic)相关连。一个使用MQTT协议的应用程序或者设备,它总是建立到服务器的网络连接。客户端可以:MQTT服务器以称为消息代理(Broker),可以是一个应用程序或一台设备。
6、MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议。而WebSocket则是浏览器与服务器全双工通信 (MQTTMessage Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。