精华内容
下载资源
问答
  • esp32透传
    千次阅读
    2022-01-10 21:00:06

    方案
    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 main loop, call slipif_poll() to check for new RX bytes, completed packets are fed into netif->input().
    3. Call slipif_received_bytes from your serial RX ISR and slipif_process_rxqueue() from your main loop. ISR level decodes packets and puts completed packets on a queue which is fed into the stack from the main loop (needs SYS_LIGHTWEIGHT_PROT for pbuf_alloc to work on ISR level!).
    • 注意
    选择的是第一种,第三种因为没法在中断中调用slipif_received_byte,开始选择第三种的时候一直在丢包。

    EC20需要设置
    • 波特率配置为3Mbps,只能通过EC20串口的接口去配置 (也可以通过stty -F /dev/ttyHS0 ispeed 3000000 ospeed 3000000 cs8)
    • slattach /dev/ttyHS0 -p slip -m -F &
    • ifconfig sl0 192.168.1.xx pointopoint 192.168.1.yy up (第一个IP是设置EC20的IP(ESP32 WIFI GOT IP获取到的IP),第二个IP是ESP32 slip设置的ip)
    • route add default gw 192.168.1.yy
    • 设置DNS vi /etc/resolv.conf
    nameserver 8.8.8.8
    注意
    开始调试的时候可以使用115200 bps 设置方法:slattach /dev/ttyHS0 -p slip -s 115200 -m -F &
    • linux ubuntu 1804上配置slip协议和ESP32进行调试
    1.slattach -s 115200 -p slip /dev/ttyHS0 -m &
    2.ifconfig sl0 192.168.6.x pointopoint 3.192.168.6.y up
    3.route add default gw 192.168.6.2y
    3.ping 192.168.6.y
    • 调试
    可以ping 局域网ip,网关,外网ip,运行http程序

    SLIP 需要设置
    • 配置slip ip地址,网关,掩码
    LWIP

    数据流
    上行: slipif_loop_thread–>slipif_rxbyte_input–>slipif_rxbyte(slip 接收数据并解决)–>netif->input–>tcpip_input()–>tcpip_inpkt–>tcpip_thread–>ip4_input–>ip4_forward(根据src地址判断从WIFI接口输出)–>netif->output–>low_level_output–>esp_wifi_internal_tx
    下行: wlanif_input–>netif->input–>-->tcpip_input()–>tcpip_inpkt–>tcpip_thread–>ip4_input–>ip4_forward(根据dst地址判断从slip接口输出)–>netif->output–>slipif_output_v4–>slipif_output
    注意: 通过netif_add设置数据给TCP层的接口,在slipif_init的配置slip输出函数,wlanif_init配置wifi输出函数

    IP &TCP校验
    • IP校验
    1、 把校验和字段置为0;
    2、 对IP头部中的每16bit进行二进制求和;
    3、 如果和的高16bit不为0,则将和的高16bit和低16bit反复相加,直到和的高16bit为0,从而获得一个16bit的值; 4、 将该16bit的值取反,存入校验和字段。
    • TCP校验
    tcp校验需要将ip伪首部、tcp报头、tcp数据分为16位的字,然后进行累加(如果总长度为奇数个字节,则在最后增添一个位都为0的字节 ),最后对累加的和进行按位取反即可。
    Ip伪首部包括源ip地址(4字节)、目的ip地址(4字节)、协议号(两字节)、tcp包长(2字节) ,共14字节。

    抓包工具
    • wireshark
    可以抓本机ip的报文,抓别的ip的报文(需要专门的网卡)
    注意:
    wireshark中IP头部没有进行校验判断,TCP协议中也没有进行数据的校验判断
    • omnipeak
    抓包数据比较详细,需要有专门的无线网卡
    • 路由器抓包 可以使用h3c路由器抓包 网址192.168.1.1

    更多相关内容
  • v2.6 注意事项:由于新增了功能,使用前请先仔细阅读v2.6的使用说明; ...2.WiFi没连接成功时,WiFi重连机制占用着CPU,此时连接AP与打开Webconfig会有点慢,请刷新几次即可,ESP32 没有此问题。
  • UDP_IP透传_ESP8266_ESP32_ESP32S2_ESP32-C3
  • 基于STM32的机智云平台ESP8266数据透传实验例程
  • ESP8266 STM32程序实现wifi透传数据 正常数据透传测试与电脑通讯ok,需设置正确IP地址与端口。
  • 使用stm32F103和ESP8266做的TCP透传,通过按键2可以实现SmartConfig,也可以通过程序写入路由器信息
  • ESP32ESP8266/85增强型透传固件 JFirmware v1.3(稳定版) 修正了一些显示上的错误,还有ESP32的固件已经将多个固件的文件合成一个bin,使用FLASH DOWNLOAD TOOLS刷写时只需要导入一个bin,地址为0x00即可,现在...
  • v3.3.1 注意事项:由于新增了功能,使用前请先仔细阅读v3.x的使用说明; 版本特性: 1.修复Wbconfig 部分UI的一些显示错误; 2.修复了TPC Client下使用域名进行连接,配置页中却显示no use IP的问题;
  • ESP8266 wifi 模块,串口透传固件,可以启动直接进入透传模式。
  • JFirmwareESP ,乐鑫ESP系列芯片透传固件. v3.1 注意事项:由于新增了功能,使用前请先仔细阅读v3.x的使用说明; 版本特性: 1. 增加更多常用的串口波特率; 2. 增加更多可选的缓冲区大小; 3. 修复若干BUG,...
  • 1.用于指导开发者基于spi接口设计大数据量透传功能
  • ESP32 使用BLE蓝牙透传

    千次阅读 2021-11-22 15:21:42
    ESP32–AT模式使用BLE做透传 这里笔者用的APP是这个,各大应用商店应该都有。 ​ 文章目录ESP32--AT模式使用BLE做透传这里笔者用的APP是这个,各大应用商店应该都有。1.按照手册连接硬件2.烧录AT指令固件后,按照...

    ESP32–AT模式使用BLE做透传

    这里笔者用的APP是这个,各大应用商店应该都有。

    ###                                          [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b0iqL6aL-1637565852328)(C:\Users\desktop\AppData\Roaming\Typora\typora-user-images\image-20211122151046806.png)]

    1.按照手册连接硬件

    ​ 笔者使用的是安信可做的ESP32-S模组,默认TX-RX按照手册如下,默认波特率115200

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1zLXcuSO-1637565852332)(C:\Users\desktop\AppData\Roaming\Typora\typora-user-images\image-20211122150302652.png)]

    Uart0是下载固件的串口, Uart1是负责调试AT指令的串口,(下载固件等等的详细教学,笔者后面会针对于ESP32做一款开发板,并出手册和视频,大家可以多关注,B站:冒蓝火的哒哒哒哒王),按照图中管脚连接,可用 AT+回车测试 AT模式是否OK!

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sLkfUEwQ-1637565852335)(C:\Users\desktop\AppData\Roaming\Typora\typora-user-images\image-20211122150710259.png)]

    2.烧录AT指令固件后,按照以下命令逐条发送:

     AT+BLEINIT=2     //初始化BLE为server
     AT+BLEGATTSSRVCRE    //GATTS 创建服务
     AT+BLEGATTSSRVSTART   //GATTS 开启服务
     AT+BLENAME="AiThinker"   //设置BLE 设备名称      
     AT+BLEADVDATA="0201060A0941695468696E6B6572"   //广播设备名称  
     AT+BLEADVSTART        //开启BLE广播
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HkP2eblw-1637565852338)(C:\Users\desktop\AppData\Roaming\Typora\typora-user-images\image-20211122150757668.png)]

    发送完上述指令后正常就可以开启广播来连接蓝牙了。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F1xZWiSn-1637565852339)(C:\Users\desktop\AppData\Roaming\Typora\typora-user-images\image-20211122151359661.png)]

    3.搜索并连接蓝牙,选择服务UUID

    选择Unknown Service 选项

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Z5GoLCd-1637565852340)(C:\Users\desktop\AppData\Roaming\Typora\typora-user-images\image-20211122151447514.png)]

    蓝牙设备里 发送接口UUID为:0000C304-0000-1000-8000-00805F9B34FB
    
    蓝牙设备里 接收接口UUID为:0000C305-0000-1000-8000-00805F9B34FB
    

    4.打开服务ID进行透传测试

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kDblGuom-1637565852342)(C:\Users\desktop\AppData\Roaming\Typora\typora-user-images\image-20211122151713317.png)]

    点击功能后面的箭头就可以进入发送或者接收模式, AT里默认使用的是串口1,这里发送的直接去刚才串口助手测试即可。

    点击功能后面的箭头就可以进入发送或者接收模式, AT里默认使用的是串口1,这里发送的直接去刚才串口助手测试即可。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VaHYQpuF-1637565852344)(C:\Users\desktop\AppData\Roaming\Typora\typora-user-images\image-20211122151722875.png)]

    展开全文
  • 这是本人第一次开发的原创透传固件,适配ESP8266与ESP32,本固件是一款基于ESP Arduino core 的ESP8266/ESP32增强型透传固件(目前还没有蓝牙功能),相比现在网络流传的一些透传固件,多了很多功能。 优点:支持在WEB...
  • stm32单片机 WiFi模块 实现485到WiFi的透明传输
  • ESP8266透传固件。适合1Mflash的模块,例如野火,并且支持最新的at_device,可以在rtthread上对接esp8266模块, \ | / - RT - Thread Operating System / | \ 4.1.0 build Jan 23 2022 13:44:15 2006 - 2021 ...
  • ESP32 增强型透传固件 JFirmware v1.0(ESP32) (暂不带蓝牙功能) 简介:  继上次布的ESP8266透传固件后,立即又开发了ESP32的版本,但暂时还没研究好蓝牙功能。纯个人开发,诸多不善请大佬们多多指教。  本...

    ESP32 增强型透传固件 JFirmware v1.0(ESP32) (暂不带蓝牙功能)

    简介:

            继上次布的ESP8266透传固件后,立即又开发了ESP32的版本,但暂时还没研究好蓝牙功能。纯个人开发,诸多不善请大佬们多多指教。

            本固件是一款基于ESP Arduino core 的ESP32增强型透传固件,支持在WEB上OTA升级,具有超详细的运行状态查询,超详细的网络设定,支持512Byte长数据包发送,能在MCU控制模式与透传模式下切换(二次开发需要有本固件的原代码),预留云端登录的开发等代码空间,本固件占用的资源如下:

          (基于v1.0 2018.10.08(3))
          Program size: 810,264 bytes (used 62% of a 1,310,720 byte maximum) (11.18 secs)
          Minimum Memory Usage: 41632 bytes (13% of a 327680 byte maximum)
           适配硬件:基于ESP32的硬件,如ESP32-WROOM-32等;
           虽然是基于ESP Arduino core,但透传模式下性能是能满足智能控制的需求的,详细可以看"固件透传测试报告"。

    优点:支持OTA升级、带详细运行状态页、超详细的网络设定、支持512Byte长数据包发送,带有硬件复位功能,可以支持二次开发实现代码控制MCU的其他功能,当网络设定有问题或网络故障时不会阻塞进程;

    缺点:基于ESP Arduino core开发,性能可能会比原生SDK开发的略逊。

            请勿把本固件用于商业用途,大家都想赚钱,如果都顺手拈来自己袋袋,那估计就没有下个版本了,尊重个人成果,详情请看压缩包中的“用户使用协议”

    传播请注明出处,谢谢大家支持~!

    固件下载:https://download.csdn.net/download/jamie_chu/10706017

    百度网盘:https://pan.baidu.com/s/1eop6WR9OEQ-kbjyQDfJalA

    入门教程:https://download.csdn.net/download/jamie_chu/10689768

    烧录工具及相关文档:https://pan.baidu.com/s/1PkhN1_ClWVQraarvRA_SDw

     

    展开全文
  • ESP32 BLE SPP 透传操作

    千次阅读 2021-01-09 00:09:29
    ESP32 BLE SPP 操作 AT+BLEINIT=2 //将esp32设置成蓝牙SERVER AT+BLEGATTSSRVCRE //GATTS创建服务, 建议初始化后就建立GATTS, 建立连接在创建会报错 AT+BLEGATTSSRVSTART //GATTS 开启全部服务。 AT+BLEGATTSCHAR? /...

    ESP32 BLE SPP 操作
    AT+BLEINIT=2 //将esp32设置成蓝牙SERVER
    AT+BLEGATTSSRVCRE  //GATTS创建服务, 建议初始化后就建立GATTS, 建立连接在创建会报错 
    AT+BLEGATTSSRVSTART //GATTS 开启全部服务。
    AT+BLEGATTSCHAR? //GATTS 发现服务特征
    AT+BLENAME="espressif"   //ble 名称改成espressif  
    AT+BLEADVDATA="0201060A09657370726573736966"   //广播设备名称
    AT+BLEADVSTART   //打开广播 , 注意手机连接时候需要执行此指令让ESP32发广播包,可以重复执行. 这样手机才能扫描到ESP32 BLE设备
    AT+BLESPPCFG=1,1,6,1,5 //配置 BLE 透传模式
    注意: 配置好透传参数之后我们还不能马上进入透传,我们需要先将client端(本例为手机)开启侦听。我们在BLE调试助手上点击第1号service的第6号characteristic右边的箭头
    此时Server端(模组)返回
    +WRITE:0,1,6,1,2,
    AT+BLESPP //打开透传模式

     

    BLE NAME设置

    AT+BLENAME="espressif"
    AT+BLEADVDATA="0201060A09657370726573736966" 

    657370726573736966   名称espressif的 hex码
    02 01 06 字段设置广播模式
    0A 09 657370726573736966  espressif字段表示:
    0A: 此字段数据长度为10
    09 :完整的设备名称

     

     

     

    展开全文
  • STM32+ESP8266WIFI透传.zip

    2020-12-05 11:26:31
    该例程是:stm32f103+esp8266实现的wifi透传功能。在局域网中,WIFI 工作在 STA 模式,做客户端,电脑做服务端,客户端与服务端可以互相发送数据。
  • 源代码ESP8266-WIFI数据透传,将数据通过路由器上传到服务器端 包含 //ESP8266模块发送字符串 //enumEnUnvarnishTx:声明是否已使能了透传模式 //pStr:要发送的字符串 //ulStrLength:要发送的字符串的字节...
  • 这是本人第一次开发的原创透传固件,适配ESP8266与ESP32,本固件是一款基于ESP Arduino core 的ESP8266/8285/ESP32增强型透传固件(目前还没有蓝牙功能),相比现在网络流传的一些透传固件,多了很多功能。 优点:支持...
  • 透传固件烧录 工具
  • stm32zet6+WIFI上电进入透传模式
  • ESP8266 ESP32 透传

    千次阅读 2022-03-16 15:00:46
    GPIO引脚映射表 表格中可以看出有11个GPIO引脚可用。而11个中的2个引脚通常被保留用于RX和TX,以便进行串口通信。...PULLUP(输入,默认上拉,也就是高电平) ESP8266透传支持AP,STA和AP+STA三种配置方式
  • v3.2 注意事项:由于新增了功能,使用前请先仔细阅读v3.x的使用说明; 版本特性: 1. 增加了状态指示灯的io,详情请看使用说明文档; ... 3. 界面增加RSSI显示; 4. 修复一些显示上的BUG;...5. 修复了一些内存泄漏的问题;
  • ESP32 WIFI透传固件

    千次阅读 2017-09-29 18:04:38
    这个固件采用一键配网ESPTOUCH,透传用到的串口是UART2,开机自动回连以前的WiFi。波特率设置为115200,串口接收的字符以\r\n为结束标志位。  笔者暂时没有看到乐鑫提供关于ESP32API的详细文档,相对于ESP8266来说...
  • STM32操作ESP8266(透传

    千次阅读 2020-03-13 20:38:31
    STM32操作ESP8266,自己可以根据AT执行,相应设置其他状态 //测试 while(!ESP8266_AT_Test()){ printf2("test error\r\n"); } printf2("test OK\r\n"); HAL_Delay(1000); //...
  • ESP32 作为 TCP Client 端与 TCP Server 进行数据透传 测试指令: AT+RESTORE AT+CWMODE =2 // Set ESP32 to AP mode AT+CWSAP ="ESP32","12345678",1,3 //Set the configuration of an ESP32 SoftAP AT+CIP
  • ESP32ESP8266/85增强型透传固件 JFirmware 更新,ESP32更新v1.3,增加了蓝牙透传功能. ESP82xx系列升级至1.2.1,详细更新内容请看压缩包内的文档. 注意:曾经刷写过v1.0版的用户,请使用乐鑫官方的FLASH ...
  • 使用AT指令配置ESP8266开启透传模式(2种方法),非常简单,通俗易懂,一学就会,一看就懂,都不用看文档了,按着几个命令操作就行,很方便,用手机,用电脑都可以调试
  • 因项目需求,需要使用ESP32 BLE蓝牙同亿佰特蓝牙模块(型号:E104-BT5011A)建立透传。经查阅E104-BT5011A使用指南,可以通过UUID与其他厂商蓝牙模块建立连接。经过研究后成功实现同ESP32 BLE蓝牙透传

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,281
精华内容 1,312
关键字:

esp32透传