本人最近在为公司产品挑选wifi模块,不得不否认,esp8266极低的价格极大的吸引了我,所以决定将此模块对接到产品上。
目前本公司的产品,已经有有线网口,所以也已经有lwip协议栈。所以初步的想法,是将esp8266当做一个网口,收到的数据直接丢给cpu,cpu发出的网络数据,也由esp8266全盘输出,而协议栈部分,有cpu自己的程序负责。在这个过程中,esp8266只是一个硬件数据输入输出接口,并不处理网络协议的数据帧。
过去几天,抱着这种想法,我认真阅读了esp8266的rtos和non os例程,发现实现这个方案的方法,就是在lwip的底层移植函数(ethernetif.c文件)中,让esp8266的数据输入输出不再转交给lwip,而是通过esp8266的uart或者spi,交付给主cpu。这种情况下,lwip可以全部拿掉,code也会变小。
然而很遗憾,虽然在non os的代码中,可以看到ethernetif.c的实现函数,但是这些代码并没有被编译到最后的bin中,仅仅是公布了代码给用户阅读之用。而我们编译生成的固件,使用的却是lib目录下的liblwip.a文件,对于用户而言,此文件是不可重编译的。所以依据目前的资料,无法实现上述方法。
目前市面上,stm32的产品是非常多的,这些stm32的产品,有一些对数据带宽要求小的,可以用AT命令的方式,和esp8266相连。然而对于部分对网络要求较高的产品,希望通过高速spi或者其他通信方式同wifi模块进行对接,从而自己处理协议栈的,可选的余地却非常小。目前市面上,庆科的EMW1062,就是可以和cpu通过spi协议通信的,但是价格为20+。另外有一款WM-G-MR-09模块,使用的 Mavell 88W8686 芯片和主cpu进行spi通信,价格也是20+。对于有技术能力的开发者而言,上述两款的开发难度跟esp8266是同一数量级的,然而很明显esp8266便宜得多,如果esp8266不能对主cpu进行不涉及tcp协议的硬件支持,将是非常可惜的。我相信很多工程师跟我有一样的需求。
所以,希望官方能够提供一个仅仅支持Ap设置,Station方式下数据全部读出交给主cpu的例程,相信这对于官方而言不是什么难事,谢谢!
esp8266 sdk可否剥离tcp协议?直接作为stm32的网口?
Re: esp8266 sdk可否剥离tcp协议?直接作为stm32的网口?
Postby karlno » Thu Dec 24, 2015 12:23 pm
Espressif_Faye wrote:您好,
您选择使用 ESP8266 可以无需 STM32 了,直接使用 ESP8266 作为主 CPU 即可。
或者将 ESP8266 作为主 CPU,STM32 作为从 CPU 呢?
感谢您对 ESP8266 的关注!
我的产品里,几乎用到了stm32f4的所有功能,包括5个串口,一个usb,三个spi口,以及其他资源若干,你的意思是让我用esp8266替代stm32,且不说移植的麻烦程度,请问esp8266有这么多资源给我们产品用吗?
所以请针对此问题给出切实可行的方案,否则esp8266的适用范围将大打折扣。
我近日看了英文贴,有一个用户就是这么做的,可惜他的代码无法建立编译环境,不可用。
Ethernet packet handling with ESP8266
viewtopic.php?f=7&t=1462
这个帖子的作者所做的事情,就是我想做的事情,可惜他给出的代码,只能看,不能编译。而且我们接触到的资料,很大程度上都没有开源,所以无法像这个作者一样。
Who is online
Users browsing this forum: No registered users and 17 guests
Login
Newbies Start Here
Are you new to ESP8266?
Unsure what to do?
Dunno where to start?
Start right here!
Latest SDK
Documentation
Complete listing of the official ESP8266 related documentation release by ESPRESSIF!
Must read here!
- All times are UTC+08:00
- Top
- Delete all board cookies
About Us
Espressif Systems is a fabless semiconductor company providing cutting-edge low power WiFi SoCs and wireless solutions for wireless communications and Internet of Things applications. We are the manufacturer of ESP8266EX.