OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9097|回复: 10

三个STM32,关于用WIFI和TCP/IP通信的问题,有懂的大神指导下

[复制链接]

19

主题

176

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-27
在线时间
206 小时
发表于 2017-1-6 15:25:53 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 dop101 于 2017-1-12 08:54 编辑

通信如图所示。三个stm32是在一个板子上的,wifi 为esp8266模块。
两个stm32做服务器和一个做客户端。内部通信用tcp/ip。
现在有几个疑问:
1.上位机通过路由,把命令给有WIFI通信的STM32,这时候WIFI应该是做为STA模式,子模式下它应该是TCP 客户端模式还是服务器模式。
因为WIFI接收的信号实际是串口接收的BUF里面。那么应该信号应该怎么转给这个stm32的网络下TCP客户端?
就是硬件上应该如何处理。(本来有线的话RJ45接路由就可以了。)
2.硬件上,两个STM32服务器,如何连接做客户端的stm32?
不知道我说明白了没,大概意思就这样。
wxid_gadt50kl5kf611_1483686782652_1.png

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

19

主题

176

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-27
在线时间
206 小时
 楼主| 发表于 2017-1-6 15:25:54 | 显示全部楼层
回复

使用道具 举报

21

主题

387

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1043
金钱
1043
注册时间
2016-9-8
在线时间
213 小时
发表于 2017-1-6 15:54:26 | 显示全部楼层
你得弄明白一个概念。是客户端发起connet服务器申请。服务器一直处于监听状态,收到请求才握手建立连接,然后通讯。你客户端还想connect不同的服务器IP?我就不说别的,,esp8266有那能力做三个socket吗??
shop60994719.taobao.com
回复

使用道具 举报

19

主题

176

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-27
在线时间
206 小时
 楼主| 发表于 2017-1-6 16:40:40 | 显示全部楼层
密耳 发表于 2017-1-6 15:54
你得弄明白一个概念。是客户端发起connet服务器申请。服务器一直处于监听状态,收到请求才握手建立连接,然 ...

为什么不可以呢。我给客户端创建三个线程,三个端口号,对应和哪个个服务器连接的时候,再连接。我本意并不是用esp8266来做三个soket,而是通过esp8266得到上位机的命令,然后给客户端,然后分给两个CPU。因为我之前做过一个项目就是一个客户端连接两个服务器,实现了两线程通讯。如果换成三个stm32板子,通过交换器这样的我会做,也能实现。现在就是在一个板子上,有加了WIFI。不知道该怎么处理我那两个疑问。
回复

使用道具 举报

19

主题

176

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-27
在线时间
206 小时
 楼主| 发表于 2017-1-6 16:44:45 | 显示全部楼层
本帖最后由 dop101 于 2017-1-6 16:46 编辑
密耳 发表于 2017-1-6 15:54
你得弄明白一个概念。是客户端发起connet服务器申请。服务器一直处于监听状态,收到请求才握手建立连接,然 ...

也许是我想复杂了。我的另一个方案,不用TCP/IP,板内通讯用串口,上面那个做客户端的32,接受上位机WIFI发来的命令,只要把命令广播给其他两个CPU(它俩可以接受相同的命令帧),这样做就是给上位机回复数据的时候不太好处理。朋友看这样可以吗?
回复

使用道具 举报

19

主题

176

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-27
在线时间
206 小时
 楼主| 发表于 2019-5-7 17:24:30 | 显示全部楼层
回头看下自己当初提的弱智问题
回复

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2019-7-29
在线时间
5 小时
发表于 2019-11-4 15:26:45 | 显示全部楼层
dop101 发表于 2017-1-6 16:40
为什么不可以呢。我给客户端创建三个线程,三个端口号,对应和哪个个服务器连接的时候,再连接。我本意并 ...

加了WiFi的STM32接收到的数据,应该还有一些开头的不需要的数据你怎么处理的
回复

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2019-7-29
在线时间
5 小时
发表于 2019-11-4 15:28:39 | 显示全部楼层
dop101 发表于 2017-1-6 16:44
也许是我想复杂了。我的另一个方案,不用TCP/IP,板内通讯用串口,上面那个做客户端的32,接受上位机WIFI ...

接收到的数据前面有一些不需要的数据,也是WiFi模块自带的一些字符串你怎么去掉的呀,比较急,兄弟
回复

使用道具 举报

19

主题

176

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-27
在线时间
206 小时
 楼主| 发表于 2019-11-14 19:58:38 | 显示全部楼层
雨菲露 发表于 2019-11-4 15:28
接收到的数据前面有一些不需要的数据,也是WiFi模块自带的一些字符串你怎么去掉的呀,比较急,兄弟

写个解析函数就好了,数据存在缓存中,然后查找自己需要数据的头。我没遇到wifi自带过来不需要的数据
回复

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2019-7-31
在线时间
15 小时
发表于 2020-1-3 15:06:00 | 显示全部楼层
雨菲露 发表于 2019-11-4 15:28
接收到的数据前面有一些不需要的数据,也是WiFi模块自带的一些字符串你怎么去掉的呀,比较急,兄弟

strtok函数可以做字符串截取
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2019-11-2
在线时间
6 小时
发表于 2021-3-18 16:34:13 | 显示全部楼层
请问最后怎么解决的?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 10:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表