STM32的学习记录--2.WiFi模块的使用

2023-11-13

本次学习用的单片机是STM32F103C8T6
本次学习用的WiFi模块是ESP8266
本博客仅用于课余学习,不可商用!!!
如有侵权,请告知我删除博客,谢谢配合。
以下学习资料均在云盘,仅供学习交流 禁止用于商业用途

本文链接
个人博客:https://ronglin.fun/?p=78
PDF链接:见博客网站
CSDN: https://blog.csdn.net/RongLin02/article/details/108733370

附上一张在用的实验板图片:
实验板

一.STM32及串口基本知识学习

1.了解串口通讯基本概念

主要任务
阅读博客 https://blog.csdn.net/qq_43743762/article/details/97811470
任务解读
此博客专业知识较多,对于初学者不必仔细深入研究,只需要了解大概的概念即可。可以简单的暂时的理解为,STM32上的每一个串口提供了一个硬件的接口,单片机可以通过串口把各部分连接起来(仅仅是个人理解,不准确请见谅)

2.安装串口调试助手工具的使用 UartAssist.exe

任务解读
互联网上很多串口调试助手,学习资料里也有,在串口调试助手中,暂时需要更改的只有左上角的串口号,在STM32用USB连接电脑时,需要选择正确的串口号来锁定STM32,然后点击打开即可。

3.实现STM32和串口调试助手的互交

功能实现
使用STM32实验板,编译下载STM32Demo_V1(启用演示功能1),使用串口调试助手(波特率设置为115200)与单片机通讯。
操作过程
用Keil uVision5将STM32Demo_V1烧录到单片机,然后用USB线连接PC机,注意不是烧录接口,烧录接口在烧录完成之后应该拔下。然后打开串口调试助手,选择好串口号,点击打开即可,演示功能1是将发送内容返回。看见串口调试助手中有信息返回即表示成功。

二.TCP网络通讯基本知识学习

1.了解TCP相关的概念

学习TCP基本原理,客户端、服务端、IP地址、端口等基本概念。
这些东西不论在博客还是搜索引擎都能查到,只需要大概了解一下概念即可,这里不再解释。

2.熟练掌握网络调试助手并实现TCP客户端和服务端交互

功能实现
安装网络调试助手工具,启动一个TCP服务端,并启动一个客户端连接到此服务端,进行双向消息收发实验(注意TCP内容很多,不要太陷入细节,重点是完成服务端与客户端收发消息的实验)
细节解读
首先打开一个网络调试助手(学习资料有或者用搜索引擎自己下载一个),以本人上传的助手为例,协议类型包括TCP Server、TCP Client、UDP,分别表示TCP服务器、TCP客户端和UDP协议。
我们先新建一个自己电脑上的服务器,网络调试助手协议类型选择TCP Server,其余可以不用修改,然后点击打开,这样我们就在自己电脑上搭建好了一个最简单的服务器。
我们还需要一个客户端和服务器互交,我们再打开一个网络调试助手,协议类型选择TCP Client,远程主机地址和远程主机端口修改成服务器(就是另外一个网络调试助手)的本地主机地址和本地主机端口,然后点击连接。
之后就会看到两个网络助手连接成功,从一个助手发消息另外的一个助手就可以看到,这就是一个最简单的TCP服务器和TCP客户端的互交。

三.WIFI模块ESP8266的基本概念和实验

1.简单了解ESP8266的基本操作

主要任务
学习学习资料中的《ESP8266系列入门教程》《ESP8266 AT指令集》《ESP8266 AT指令使用示例》

任务解读
这几本书有很多的AT指令,我们通过向单片机输入AT指令来实现对WiFi模块的操作,单片机不像手机,想要连接wifi的话在屏幕上点几下就可以实现,单片机没有屏幕,但是有串口,我们通过串口向WiFi模块输入指令来启动它。而且很多AT指令暂时用不到,这几本书大概看一下即可,等用到了相关的功能,再次查阅即可。
几个注意点
关于WIFI模块ESP8266硬件的安装,在STM32F103C8T6中,WiFi模块的位置是在左上角,一共有8个针脚,对应好直接插入即可安装。详见开头的实验板图片,黑色的一个小板子就是WiFi模块。
在本人手上的STM32F103C8T6中,WiFi模块在串口1位置固定,而与PC进行的连接的是串口3(USB接口),在学习资料中的STM32Demo_V1_WIFI中的演示功能3中,主要是实现的是串口3与串口1的数据互交,然后通过WiFi模块发送出去。这个之后还会再仔细的讨论,这里仅仅是提一下。

2.使用AT指令让ESP8266进行TCP通讯

功能实现
将STM32Demo_V1(启用演示功能3)下载带SMT32实验板上,并插上ESP8266模块,使用AT指令让ESP8266启动服务端和客户端,与网络调试助手进行TCP通讯。
详细说明
以下内容请翻阅学习资料中的《ESP8266AT指令使用示例》和"AT指令.txt"文件,配合食用!

WIFI演示程序没有配置WIFI的SSID和密码功能,需要手工配置SSID和密码。之后WIFI模块才能正常连接AP(热点)。
a.用Keil uVision5将STM32Demo_V1烧录到单片机,启动演示功能3

b.单片机电路板使用USB线连电脑,用串口调试助手(115200波特率)发送命令
“AT+CWJAP_DEF=,”。如:AT+CWJAP_DEF=“CMCC-DTgx”,“密码”

c.待WIFI模块回应以下2条消息(串口调试助手接收到2条数据):
WIFI CONNECTED
WIFI GOT IP
就说明WIFI模块已经设置好了密码,连上了AP。

d.使用AT+CIFSR命令可以查询WIFI模块的IP地址:
AT+CIFSRbusy p…
+CIFSR:APIP,“192.168.4.1”
+CIFSR:APMAC,“2e:f4:32:58:18:b9”
+CIFSR:STAIP,“192.168.1.9”
+CIFSR:STAMAC,“2c:f4:32:58:18:b9”

OK
CIFSR:STAIP后面带的IP地址就是当前IP。
(其他AT命令参考ESP8266的手册)

提示
a.可以先用AT指令
AT+CWLAP
扫描附近的 AP 信息,这样就可以知道,WiFi模块到底找没找到要链接的那个热点。

b.演示功能3的功能在于实现如下的串口数据传输功能

PC机(串口调试助手)<------> 串口3<------> 演示功能3<------> 串口1<------> WIFI模块

在本人手上的STM32F103C8T6中,WiFi模块在串口1位置固定,而与PC进行的连接的是串口3,在演示功能3中,主要是实现的是串口3与串口1的数据互交,然后通过WiFi模块发送出去。

四.WIFI模块ESP8266的编程实验

1.网络调试助手连接ESP8266与进行TCP通讯

功能实现
将STM32Demo_V1_WIFI下载带SMT32实验板上,并插上ESP8266模块。(会自动启动TCP服务),网络调试助手连接ESP8266的TCP服务,进行TCP通讯。

任务解读
以下内容请翻阅学习资料中的《ESP8266AT指令使用示例》,配合食用!

a. 将学习资料中的STM32Demo_V1_WIFI烧录到单片机上(用烧录接口)
b.在PC机上运行一个网络调试助手,协议用TCP Server,作为一个云端服务器。
c. 单片机用USB连接PC,打开串口调试助手,连接STM32。
d.在串口调试助手中,输入AT指令,让ESP8266连接好WiFi,然后用
图片来自使用实例
作为客户端连接PC上的服务器,连接之后会在串口调试助手和网络调试助手看到连接成功的信息
f.要想进行数据传输,请参考《ESP8266AT指令使用示例》中的AT指令实现数据的交互。

到此,WiFi模块(ESP8266)的使用部分的初步学习已经完成,接下来会根据WiFi模块的性能和单片机的数据传输性能进行进一步的学习。未完待续……

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

STM32的学习记录--2.WiFi模块的使用 的相关文章

随机推荐

  • Visual Studio 2015开发Android App启动调试始终无法完成应用部署的解决方案

    创建一个Android App项目后 直接启动调试发现Visual Studio Emulator for Android已成功运行 但应用始终处于Build中 等待时间超过1小时 并未如预期通过adb部署到模拟器中 将应用直接导出apk
  • 机器学习算法竞赛实战--1,初见竞赛

    目录 竞赛流程 1 2 思考练习 之所以强烈推荐用竞赛作为积极学习适当的重要方式是因为他实在是一个快速入门 积极学习的极佳方式 对于初学者来说 他们的水平并不足以支撑他们直接进到企业接触实际的应用场景 而从书里得来的知识终究有些浅薄 在时代
  • 面试经典150题(1)

    文章目录 前言 除自身以外数组的乘积 要求 思路 代码 跳跃游戏 要求 题解 代码 跳跃游戏 要求 题解 代码 前言 今天开始我将陆续为大家更新面试经典150题中较难理解的题目 今天我为大家分享的是 除自身以外数组的乘积 跳跃游戏 和 跳跃
  • 实践

    CNN到ResNet Step1 准备数据 自定义数据集 Step2 网络配置 1 RESNET网络模型 2 飞桨内置网络 Step3 模型训练 方式1 基于基础API 完成模型的训练与预测 模型配置 模型验证 方式2 基于高层API 完成
  • 如何锻炼孩子的逻辑思维?编程教育是绝佳媒介

    进入人工是智能时代 数学能力和编程思维越来越受到家长们的重视 虽然绝大多数家长依旧把学习成绩和分数看得非常重要 但是对于孩子编程思维能力的塑造也放在了非常重要的位置 怎么样有效提升孩子的编程思维 少儿编程就是非常好的媒介 在孩子编写程序的过
  • 华为OD机试真题-Excel单元格数值统计【2023Q2】【JAVA、Python、C++】

    题目描述 Excel工作表中对选定区域的数值进行统计的功能非常实用 仿照Excel的这个功能 请对给定表格中选中区域中的单元格进行求和统计 并输出统计结果 为简化计算 假设当前输入中每个单元格内容仅为数字或公式两种 如果为数字 则是一个非负
  • 造成HTTP-500错误,可能存在的原因小结

    首先给大家分享一个巨牛巨牛的人工智能教程 是我无意中发现的 教程不仅零基础 通俗易懂 而且非常风趣幽默 还时不时有内涵段子 像看小说一样 哈哈 我正在学习中 觉得太牛了 所以分享给大家 点这里可以跳转到教程 转自 http bbs 51te
  • window MySQL5.6出现中文乱码,设置character_set_server 为 utf8

    使用该命令查看mysql字符集 SHOW VARIABLES LIKE character 发现character set server 为latin1 中文出现乱码 找到C ProgramData MySQL MySQL Server 5
  • 快来玩AI画图!StableDiffusion模型搭建与使用入门~

    1前言 最近AI很火 先是AI画图 然后就ChatGPT 后者我已经用了一段时间了 用来写作文挺不错的 但OpenAI屏蔽了中国IP 加上用户太多啥的 用起来没那么爽 但没办法全球只此一家 只能捏着鼻子用 而AI画图就不一样了 全是开源的
  • 强化学习应用简述---强化学习方向优秀科学家李玉喜博士创作

    强化学习 reinforcement learning 经过了几十年的研发 在一直稳定发展 最近取得了很多傲人的成果 后面会有越来越好的进展 强化学习广泛应用于科学 工程 艺术等领域 下面简单列举一些强化学习的成功案例 然后对强化学习做简介
  • ATT&CK实战系列-红队评估 (红日靶场3)Vulnstack三层网络域渗透靶场

    文章目录 环境配置 靶场介绍 靶场设置 外网渗透 信息收集 端口扫描 目录扫描 漏洞发现与利用 获取ssh账号密码 登录centos 提权 内网渗透 建立代理 内网信息收集 smb暴破 获取本地管理员密码 横向移动 使用psexec模块上线
  • OAK相机:启动报错X_LINK_DEVICE_NOT_FOUND

    OAK相机 启动报错X LINK DEVICE NOT FOUND 环境 报错 原因与解决 未设置 udev 规则 USB崩溃 排线接触不良或相机模块时钟干扰 环境 硬件 4 OV9782相机模组 OAK FFC 4P驱动模组 笔记本电脑
  • webpack之加载json数据格式

    webpack之加载json数据格式 webpack中可以加载的有用资源还有数据 如 json 文件 csv tsv xml 如果需要导入这些格式的数据 第一种方法是 我们需要两个 loader 去加载这些格式的数据 第二种方法是 我们可以
  • dronekit-sitl+MAVproxy+MissionPlanner进行无人机仿真

    以下教程为通过dronekit sitl MAVproxy和MissionPlanner进行无人机仿真 其中dronekit sitl用于模拟无人机 MAVproxy用于将无人机的数据转发到其他端口 MissionPlanner用于无人机的
  • css 背景图旋转 只让背景图片旋转180度的实现示例

    最近进行二次开发的时候有个图片用背景图要旋转一定角度 下图中如果只给 question添加背景通过CSS3的transfrom rotate肯定是会影响文字的展示 所以把背景图放到伪类中进行旋转就可以完美解决这个问题了 话不多说 上代码 d
  • Shell命令行下如何查找并替换多个文件中的字符

    如果你在shell命令行下 需要一种能快速查找并替换多个文件里字符的方法 那么下面这行命令你一定要记住或者收藏起来 它能帮到你的 find name html print0 xargs 0 perl pi e s SEARCHSTRING
  • 大数据技术——连接数据库报错:Cased by:javax.net.ssl.SSLHandshakeException:No appropriate protocol (protocol is dis

    问题 连接数据库报错 Cased by javax net ssl SSLHandshakeException No appropriate protocol protocol is disabled or cipher suites ar
  • css浮动改变鼠标箭头样式

    默认箭头样式 cursor default 系统默认箭头样式 手型 cursor pointer 手型 手型 cursor hand 手型 移动十字箭头 cursor move 移动十字箭头 帮助问号 cursor help 系统自带帮助问
  • 在openwrt上安装和配置git、ssh和python3

    简单记录在openwrt上安装配置git ssh和python3的流程 更新包管理器 openwrt 自带的包管理器是opkg 安装之前先更新一下 opkg update git和ssh一般放在一起配置 ssh配置完成才可以正常使用git
  • STM32的学习记录--2.WiFi模块的使用

    本次学习用的单片机是STM32F103C8T6 本次学习用的WiFi模块是ESP8266 本博客仅用于课余学习 不可商用 如有侵权 请告知我删除博客 谢谢配合 以下学习资料均在云盘 仅供学习交流 禁止用于商业用途 本文链接 个人博客 htt