码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【ESP32】串口+wifi 透传,以及回调函数的使用


    本文主要记录【ESP32】串口+wifi 透传】的学习记录,主要包括
    1.串口的AT 模式和透传模式
    2. 串口命令解析
    3. socket 连接
    4. 回调函数的使用

    【ESP32】串口+wifi 透传,以及回调函数的使用

    • 1. 函数接口说明
    • 2.开发环境
    • 3.硬件连接
    • 4.测试结果
      • 4.1发送 ATWS 命令,扫描 wifi 信息
      • 4.2连接 wifi 热点指令
      • 4.3测试 socket 服务器连接
    • 5.回调函数使用说明

    📋 个人简介

    • 💖 作者简介:大家好,我是喜欢记录零碎知识点的小菜鸟。😎
    • 📝 个人主页:欢迎访问我的 Ethernet_Comm 博客主页🔥
    • 🎉 支持我:点赞👍+收藏⭐️+留言📝
    • 📣 系列专栏:esp32二次开发专栏🍁
    • 💬格言:写文档啊不是写文章,重要的还是直白!🔥

    1. 函数接口说明

    对应博文:基于ESP32实现一个WIFI透传模块demo

    这是一个练手的工程,综合了esp32的几个example,写一个简单的透传demo。参考一下某透传模块的指令,提取出以下几条(每条指令后应该加上换行符,比如"\n"、“\r\n”,否则将不识别):

    • 扫描AP
    指令ATWS
    响应AP : ,,,,,
    [ATWS] OK
    • 连接到 AP
    指令ATPN=,
    响应成功
    [ATPN] OK
    失败
    [ATPN] ERROR:
    error_code1: 命令格式错误
    2: 参数错误
    3: 连接 AP失败
    4: dhcp 超时
    5:无ap信息
    • 建立socket
    指令ATPC=,,
    响应成功
    [ATPC] OK
    失败
    [ATPC] ERROR:
    参数mode:
     0:TCP
    error_code1: 命令格式错误
    2: 参数错误
    3: 连接 server失败
    4: 尚未连接AP
    注意连接成功后直接进入透传模式

    2.开发环境

    操作系统:ubuntu 20.04

    虚拟机:VMare Workstation 16

    IDE:vscode 1.73.1

    vscode插件:Espressif IDF v1.5.1

    board:淘宝上的ESP32-S3-DevKitC-1兼容板

    外置串口板子:淘宝上的cp2102 6合1串口模块

    3.硬件连接

    esp32_TXD:IO4 <-> 串口模块:RXD

    esp32_RXD:IO5 <-> 串口模块:TXD

    4.测试结果

    说明:这个代码是有bug的,只用作练手用,三个命令必须依次发出去,若socket连接成功后,wifi断开,则程序就会卡死了

    4.1发送 ATWS 命令,扫描 wifi 信息

    AT 模式下,扫描信息

    image-test_atws

    4.2连接 wifi 热点指令

    发送命令,启动连接任务,当连接失败时:

    image-20230909143300997

    输入正确密码,连接成功

    image-20230909143359905

    4.3测试 socket 服务器连接

    连接 wifi 成功后,测试 socket

    image-20230909144138905

    连接成功后,改为透传模式

    image-20230909144224146

    5.回调函数使用说明

    场景描述:

    esp32 接收串口消息,然后解析消息,默认是 AT 模式,esp32 会将收到的消息返回至上位机

    当收到连接 socket 指令后,若 socket.c 中 socket 连接成功时,自动改为 透传 模式,esp32 会将串口消息发送至 socket 服务器

    逻辑流程图,如下图所示:

    image-20230909140905806

    不同的工作模式下示意图:

    ​

    image-20230909134710437

  • 相关阅读:
    docker docker-compose安装(centos7)
    Go 语言搭建个人博客(qiucode.cn 重构篇 一)
    蓝桥杯-队列
    Mermaid画流程图可以实现从一条线中间引出另外一条线吗
    python计算脚长 青少年电子学会等级考试 中小学生python编程等级考试一级真题答案解析2022年9月
    RabbitMQ之ttl(过期消息)解读
    十大排序算法的实现(C/C++)
    110道 MySQL面试题及答案 (持续更新)
    商城详情页的开发
    【手撕数据结构】二分查找(好多细节)
  • 原文地址:https://blog.csdn.net/qq_39217004/article/details/132777465
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号