esp8266 TCP Client STA模式

    因为嵌入式课程做的东西想用esp8266 将开发板上使用摄像头获取的图像发送到电脑。所以参考正点原子上的示例学习做了一下。虽然有源码可以参考,不过在根据自己的需要修改的过程中还是遇到不少问题的。

    esp8266的初始化过程为:

        1. 首先需要初始化串口的波特率。在初次尝试传输图像的时候,由于传输的速度太慢(1s仅能发送2000字节),我以为是串口设置的波特率问题,所以用了一个USB转TTL 使用 AT+UART指令修改串口的波特率为921600(代码中以及串口调试助手都要调整为对应的值)。不过再次尝试并没有显著的提高传输速度(这是因为代码中其他地方的原因,下面会解释)。

        2. 接着用一个循环发送AT 指令,是否可以连接模块。在测试发送数据的时候,由于我是移值的UCOSIII 系统,OV7670 将图象数据保存在SRAM 中,此时发送数据的任务等待,所以连续发送两次数据之间有时间间隔。在这个间隔中有时候会出现模块连接不上的情况(就是发送AT 指令无法连接到模块)。之前我以为重新把连接的过程运行一遍就没有问题了,但是依然没有解决这个问题。后来改为如果连接中断不重新连接,而是直接退出当前发送。一般情况下,在中断10s后会重新识别到模块的。

        3. 测试之后,发送ATE0 关闭回显。该步骤感觉可选,不过没有测试。

        4. 使用AT+CWMODE=1 设置模式为STA。

        5. 在设置模式之后使用AT+RST 重启模块,延时4s等待重启完成

        6. 使用AT+CWJAP 连接WIFI ,需要用到WIFI 的SSID 与密码,在该步骤后,开发板将会获得一个IP 地址

        7. 使用AT+CIPMUX =0指令设置为单连接,=1 为多连接

        8. 使用AT+CIPSTART 指令启动TCP 连接,参数为TCP 、目标主机的IP 、目标主机的端口

        9. 使用AT+CIPMODE=1 退出透传模式。如果要发送指令,需要退出透传模式,在发送数据的时候,需要开启透传

        10.之后就可以使用AT+CIPSEND 指令传输数据了

    在以上步骤中,需要经常使用atk_8266_at_response(1) 检查接收到的数据。该函数是例程中封装好的函数,如果直接操作到寄存器的话,可以

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值