为什么esp8266连接WIFI之后可以通过mqtt命令连接onenet平台呢?

发布时间:
2024-10-21 13:25
阅读量:
1

泻药,先简单解释一下AT指令;

1 什么是AT指令?

AT 命令是一种短文本命令语言,其历史可以追溯到 1981 年,最初是为 Hayes 智能调制解调器开发的,后来在 20 世纪 90 年代用于拨号调制解调器。

2 AT命令可以用来做什么?

AT 命令使您能够控制调制解调器、设备(蓝牙、Wi-Fi模块)和 SIM 等:

  • 唤醒设备或将其置于睡眠模式;
  • 省电模式的配置 ;
  • 扫描并注册可用的网络和无线电类型;
  • 获取有关网络状况变化的更新 ;
  • 读取/发送 SMS 和 USSD;
  • 发送数据(TCP/IP);
  • 获取硬件和 SIM 信息(IMEI、IMSI 等);

3 AT命令的语法是什么?

AT 命令通常具有标准化的语法规则 - 大多数命令具有四种不同的类型:

  • 测试;
  • 查询;
  • 设置;
  • 执行;

所有标准 AT 命令均以AT+<command>.对命令的响应不包含 AT,仅使用+<command>:

物联网开发中的AT指令是什么?

4 如何连接到onenet?

在esp8266内部已经集成了TCP/IP的协议栈,并且也集成了AT指令的解析器,当你发送相应指令的时候,esp8266可以及时响应。

所以,AT指令可以连接WiFi,发送数据,接收数据,这些都是没问题的。

如何通过mqtt协议连接到到onetnet?

首先MQTT协议是基于http协议,http协议是基于TCP/IP协议,这些都是数字信号,再往下就是模拟的电信号了。

关于MQTT可以参考一下这篇文章;

MQTT协议,终于有人讲清楚了


TCP/IP协议比较复杂,感兴趣可以去看看《TCP/IP详解》,《网络是怎样连接的?》

总之,顶层的协议都是对底层协议的再一次封装;

举个例子,你要运输红苹果和青苹果,那边先把8个苹果装成一小箱子,然后再把一小箱打包成一个大箱子,然后再将大箱子装车,每次16辆车出发,从A点到B点,就完成了运输。

这里如果把苹果抽象成二进制数据,红苹果代表1,青苹果代表0,一箱子代表一个字节,一个大箱子代表一个数据包,后面都按照某种规律进行组合,这里的某种规律就是我们认为规定好的 通信协议,依次类推。

这个举例可能不太恰当,但是大概是这个意思。

至于二进制数据是如何流通的,根据我的理解,如下图所示;

手动码字,个人经验,水平有限,难免存在纰漏,如果对你有帮助,记得帮忙点个赞

@小麦大叔

END