本次学习用的单片机是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模块的性能和单片机的数据传输性能进行进一步的学习。未完待续……

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

  1. STM32的学习记录--单个模块开发思路

    1. 前言 很久没写STM32的学习博客了,不是因为没在搞,而且因为STM32要学习的部分太多,而且代码量太大了,有些代码还涉及到版权问题,就一直没写,最近刚好在搞一个智能设备有关WiFi模块的开发, ...

  2. 智能家居—基于STM32的温湿度控制系统(WIFI模块)

    基于App控制的STM32温湿度控制系统(WIFI模块) ESP8266WIFI模块 模块使用说明 常用AT指令 DHT11温湿度传感器 简介 模块数据的发送流程 代码实现 μs级的延时配置 HAL库 ...

  3. STM32学习记录——ATK-HC05蓝牙模块

    一.结构图 二.使用 大家一开始用这个模块大多应该都是看的正点原子的视频教程,但按照视频来接线,会发现lcd上一直显示ATK-HCO5 error,我也是,用串口助手试了很久都没用,后来才看到解决方式 ...

  4. ESP32超详细学习记录:wifi配网,AP配网,浏览器配网,无线配网

    不想了解代码实现,可直接到代码部分copy!ESP32亲测可用. 使用设备ESP32开发板(ESP32-WROOM-32) 搜了好多别人写的资料,很多都是copy+copy,也没有什么解释.啪,代码放 ...

  5. STM32的学习记录--1.准备工作

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

  6. ESP32超详细学习记录:wifi连接最基础方法

    2022年05月09日 ESP32连接WiFi 关键函数(抄自官方库.h文件) //WiFiSTA.h wl_status_t begin(const char* wpa2_ssid, wpa2_au ...

  7. 品优购项目学习记录--01公共模块制作

    文章目录 一.品优购项目规划 1.1 开发工具以及技术栈 1.1.1 开发工具 1.1.2 技术栈 1.2 品优购项目搭建工作 1.2.1 相关文件夹以及文件创建 1.2.2 模块化开发 1.2.3 ...

  8. Matlab学习记录:常用模块

    1.假如你用的2019版本,导出的模型不能用到比2019版本低的matlab软件,此时可以通过以下操作导出别的版本的文件,就可以在低版本软件下打开. 2.模型配置文件 新建一个脚本 运行完之后,在保存 ...

  9. 基于STM32的学习记录--MQ系列计算公式

    目录 MQ-2 定义 计算 MQ-4 定义 公式 MQ-7 定义 公式 MQ-135 定义 公式 所有的MQ系列传感器都需要一定的预热时间进行一个精度的校准 MQ-2 定义 //R2-1K. #def ...

最新文章

  1. 动态展开所有_库存与市场需求之间如何“动态”共舞?库存计划动态模型构建分享...
  2. 总是感觉时间不够用?程序员如何管理时间?
  3. Singleton模式
  4. Saltstack系列之一——安装篇
  5. 二分搜索 POJ 3273 Monthly Expense
  6. 学习Python3:20171031
  7. MySQL高级 - insert优化
  8. 计算机主机主要构成,台式电脑主机的硬件组成部分简介
  9. python两个数相加时_两数相加 leetcode Python
  10. srcnn 双三次插值_用于数字成像的双三次插值技术
  11. UVA 10572 Black White
  12. (转)使用CUnit进行单元测试和覆盖率统计
  13. 网络安全基础——批处理编写
  14. VScode远程连接linux
  15. 审批工作流及数据库设计
  16. 启动Delphi2010就出现‘displayNotification: 堆栈溢出’
  17. python 列表比较不同物质的吸热能力_文章
  18. CSICTF2020随缘Writeup
  19. linux中i的英文单词,Linux下gcc/g++中-I(i的大写)、-L和-l
  20. 人脸识别(cv2库的实现)

热门文章

  1. 区块链每日一问 | 数字货币的场内交易和场外交易各指什么?各有哪些特点?...
  2. IOS开发之Bug--遇到一个类型不确定的bug
  3. 寂寞的hasLayout
  4. C/C++编程知识分享:C++ 手把手教你实现可变长的数组
  5. 分析一周后终于明白,为什么说不注重数据的企业会被时代淘汰?
  6. 数据库最最常用语句(10年工作笔记)
  7. 稳定的存储环境决定业务正常运作
  8. 同学的博客,没想到也这么多文章。
  9. (转载)lepaiwed网站代码【全】
  10. 飞鸽传书(IPMSG)的主要工作原理