ESP8266串口转wifi/wifi转串口模块

article/2025/9/24 4:10:24

ESP8266串口转wifi透传模块(MS_Uart2Wifi)

    • 简介
    • 模块功能
    • 模块使用步骤
    • 效果展示
    • 使用ESP8266开发板进行试验

简介

  最近几天做了一个串口转wifi模块,平常我们使用单片机往往用串口通信或者通过串口在pc上显示数据。但当我们想通过通过wifi无线通信方式来进行通信时,我们可能就要使用ESP8266模块的AT指令集,然后就要又要加上一大波程序,又要下载啥的。当我们想要改变wifi模块要连接的无线网、密码、要连接的服务器端和端口时又要重新改一波程序然后再下载,很是麻烦。因此改了一下ESP8266 wifi模块的固件.大家只要通过手机app 设置一下,即可完成串口到wifi透传功能。

  下面我所介绍的东西为串口转wifi模块(我称之为MS_Uart2Wifi),我会将程序开源,大家可以自行下载,使用的ESP8266的NOS_SDK3.03开发包。由于程序比较杂,我就不在这里详细介绍了,大家下载以后自行查看吧,我注释的比较详细,下载资源里还有个任务书上面也稍微介绍了一下。

*程序下载链接:程序下载链接
百度云配置app下载链接:配置app下载链接 提取码:vvpf
百度云串口助手和网络调试助手下载链接:串口助手和网络调试助手下载链接 提取码:8v3q
模块淘宝链接:淘宝模块连接
模块使用视频演示:B站模块使用演示视频链接


模块功能

①将MS_Uart2Wifi模块连接到目标设备上可实现串口转wifi透传功能。
②长按MS_Uart2Wifi模块上的配置按键三秒,MS_Uart2Wifi模块进入配置模式,配置指示灯常亮后,用户通过手机APP输入要wifi模块将要连接的路由器名称、密码以及电脑Server端的IP地址和端口还有透传时的串口波特率后,点击确定即可完成配置。
③模块信息重新配置后会默认重启,用户等待10秒左右模块会自动连接。
③当串口转wifi模块与服务器的连接断开后每隔6秒模块会自动重连。
④每次模块重启后默认是上次的配置信息,除非再次通过手机配置信息。

在这里插入图片描述

图1 模块实物图

如图1为MS_Uart2Wifi模块的电路图,S1为配置按键,S2为模块复位按键,左边的VCC GND TX RX为串口接口。上面的TX GND GP0为固件烧录接口。D1为模块配置指示灯,配置的时候亮,工作的时候灭。
模块使用系统框图

图2 模块使用系统框图

如图2为模块使用系统框图,串口转wifi模块连接到单片机,单片机通过串口与串口转wifi模块MS_Uart2Wifi进行通信。MS_Uart2Wifi模块收到数据后再以wifi的方式将数据上传到服务器端,当然服务器端可以是电脑也也可以是手机,但是要在同一个局域网下。如果就只有这些功能那我做的东西也就没太大意义了,这个项目的意义在于我们能够通过手机设置wifi模块要连接server的信息,时串口转wifi的适配性更强。

模块使用步骤

第一步:配置
 给MS_Uart2Wifi模块供电,长按配置按键三秒,直到配置指示灯常亮。然后手机打开wifi连接名为MS_Uart2Wifi的wifi,打开配置APP,点击连接,输入配置信息点击发送即可。
第二步:建立服务端
 将电脑连接到无线网,通过网络调试助手,建立TCP服务端。
第三步:等待连接成功
 模块连接成功后会显示,"This is MS_Uart2Wifi"的字符串提示信息。这时候就完成了模块的配置,只需配置一次,然后你就可以串口发啥,网络调试助手就接收啥,网络调试助手发啥,模块就接收啥。

效果展示

在这里插入图片描述

图3 配置app界面图
如图3为MS_Uart2Wifi模块的手机配置app界面,打开app后点击连接,连接成功后即输入配置信息然后点击发送,收到"YES"返回数据后即设置成功。


在这里插入图片描述

图4 模块开机连接成功打印信息
如果将usb转ttl模块的rx引脚接MS_Uart2Wifi的串口信息打印引脚(TX)即可接受到开机配置信息,配置信息如上图4所示。

图5 模块连接上后打印信息

当MS_Uart2Wifi连接到服务器以后会给服务器发送一段命令,“Hello,this is MS_Uart2Wifi”,当收到这些消息时代表模块连接成功。

在这里插入图片描述

图6 数据透传显示界面

自己测试设置模块的波特率为1382400也可以用(串口助手上限),大家如果有过有能力和需求也可以试试是否能通过这个模块传输图像,自测传输20kb没啥问题(通过定时1ms发送128个字节数据3s串口助手上面显示接收60000左右个数据,波特率1382400)。

使用ESP8266开发板进行试验

 当然我一开始也是用esp8266开发板进行调试的,所以大家如果有esp8266的开发板那直接就把固件烧写进去然后重启就行了。我用的是下面这个esp8266开发板。

在这里插入图片描述
 大家要做的电路连接就是把GPIO4->D2连接配置按键,GPIO5->D1连接配置至少灯。按键一端接D2引脚一端接地,指示灯正极接3V3电压,另一个引脚接D1,指示灯别忘记接电阻了不然会烧掉。再然后要做的就是烧写固件了。(固件程序上面是通过串口1打印信息,如果大家想改成串口0的话只要在user_init里改下
UART_SetPrintPort(1);//使用串口1作为信息输出引脚
这个函数就行了,把1改为0。
 当然如果大家不想麻烦还是直接买我们做的模块吧,这样方便又简单,淘宝链接在上面。


http://chatgpt.dhexx.cn/article/d6w3v7W6.shtml

相关文章

[开源工具] 串口转wifi —— 两个串口之间通过网络进行通信

之前有个项目,要求无人机与地面站直接的通信由之前的数传改为wifi,搜了一圈,很多都属于手工调试,而且包含复杂的界面。然而实际需求要求稳定,自动化。因此为了满足这个需求只能是自己开发一个小工具。 在当前项目背景…

串口转WIFI的工作方式理解

串口无线 AP(COM-AP)、串口无线 STA(COM-STA)和 串口无线 APSTA(COM-APSTA)3 个模式 串口WIFI模块是基于Uart接口的符合wifi无线网络标准的嵌入式模块,内置无线网络协议IEEE802.11协议栈以及TC…

【串口服务器】串口转WIFI

做工业互联网项目,难免会遇到通讯口转换的情况,比如智能仪表的RS-485需要转成以太网或WIFI才能与服务器通讯,方法也很简单,用串口服务器就能解决。 下面以有人的USR-W610为例来说明如何配置实现串口转WIFI的功能。 TIPS&#xf…

Linux 内核交互图

来源:www.linuxstory.org/linux-kernel-map

linux更新系统内核,Linux内核升级方法详解

Linux的内核是系统的核心,所以升级内核是Linux系统管理员的一项基本技能,所以我就分享了系统运维实务上的一篇文章,当然我对源文件稍做了一些内容的增加,就是把遇到的问题及解决方案也加上了,希望对各位Linux系统管理员有所帮助! 1.下载内核 cd /usr/src wget linux/kerne…

Linux内核态和用户态的socket编程

文章目录 前言一、内核态socket API二、server内核态编程1.源代码:server.c2.Makefile 三、用户态编程1.源代码 client.c2.Makefile 总结 前言 在实际中,有些时候我们底层驱动有数据发生时,需要立即通知应用层获取数据。当然网上的方法有很多…

CentOS7.6升级内核

CentOS7.6升级内核 方法一 1、更新系统和安装包 yum -y update 安装yum插件,以在安装和更新软件包时更快 yum -y install yum-plugin-fastestmirror 2、查看内核版本 uname -r 3、添加ELrepo存储库( 在安装新的内核版本之前,我们需要添加…

寒江独钓-Windows内核安全编程(完整版).pdf

寒江独钓-Windows内核安全编程(完整版).pdf 编写Windows内核程序,就意味着这个程序可以执行任意指令,可以访问计算机所有的软件、硬件资源。因此,稍有不慎就有可能将系统变得不稳定。Windows的设计者设计了各种驱动模型或者框架,如NT式内核驱动模型、WDM框架和新推出的WDF框…

linux kernel内核编程基础总结

Linux_kernel编程基础总结 时间:2015/10/9 背景:学习linux内核编程,总结学习中的经验,方便之后查看; 通常我们想弄清楚linux内核是怎么样工作的,如何使用内核接口来编写linux内核代码的第一步都是搭建一个实验环境来做试验的;这里总结一下实验环境的搭建步骤,和我的一…

内核模块编程之入门(二)—必备知识

模块编程属于内核编程,因此,除了对内核相关知识有所了解外,还需要了解与模块相关的知识。 1.应用程序与内核模块的比较 为了加深对内核模块的了解,表一给出应用程序与内核模块程序的比较。 表一 应用程序与内核模块程…

操作系统实验:Linux内核模块编程

实验内容 (1)设计一个模块,要求列出系统中所有内核线程的程序名、PID、进程状态、进程优先级、父进程的PID。 (2)设计一个带参数的模块,其参数为某个进程的PID号,模块的功能是列出该进程的家族…

HC12微控制器上的闪存内核编程

HC12微控制器上的闪存内核编程 作者 Sven Deckardt 限制 草案文件 摘要 本应用笔记的目的是解释如何为HC12实现CCP闪存内核以及如何为闪存编程配置CANape Graph。 目录 1.0概述... 1 闪存内核的一般用法... 1 2.0 Flash内核... 3 2.1结构... 3 2.2 …

Linux内核模块编程入门( 最简单的内核模块编程)

第1章简介 什么是内核模块? 所以,你想编写一个内核模块。 你知道C,你已经编写了一些正常的程序作为进程运行,现在你想要到达实际操作的位置,一个狂野指针可以消灭你的文件系统,核心转储意味着重启。 什么…

Linux内核模块编程

Linux内核模块编程 (作者:Baron_wu 禁止转载) 首先,创建一个内核模块并插入Linux内核中。这是实验第一部分 首先查看当前内核模块使用情概况:lsmod Module:模块名 Size:模块大小 Used by:这些模块在哪被使…

Linux内核网络编程

netfilter 内核网络编程 网络协议数据结构inet_protosw 在Linux-2.6.26.3/net/ipv4/af_inet.c文件中有一个名为inet_init()的函数对协议进行了初始化。inet_init()函数使用proto_register()函数来注册每个内嵌协议。 软中断CPU报文队列及其处理 Linux内核网络协议层的层间…

Linux学习之内核模块编程

前言 之前成功编译了内核,这次学习如何修改增加删除内核模块,为了保证内核的纯净,我特意重新编译安装了一个新的5.11.8的内核,其他内核同理。 本文原创,创作不易,转载请注明!!&…

MATLAB脚本调用simulink仿真文件及simulink模块参数修改-load_system函数-sim函数-set_param函数

文章目录 1. load_system2. sim3. set_param4. get_param5. 应用 1. load_system 加载系统,添加所需要加载的simulink仿真模型所在的路径和名称。 load_system(pathname\filename);必须加载系统之后才可以完成后续的运行simulink仿真模型和获取仿真模型参数和设置…

Matlab学习笔记3——str2num

Matlab学习笔记3——str2num Convert character array or string to numeric array 将字符数组或字符串转换为数字数组 语法 X str2num(chr) [X,tf] str2num(chr) 输出 X — 输出数组 数字矩阵 输出数组,以数字矩阵形式返回。 tf — 真或假 1 |0 真或假结果…

strlen,strcpy,strcat,strcmp函数

1.strlen函数 strlen函数的作用是计算给定字符串的长度,从内存的某个位置开始,遇到第一个\0结束。 使用样例: int main() {const char *ar "abcdef";printf("%d\n", strlen(ar)); } 返回字符串"abcdef"的…