方案
EC20和ESP32通过串口SLIP接收传输WIFI数据
数据流
EC20上层应用-> EC20通过slip串口发送数据->ESP32接收到数据->传输到ESP32 TCP层 ->传输到ESP32的IP层(通过IP地址的不同选择netif接口转发数据)
注意
EC20和ESP32在wifi这里对外是当作一体的,所以EC20设置的IP地址可以是ESP32获取到的wifi地址,slip需要设置一个netif,wifi有一个netif,在IP层通过src地址和dest 地址选择相应的netif进行转发
SLIP
• 定义
①IP数据包以END(0xc0)的特殊字符结束,而有些数据报的开始处也传一个END字符以防止数据报到来之前的线路噪声当做数据报内容。
②若IP报文中某个字符为END,那么就连续传输两个字节oxdb和oxdc来取代(oxdb这个特殊字符被称作SLIP的ESC字符)。
③若IP报文中某个字符为ESC,那么就连续传输两个字节oxdb和oxdd来取代。
• 缺陷
①数据帧中没有类型字段,这代表若一条串行线路上使用SLIP进行传输数据报,那么其不能使用其他协议。
②每一段必须知道对方的IP地址且无法把本段的IP地址通知给另一端。
③SLIP没有在数据帧中加入检验和,若SLIP传输的报文发生错误,只能通过上层协议来发现其错误。
• MAC 层协议,三种实现方式
1. For NO_SYS==0, an RX thread can be used which blocks on sio_read() until data is received.
2. In your ma