ESP8266与单片机通信共地问题

2023-05-16

ESP8266与单片机通信共地问题

1.共地:

在数字电路中,要判断一个电平信号的高低,就需要一个标准来判断,这个判断标准就是0电平(也叫地),要把所有IC芯片的地连在一起,这就是共地。

在模拟电路中,也需要参照一个电平来表示信号,但是模拟电路对地线没有什么要求,只要有驱动电源就行了。

在实际中,各处的零电位实际上是不太相同的,将地线接在一起是为了统一零电位,以保证各处的电压,即电势差有统一的关系。

通常,在数字电路和模拟电路合用时,工业上规定只能有一个共地。这在一般数字电路的书中能找到。

总之一句话,要正常工作必须保证所有模块共地

2.开发板与ESP8266模块接线:

之前ESP8266的接线方法虽然能让整体模块进行工作,但开发板需要通过电脑与ESP8266、CH340模块进行共地,离开电脑这个共地介质就没法通信,比如想让单独供电的智能小车搭载ESP8266模块,并通过客户端控制小车启动,此时单片机的电源就不能是电脑USB线了

如果ESP8266模块有工作电压为5V的型号的话,就可以用开发板上的5V和GND为其供电,TX接RX,RX接TX后就能直接与开发板通信了,不幸的是,手上的ESP8266模块是3.3V的,所以不能用开发板的供电(开发板只有5V引脚),虽然看别人也照样接到5V上工作,但不提倡,怕工作久了把芯片烧了,所以ESP8266模块需要额外供电

经过尝试,不通过电脑共地的接线方法如下:

在这里插入图片描述

这种接线方法时电脑可以查看ESP8266与开发板的通信情况,但并没有给ESP8266供电,也没有给开发板供电,开发板和ESP8266都是独立供电,但它们的GND都是接在一起的,可以用面包板来做桥梁,将它们接在一起,这样才能保证基准都是一样的,才能正常通信;

数据流向:

TX与RX的的数据流向如图所示,单片机的发送的指令是不会到达CH340的,TX的数据始终流向RX

通信情况:

上电时,单片机发送AT指令给到ESP8266,等待ESP8266的应答信息从TX返回给单片机,同时也发送到了CH340的RX上,可在电脑串口上看到应答信息(这里连单片机发送的AT指令也能看到),单片机根据应答发送下一条AT指令,两三个循环后,AP模式下等待客户端的连接,连上后单片机就会不断发送数据到客户端上;在单片机与ESP8266连接的同时,电脑安信可串口助手也可以发送AT指令给ESP8266

QA:

单片机的AT指令明明不能通过TX发送到CH340的RX上,那为什么在电脑串口上也能看到这些AT指令呢?

答:

因为ESP8266模块将收到的AT指令和应答一并又从TX发送到了CH340的RX上,才能在串口助手上同时看到AT指令和应答;

即模块将发送过来的指令原封不动的先复述了一遍后接着发送有效恢复,称这种复述为回显,关闭回显(要发送ATE0)后如再次发送AT,则只恢复OK

想想一开始用串口助手发送AT指令给ESP8266不就是这种情况嘛,如果发送AT指令时不加换行,则ESP8266会把指令原封不动地返回到电脑上,加了换行后,才把指令和应答一起返回;如果把ESP8266模块的TX线拔掉,再通过串口助手发送指令,ESP8266是能收到的,指示灯会闪,发重启AT指令也能正常重启,但重启的指令那些重启后的初始化信息都没法在串口上显示,因为把TX的线拔掉了

所以在串口上发送的AT指令是进入到ESP8266模块后,再从模块的RX加上应答一起返回到串口助手上的,所以既能看到自己发送的AT指令,也能看到应答

这就解决了为什么能在串口助手上看到单片机发送的AT指令了,是ESP8266接收了再将指令和应答一起发送回去

3.不用电脑串口助手查看单片机与ESP8266的通信情况

不进行查看的话,完全就是单片机与ESP8266之间悄咪咪的通信了,就像它们之间在打电话,我们没法知道它们说了什么

既然不看通信情况,就不用到CH340了,去掉CH340即可,接线方法如下

在这里插入图片描述

在开启单片机电源后,等待单片机与ESP8266之间的通信,等个两三秒,就可以用电脑连上ESP8266的WIFI,然后打开网络调试助手,设置为TCP Client后点击连接,就能连上ESP8266了,如果单片机有写串口发送数据的话,数据就能通过串口给到ESP8266,然后再无线传到客户端上,客户端也能下发信息通过ESP8266给到单片机,控制单片机做一些事情,比如亮个灯啥的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ESP8266与单片机通信共地问题 的相关文章

  • stm32通过ESP8266连接互联网服务器,手机通过网页实现远程控制灯亮灭

    一 实验结果 最终实验结果如上图所示 由于csdn限制gif图像大小 所以模糊了点 但是还是可以看清的 图中是手机在网页中进行操作 然后发送请求到php服务器 php服务器建立tcp链接 该链接通过一个JAVA写的TCP请求转发器 把tcp
  • 二哈智能图像识别使用I2C导出识别结果到Wemos D1板

    学校比赛 购买了一块智能识别传感器模块huskylens 商家给了使用文档 但是别人用的官方uno板子来连接 我手里面只有ESP8266WiFi板子 只能把I2C驱动程序编译到esp8266上了 这是我的板子 说明文档里面只给了连接UNO
  • 从零开始的ESP8266探索(17)-Client(客户端)功能使用

    文章目录 目的 使用说明 作为TCP Client使用 作为WEB Client使用 总结 目的 前面的文章中有介绍使用Server 服务器 功能 这里的Server和Client指的是基本的TCP的Server和Client 当然就像前面
  • 【转载】ESP8266 基ESP8266_RTOS_SDK (ESP-IDF )中嵌入网页文件

    场景 在写ESP8266 web服务的时候 免不了要将自己设计的网页html和css等文件放入到固件中 在arduino中有fs可以进行上传文件 然后通过文件系统读出 那在ESP IDF中该怎么办呢 有几个思路 通过flash downlo
  • 使用Jupyter分析Wi-Fi数据

    在嗅探Wi Fi时 Wireshark是跨平台的 能够捕获大量数据 弄清这些数据完全是另一项任务 这就是Jupyter Notebook的用武之地 它可以帮助分析Wi Fi数据包 并确定特定电话以前连接过的网络 从而使我们可以了解所有者的身
  • 使用ESP8266和Blynk应用程序的远程房间恒温器

    该项目可通过您的手机通过家庭WiFi或移动网络的任何地方控制您的家庭供暖单元 基本上 它可以用远程控制器代替普通的可编程房间恒温器 作为遥控器 它使用安装了Blynk App并配置为可以满足所有需求的智能手机 智能手机和供暖系统之间的通信由
  • Anduino+esp8266_relay继电器 开发智能开关,APP可远程控制

    一 准备工作 1 在网上要购买一块ESP8266 01s带relay继电器的 价格10几元 2 网上购买一个USB转TTL的转接头 我自己用是CH340 价格几元 3 找一个服务器 当然免费的最好 我用的是酱菜创客平台 此平台是给创客提供一
  • NodeMcu arduino ESP8266 使用WIFIManager 库

    WiFiManager库使用说明 提示 这里可以添加系列文章的所有文章的目录 目录需要自己手动添加 例如 第一章 Python 机器学习入门之pandas的使用 提示 写完文章后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 W
  • (2)STM32+ESP8266+手机网络助手实现AP模式通信

    文章目录 1 实验目的及资源 1 1 目的 1 2 资源 2 串口调试wifi模块 2 1 接线 2 2 AT指令测试 2 3 与手机app通信 3 STM32通过wifi与手机app通信 3 1 使用资源 3 2 串口3初始化 3 3 e
  • esp8266-01s介绍与使用

    esp826601s 是个比较常用的wifi模块 体积小 功能强大 说是可以用于工业 下面介绍esp826601s 可用引脚 以及可用功能 esp 01 ESP 01S 在ESP 01的基础上 优化了PCB天线 进行了一小步的升级 带来了一
  • 从零开始的ESP8266探索(11)-定时任务调度器Ticker使用演示

    文章目录 目的 使用演示 基本使用1 基本使用2 动态设置和参数传递 停止和重启任务 注意事项 总结 目的 Arduino for esp8266属于无操作系统环境 对于开发多任务的复杂应用还是比较麻烦的 所以这里就提供了一个近似于操作系统
  • ESP8266恒温控制器

    本文 我们将使用ESP8266构建家用恒温器 温控器将具有以下功能 它将从DHT22温度传感器读取温度 它将温度与所需温度进行比较 如果高于它 它将触发继电器关闭 如果低于它 它将触发继电器打开 在此之前 首先了解下ESP8266如何保持温
  • ESP32/ESP8266使用MicroPython控制DHT11/DHT22

    本教程介绍了如何使用MicroPython固件将DHT11或DHT22温度和湿度传感器与ESP32和ESP8266开发板一起使用 DHT模块 刷新MicroPython固件 要遵循本教程 您需要在ESP32或ESP8266板上安装Micro
  • mipi介绍

    文章目录 1 MIPI简介 1 1 DSI layer 2 D PHY 2 1 D PHY介绍 2 2 电平状态 2 3 lane结构 2 4 data lane操作模式 2 4 1 escape mode和space one hot co
  • 基于STM32、OV2640及ESP8266的无线图传

    一 简介 本文利用STM32F407单片机 OV2640摄像机模块以及ESP8266 WIFI模块 并基于C 编写的TCP上位机服务 来实现图像的无线传输 本文受启发于博客 ESP8266 STM32F407 OV7670实现图片传输 在此
  • NodeMcu arduino ESP8266WIFI 模块 例程 WIFIClienBasic(TCP服务器发送信息)

    NodeMcu arduino ESP8266WIFI 模块 WIFIClienBasic TCP服务器发送信息 流程 配置连接网络 发送TCP请求 获取接受数据打印 This sketch sends a string to a TCP
  • Arduino for ESP8266&ESP32适用库ESPAsyncWebServer:快速入门

    文章目录 目的 特征 安装 快速体验 注意事项 总结 目的 Arduino for ESP8266 和 Arduino for ESP32 中默认就有WebServer 不过这些WebServer都是同步的 不支持同时处理多个连接 这在很多
  • 制作OLED图标

    制作OLED图标 陈拓 2021 06 24 2021 06 26 1 概述 制作用于OLED显示的图标 获取C语言图像点阵数据 2 图标库 先准备图标图像 可以从图标库中找需要的图案 下面两个是我常用的图标网站 2 1 Font Awes
  • 嵌入式编程中的zalloc是什么?

    我正在研究对 ESP8266 串行 WiFi 芯片进行编程 在其 SDK 示例中 它广泛使用了一个名为os zalloc我期望的地方malloc 不过偶尔 os malloc也被使用 因此它们在功能上似乎并不相同 不幸的是没有文档 任何人都
  • 使用 SPIFFS 加载文件时出现问题 (ERR_CONTENT_LENGTH_MISMATCH)

    好吧 这两天我一直在研究这个问题 但我仍然觉得我一无所获 我最近开始使用SPIFFS 文件系统 for Arduino开发于呼扎 ESP8266像FSBrowser ino例如 虽然它在分离代码方面非常出色 但随着我的代码不断增长 它在稳定

随机推荐

  • 树莓派bash: gpio:未找到命令

    今天用gpio指令时出现报错 xff1a bash gpio 未找到命令 然后我就去搜解决方法 xff0c 试了下面方法后解决问题 xff0c 在此记录一下 xff1a span class token function wget span
  • 树莓派4b Raspberry Pi 4安装以前内置Python3.7版本的buster系统出现的一系列问题记录

    今天想要重装树莓派系统 xff0c 想装那种内置Python3 7版本的系统 xff0c 从网上找到镜像源后烧录进去出现一系列问题 xff1a 烧录系统开机后 xff0c 首先就出现报错 xff1a 上面显示一个问题就是 xff1a sta
  • Opencv将图片中的手写数字一个一个单独的抠出来并保存到指定的文件夹

    今天想要构建自己的MNIST数据集 xff0c 但是一个一个手画然后拍照再把数字一个一个抠出来实在是太耗时了 xff0c 所以想用程序解决这个问题 xff1a 下面附上程序 xff1a xff08 备注 xff1a 里面的代码是在之前某个博
  • onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Load model from mn

    树莓派4B在使用onnxruntime1 6 0对model onnx模型进行加载的时候出现以下的报错 xff1a 原因 xff1a 由于导出的ONNX模型文件不兼容ONNX Runtime当前版本所导致的 xff0c 一开始我导出模型的方
  • C++ 模板与泛型编程简述

    目录 1 什么是模板和泛型编程 2 定义及使用模板 1 什么是模板和泛型编程 什么是模板 xff1f 什么是泛型编程 xff1f 模板的概念与泛型编程是相辅相成的 想象一个场景 xff1a 我们需要比较两个整数或两个字符串的大小 xff0c
  • 在jupyter notebook中添加和删除环境【笔记】

    在jupyter notebook中加入虚拟环境 xff1a python span class token operator span m ipykernel install span class token operator span
  • 浮点数怎么用二进制表示

    浮点数怎么用二进制表示 对于浮点数在计算机中是怎么用二进制表示的 xff0c 这个知识点让我学了很久 xff0c 很多资料讲的特别抽象难懂 xff0c 所以今天我想用自己的方式讲一讲 学过 计算机组成原理 或者类似 计算机系统 这些课程的小
  • Git合并出问题了怎么办

    首先 xff0c 我们不要在master中去进行修改提交 xff0c 一般这个时候我们新建一个分支 xff0c 将合并后的代码复制到新的分支中去 xff0c 然后我们对分支去进行一个修改 xff0c 当修改完成之后 xff0c 再合并到ma
  • 解决win11不能开启5GHZ热点的问题

    对于电脑5GHZ波段不可用的问题解决方法如下 xff1a 手机打开5GHz先让电脑连接电脑开启5Ghz热点断开WiFi xff0c 这时就可以用电脑开的5Ghz的热点了
  • SpringBoot 各层之间的关系

    一 层级 SpringBoot 分为四层 xff1a controller层 service层 dao层 entity层 entity层 xff1a 和model层一样 xff0c 存放的是实体类 xff0c 属性值与数据库值保持一致 xf
  • IEEE 802.1至802.12各层的 功能及特点

    IEEE 802 1 通用网络概念及网桥等 IEEE 802 2 逻辑链路控制等 IEEE 802 3 CSMA CD访问方法及物理层规定 IEEE 802 4 ARCnet总线结构及访问方法 物理层规定 IEEE 802 5 Token
  • ubuntu 常用命令大全

    一 文件 文件夹管理 ls 列出当前目录文件 xff08 不包括隐含文件 xff09 ls a 列出当前目录文件 xff08 包括隐含文件 xff09 ls l 列出当前目录下文件的详细信息 cd 回当前目录的上一级目录 cd 回上一次所在
  • MyBatis mapper.xml中使用静态常量或者静态方法

    使用MyBatis技术 xff0c 书写mapper xml时 xff0c 如果在其中的ognl表达式或者sql中直接使用一些数字或者字符串的话 xff0c 会造成难以维护的问题 在Java编码中 xff0c 我们通常会把这些数字或者字符串
  • get请求和post请求的区别

    HTTP协议 什么是协议 xff1f 协议实际上是某些人 xff0c 或者某些组织提前制定好的一套规范 xff0c 大家都按照这个规范来 xff0c 这样可以做到沟通无障碍 协议就是一套规范 xff0c 就是一套标准 由其他人或其他组织来负
  • 常见网络协议

    网络协议为计算机网络中进行数据交换而建立的规则 标准或约定的集合 例如 xff0c 网络中一个微机用户和一个大型主机的操作员进行通信 xff0c 由于这两个数据终端所用字符集不同 xff0c 因此操作员所输入的命令彼此不认识 为了能进行通信
  • C++ 栈(stack)使用简述

    目录 1 有关函数的作用 2 测试用例 至于栈的结构与原理 xff08 先入后出 xff09 这里就不细说了 xff0c 这里主要记录下 C 43 43 的头文件 lt stack gt 有关栈的操作是如何使用的 1 有关函数的作用 sta
  • 解决一个镜像ID同时拥有多个tag的问题

    docker rmi span class token operator lt span REPOSITORY TAG span class token operator gt span
  • 蜂鸣器介绍

    蜂鸣器介绍 蜂鸣器是一种将电信号转换为声音信号的器件 xff0c 常用来产生设备的按键音 报警音等提示信号 蜂鸣器按驱动方式可分为有源蜂鸣器和无源蜂鸣器 有源蜂鸣器 xff1a 内部自带振荡源 xff0c 将正负极接上直流电压即可持续发声
  • DS1302时钟芯片(SPI协议)

    DS1302时钟芯片 DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片 它可以对年 月 日 周 时 分 秒进行计时 xff0c 且具有闰年补偿等多种功能 可以把该芯片看成一个小型的单片机 xff0c 其内部
  • ESP8266与单片机通信共地问题

    ESP8266与单片机通信共地问题 1 共地 xff1a 在数字电路中 xff0c 要判断一个电平信号的高低 xff0c 就需要一个标准来判断 xff0c 这个判断标准就是0电平 也叫地 xff09 xff0c 要把所有IC芯片的地连在一起