ESP-01/ESP01s多对一/多点通信

硬件连接

参考博客地址
主要连接-EN使能位

  • ESP-01需要连接高电平
  • ESP-01S悬空就行

服务器端

参考链接

必要配置

AT  # 测试是否连接成功
- OK 正常
AT+CWMODE=2 # 设置成AP模式 
- 1:STA模式    2:AP模式     3:STA+AP模式
- 返回OK

AT+CWSAP_DEF="MYWEI","12345678",5,4  # 配置热点信息
- MYWEI  热点名称
- 12345678 热点密码
- 5:通道号
- 4:  0-OPEN,1-WEP,2-WPA_PSK,3-WPA2_PSK,4-WPA_WPA2_PSK

AT+RST  # 重启

AT+CIFSR # 查看本机IP地址
- 客户端连接要用IP地址

AT+CIPMUX=1 # 多链路连接
- =1:多链路
- =0:单连接

AT+CIPSERVER=1,5000 # 设置TCP, 端口号
- 1:为TCP
- 5000:端口号 # 客户端连接要用

AT+CIPSTO=2880 #设置超时连接时间

在这里插入图片描述

客户端

AT  # 测试是否连接成功
- OK 正常
AT+CWMODE=1 # 设置成STA模式 
- 1:STA模式    2:AP模式     3:STA+AP模式
- 返回OK

AT+CWJAP_DEF="MYWEI_Server","12345678"  # 连接热点
- MYWEI  热点名称
- 12345678 热点密码

AT+RST  # 重启

AT+CIFSR # 查看本机IP地址
- 客户端连接要用IP地址

AT+CIPMODE=1 #开启透传模式
- 1:开启
- 0:关闭

AT+CIPSERVER=1,5000 # 设置TCP, 端口号
- 1:为TCP
- 5000:端口号 # 客户端连接要用

AT+CIPSTART="TCP","192.168.4.1",5000 # 连接服务器
- TCP连接
- 主机地址
- 主机端口号

AT+CIPSEND # 向主机发送数据
-+++(不带换行)退出发送

AT+SAVETRANSLINK=1,"192.168.4.1",5000,"TCP" # 自动开启透传模式
- 上电直接进去透传发送。  Very good!

在这里插入图片描述

STM32单片机实现

接收的数据分析

当靶环为5环时,一个发送105时,收到:

+IPD,0,6:105

- +IPD,0,6:  为固定发送
- 105        为发送数据
- 后边还有换行符

也就是从第九个符号开始是数据。
用主机直接判断第九个字符是1或2从而确定是哪个设备。

采用单片机串口接收

在串口助手接收的格式具有换行符,不确定这个换行是一位还是两位。

  1. 判断地址位
+IPD,0,6:105

可以看出第九位为地址位,主要问题在于怎么判断

可以看出第九位为地址位,主要问题在于怎么接收, 什么时候将串口清零

  • 根据以前开发经验
    将接收数据固定,但是这种方法用于固定长度的接收数据, 但是该作品收到的数据尾部有换行符, 换行符我无法是\r还是\r\n。
    测试很多次, 该方法不法适用。
  • 找规律重新写
    每次接受尾部数据无法确定, 但是首部数据都是相同的,所以可以从首部着手处理。
    无论设备1还是设备2第一个数据都是+,因此可以根据+判断。
    当接收到+时, 将接收位数清零,这样就可以十分准确的确定第九位就是地址位置。
  1. 判断数据位

+IPD,0,6:105
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VersionVersion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值