ESP32开发

news2025/1/10 3:24:42

目录

1、简介

1.1 种类

1.2 特点

1.3 管脚功能

1.4 接线方式

1.5 工作模式

2、基础AT指令介绍

2.1 AT指令类型

2.2 基础指令及其描述

2.3 使用AT指令需要注意的事

3、AT指令分类和提示信息

3.1 选择是否保存到Flash的区别

3.2 提示信息

3.3 其他会保存到Flash的AT指令

4、基础WI-FI功能指令

5、TCP&IP功能AT指令概述

6、AT指令应用示例_单连接 TCP Client

6.1 配置 WiFi 模式

6.2 连接路由器 

6.3 查询 ESP8266 设备的 IP 地址

6.4 建立TCP服务器

6.5 ESP8266设备作为TCP client连接到上述服务器

6.6 ESP8266 设备向服务器发送数据

6.7 ESP8266设备接收数据提示信息

7、AT指令应用示例_UDP传输

7.1 固定远端的 UDP 通信

7.1.1 配置 WiFi 模式

7.1.2 连接路由器

7.1.3 查询 ESP8266 设备的 IP 地址

7.1.4 建立UDP服务器

7.1.5 使能多连接

7.1.6 创建UDP传输

7.1.7 发送数据

7.1.8 断开UDP传输

7.2 远端可变的 UDP 通信

7.2.1 配置 WiFi 模式

7.2.2 连接路由器

7.2.3 查询 ESP8266 设备的 IP 地址

 7.2.4 建立UDP服务器

7.2.5 使能单连接

7.2.5 创建UDP传输

7.2.6 发送数据

7.2.7 发送数据到其他指定远端

7.2.8 断开UDP传输

8、AT指令应用示例_透传

8.1 TCP Client单连接透传

8.1.1 配置WIFI模式

8.1.2 连接路由器

8.1.3 查询 ESP8266 设备的 IP 地址

8.1.4 建立TCP服务器

8.1.5 ESP8266 设备作为 TCP client 连接到上述服务器

8.1.6 使能透传模式

8.1.7 ESP8266设备向服务器发送数据

8.1.8 退出发送数据

8.1.9 退出透传模式

8.1.10 断开TCP连接

8.2 UDP透传

8.2.1 配置 WiFi 模式

8.2.2 连接路由器

8.2.3 查询 ESP8266 设备的 IP 地址

8.2.4 建立UDP服务器

8.2.5 ESP8266与PC对应端⼝建⽴固定对端的UDP传输

 8.2.6 使能透传模式

8.1.7 ESP8266设备向服务器发送数据

8.1.8 退出发送数据

8.1.9 退出透传模式

8.1.10 断开UDP连接

9、多连接TCP Server

9.1 配置WiFi模式

9.2 使能多连接

9.3 建⽴ TCP server

9.4 连接路由器

9.5 在PC端使⽤⽹络调试⼯具,建⽴⼀个TCP client,连接ESP8266的TCP server(上面设置9090)

9.6 发送数据

9.7 断开TCP连接


1、简介

1.1 种类

WIFI模块在PC上做为客户端、服务器,在STM32上做服务器的通讯。在物联网应用开发有重要作用,种类居多,如下图

红色方框的esp8266-01s型号的无限wifi模块就是本章学习的主要对象。

1.2 特点

  • 小巧的尺寸:ESP-01S模块具有紧凑的设计,适用于空间有限的应用。
  • WiFi功能:它支持802.11b/g/n标准,允许设备连接到无线网络。
  • 高度集成:ESP-01S集成了WiFi功能和处理器,减少了外部组件的需求。
  • AT指令支持:通过串口通信,可以使用AT指令进行配置和控制。
  • 低功耗:ESP-01S模块具有低功耗特性,适用于长时间运行的应用。
  • 容易使用:ESP-01S模块易于配置和应用,有许多开发资源和示例代码可用。

1.3 管脚功能

Pin脚编号Pin脚名称备注
1GND接地
2IO2GPIO2/UART1 TXD
3IO0GPI00:下载模式:外部拉低:运行模式:悬空或者外部拉高
4RXDUARTO RXD/GPIO3
5TXDUARTO TXD/GPI01
6EN芯片使能端,高电平有效
7RST复位
8VCC3.3V供电(VDD);外部供电电源输出电流建议在500mA 以上

1.4 接线方式

1.5 工作模式

ESP8266-01s模块共支持3种工作模式:STA、AP、STA+AP

1、STA模式

         在此模式下,模块可连接其他设备提供的无线网络,例如通过 WIFI 连接至路由器,从而可以访问互联网,进而实现手机或电脑通过互联网实现对设备的远程控制。   

        简单来说,此模式下,该模块相当于一个用户,需要链接外部的WIFI(或自己的热点),通过链接的WIFI进行与其他设备的通信;

2、AP 

        AP 模式为默认的模式,在此模式下,模块将作为热点供其他设备连接, 从而让手机或电脑直接与模块进行通讯,实现局域网的无线控制。

        简单来说,此模式下,该模块相当于提供一个热点,创建一个小范围的局域网,凡是连接上的设备就能与其进行通信;

3、STA+AP

        该模式为 STA 模式与 AP 模式共存的一种模式,模块既能连接至其他 设备提供的无线网络,又能作为热点,供其他设备连接,以实现广域网与局域网的无缝切换, 方便操作使用。

2、基础AT指令介绍

2.1 AT指令类型

注意:
不是每条 AT 指令都具备上述 4 种类型的命令。
[ ] 括号内为缺省值,不必填写或者可能不显示。
使⽤双引号表示字符串数据 ”string” ,例如: AT+CWSAP="ESP756290","21030826",1,4
默认波特率为 115200
AT 指令必须⼤写,并且以回⻋换⾏符结尾( CR LF )。

2.2 基础指令及其描述

使用示例:

AT指令启动调试

AT+RST重启调试

AT+RESTORE恢复出厂设置调试

2.3 使用AT指令需要注意的事

输入AT指令时,所有字母需要为大写形式,否则会报错(返回error),但有个例外:加号前面的可以是小写,但加号后面的必须为大写,这可能是esp8266模块中程序自己做了处理,即AT无论是大小写都能识别出来。

在等待发送AT指令时,需要回车加换行,即\r\n,否则在串口部分他会以不换行的格式不断发送你输入的AT指令,但这在esp8266模块看来,它未识别到\r\n,所以不会对输入的AT指令进行处理,只有当识别到\r\n时,才会进行处理,所以需要勾选上串口助手的发送新行选项。

3、AT指令分类和提示信息

3.1 选择是否保存到Flash的区别

AT指令主要分类在简介中有写到,但有些指令有无Flash区别很大,在这里做一下解析。

如上图所示,设置当前wifi模式可以选择是否存到Flash,则有不同的AT指令,针对上图做出调试:

1.先进行测试

2.再进行查询

3.最后进行修改并查询

 

可见此时wifi模式成功修改成Station模式,但此时调用复位AT指令,再次进行查询,其模式还会是修改过后的模式么,如下:

可见修改后的模式并没有存储到Flash中,复位后会发生改变,若想要保存到Flash中,调用上面第二个图片中的AT指令即可,这里就不作演示。

3.2 提示信息

3.3 其他会保存到Flash的AT指令

4、基础WI-FI功能指令

5、TCP&IP功能AT指令概述

红框的是经常需要用到的,详细概述如下:

6、AT指令应用示例_单连接 TCP Client

6.1 配置 WiFi 模式

AT+CWMODE=3 // softAP+station mode
注:此AT指令通过试验会保存到Flash
响应 :
OK

6.2 连接路由器 

AT+CWJAP="SSID","password" // SSID and password of router SSID是路由器名称 password是路由器密码
响应 :
OK

6.3 查询 ESP8266 设备的 IP 地址

AT+CIFSR
响应 :
+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"ee:fa:bc:96:20:8c"
+CIFSR:STAIP,"192.168.1.120"
+CIFSR:STAMAC,"ec:fa:bc:96:20:8c"
OK

 可见成功查询到esp8266模块连接wifi的IP

6.4 建立TCP服务器

PC ESP8266 设备连接同⼀路由器,在 PC 端使⽤⽹络调试⼯具,建⽴⼀个TCP服务器。
打开网络调试助手,修改端口号为TCPServer,当本地IP出现时,修改端口号为8080,点击侦听即可。

 

此时显示侦听中,可见等待设备连接到该TCP服务器。同时创建的服务器IP为192.168.1.103,端口为8080.

6.5 ESP8266设备作为TCP client连接到上述服务器

AT+CIPSTART="TCP","192.168.1.103 ",8080 //protocol, server IP and port
响应 :
OK

实现本地发送数据至远端。

6.6 ESP8266 设备向服务器发送数据

AT+CIPSEND=4 // set date length which will be sent, such as 4 bytes
>test // enter the data, no CR
响应 :
Recv 4 bytes
SEND OK

可见实现了远端像本地发送数据。

注意:
发送数据时,如果输⼊的字节数超过了设置⻓度( n ):
- 系统将提示 busy ,并发送数据的前 n 个字节,发送完成后响应 SEND OK
- 超出⻓度的部分数据被认为是⽆效数据,不被接受。

 可见超过AT指令设置的字节时,本地只能接收到在设置字节范围内的数据,其余数据发送失败。

6.7 ESP8266设备接收数据提示信息

提示信息如下:

+IPD,n:xxxxxxxxxx // received n bytes, data=xxxxxxxxxxx

上图IPD比输入数据长度多2是因为网络调试助手中勾选了换行,所以每次发送时串口助手会换行,同时\r\n算两个字符长度,下图不添加换行后,IPD与输入字符长度一样。

7、AT指令应用示例_UDP传输

UDP传输分为固定远端和远端可变,同时他们的前三步与上部分单连接TCP Client相同,所以这里将步骤列出来,不做详细操作演示。

7.1 固定远端的 UDP 通信

7.1.1 配置 WiFi 模式
AT+CWMODE=3 // softAP+station mode
注:此AT指令通过试验会保存到Flash
响应 :
OK
7.1.2 连接路由器
AT+CWJAP="SSID","password" // SSID and password of router SSID是路由器名称 password是路由器密码
响应 :
OK
7.1.3 查询 ESP8266 设备的 IP 地址
AT+CIFSR
响应 :
+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"ee:fa:bc:96:20:8c"
+CIFSR:STAIP,"192.168.1.120"
+CIFSR:STAMAC,"ec:fa:bc:96:20:8c"
OK
7.1.4 建立UDP服务器
PC ESP8266 设备连接同⼀路由器,在 PC 端使⽤⽹络调试⼯具,建⽴⼀个UDP服务器。
打开网络调试助手,修改端口号为UDP,当本地IP出现时,修改端口号为8080,同时远程IP写入ESP8266模块的IP,修改端口号9090,点击侦听即可。
7.1.5 使能多连接
AT+CIPMUX=1
响应 :
OK

 

7.1.6 创建UDP传输
例如,分配连接号为 4 ,指令如下:
AT+CIPSTART=4,"UDP","192.168.1.103",8080,9090,0
响应 :
4,CONNNECT
OK
说明:
示例指令中的参数说明如下:
• "192.168.1.103", 8080 UDP 传输的远端 IP 和端⼝,即前⽂步骤 4 PC 建⽴的 UDP 端⼝;(这里的远端IP是相对于esp8266的远端,即网络调试助手中的本地IP
•9090   ESP8266 本地的 UDP 端⼝,⽤户可⾃⾏设置,如不设置则为随机值;
0 表示当前 UDP 传输建⽴后, UDP 远端不会被其他设备更改;即使有其他设备通过 UDP 协议发数据到
ESP8266 UDP 端⼝ 1112 ESP8266 的第 4 UDP 传输的远端也不会被替换,使⽤指令
“AT+CIPSEND=4, X” 发送数据,仍然是当前固定的 PC 端收到。

可见创建完UDP传输后,网络调试助手成功连接上远端esp8266模块。

7.1.7 发送数据
AT+CIPSEND=4,7 // Send 7 bytes to transmission NO.4
>UDPtest
// enter the data, no CR
响应 :
Recv 7 bytes
SEND OK

注意:
发送数据时,如果输⼊的字节数超过了设置⻓度( n ):
- 系统将提示 busy ,并发送数据的前 n 个字节,发送完成后响应 SEND OK
- 超出⻓度的部分数据被认为是⽆效数据,不被接受。

7.1.8 断开UDP传输
AT+CIPCLOSE=4(4为一开始分配的连接号)
响应 :
4,CLOSED
OK

可见断开连接后,远端发送数据到esp8266时,并不能接收数据。 

7.2 远端可变的 UDP 通信

7.2.1 配置 WiFi 模式
AT+CWMODE=3 // softAP+station mode
注:此AT指令通过试验会保存到Flash
响应 :
OK
7.2.2 连接路由器
AT+CWJAP="SSID","password" // SSID and password of router SSID是路由器名称 password是路由器密码
响应 :
OK
7.2.3 查询 ESP8266 设备的 IP 地址
AT+CIFSR
响应 :
+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"ee:fa:bc:96:20:8c"
+CIFSR:STAIP,"192.168.1.120"
+CIFSR:STAMAC,"ec:fa:bc:96:20:8c"
OK
 7.2.4 建立UDP服务器
PC ESP8266 设备连接同⼀路由器,在 PC 端使⽤⽹络调试⼯具,建⽴⼀个UDP服务器。
打开网络调试助手,修改端口号为UDP,当本地IP出现时,修改端口号为8080,同时远程IP写入ESP8266模块的IP,修改端口号9090,点击侦听即可。
7.2.5 使能单连接
AT+CIPMUX=0
响应 :
OK

7.2.5 创建UDP传输
当使⽤ AT+CIPSTART 指令创建 UDP 通信,将最后⼀个参数设置为 2 时, UDP 通信的远端可改变。
AT+CIPSTART="UDP","192.168.1.103",8080,9090,2
响应 :
4,CONNNECT
OK
示例指令中的参数说明如下:
• "192.168.1.103"", 8080 UDP 传输的远端 IP 和端⼝,即前⽂ PC 建⽴的 UDP 端⼝;
• 9090   ESP8266 本地的 UDP 端⼝,⽤户可⾃⾏设置,如不设置则为随机值;
2 表示当前 UDP 传输建⽴后, UDP 传输远端仍然会更改; UDP 传输远端会⾃动更改为最近⼀个与 ESP8266 UDP 通信的远端。

 

 注意:这里设置的是单连接模式,所以在使用此通信方式时,需调用AT+CIPMUX?指令查询是否为0(单连接模式),同时单连接不需要加网络连接ID,与前面的固定远端UDP传输有所不同。

7.2.6 发送数据
AT+CIPSEND=7 // Send 7 bytes
>UDPtest
// enter the data, no CR
响应 :
Recv 7 bytes
SEND OK
注意:
发送数据时,如果输⼊的字节数超过了设置⻓度( n ):
- 系统将提示 busy ,并发送数据的前 n 个字节,发送完成后响应 SEND OK
- 超出⻓度的部分数据被认为是⽆效数据,不被接受。

这里为单连接模式,所以AT指令后面直接加上数据长度即可。

7.2.7 发送数据到其他指定远端
例如,发数据到192.168.1.103, 端⼝ 8081
AT+CIPSEND=7,"192.168.1.103",8081 // Send 7 bytes
>UDPtest
// enter the data, no CR
响应 :
Recv 7 bytes
SEND OK

 最左边的新开的其他远端UDP,通过修改端口号为8081,实现串口助手中发送指定长度的数据到端口号8081的远端。

7.2.8 断开UDP传输
AT+CIPCLOSE
响应 :
CLOSED
OK

 上面设置的是单连接模式,所以这里直接执行下图红框内AT指令即可。

8、AT指令应用示例_透传

8.1 TCP Client单连接透传

8.1.1 配置WIFI模式
AT+CWMODE=3 // softAP+station mode
响应 :
OK
8.1.2 连接路由器
AT+CWJAP="SSID","password" // SSID and password of router
响应 :
OK
8.1.3 查询 ESP8266 设备的 IP 地址

AT+CIFSR
响应 :
+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"ee:fa:bc:96:20:8c"
+CIFSR:STAIP,"192.168.1.120"
+CIFSR:STAMAC,"ec:fa:bc:96:20:8c"
OK
8.1.4 建立TCP服务器
PC ESP8266 设备连接同⼀路由器,在 PC 端使⽤⽹络调试⼯具,建⽴⼀个TCP服务器。 打开网络调试助手,修改端口号为TCPServer,当本地IP出现时,修改端口号为8080,点击侦听即可。
8.1.5 ESP8266 设备作为 TCP client 连接到上述服务器
AT+CIPSTART="TCP","192.168.3.116",8080 //protocol, server IP and port
响应 :
OK

8.1.6 使能透传模式
AT+CIPMODE=1
响应 :
OK

8.1.7 ESP8266设备向服务器发送数据
AT+CIPSEND
> //From now on, data received from UART will be transmitted to server automatically.
注意:
发送数据时,如果输⼊的字节数超过了设置⻓度( n ):
- 系统将提示 busy ,并发送数据的前 n 个字节,发送完成后响应 SEND OK
- 超出⻓度的部分数据被认为是⽆效数据,不被接受。
进⼊透传模式发送数据,每包最⼤ 2048 节,或者每包数据以 20 ms 间隔区分。

8.1.8 退出发送数据

在透传发送数据过程中,若识别到单独的⼀包数据 “+++” ,则退出透传发送
- 如果使⽤键盘打字输⼊ “+++” ,可能耗时太⻓,不被认为是连续的三个 “+” ,建议使
⽤串⼝⼯具⼀次性发送 “+++” ,并请注意不要携带空格或换⾏符等不可⻅字符。
- 之后,请⾄少间隔 1 秒,再发下⼀条 AT 指令。
注意:
“+++“ 退出透传发送数据,回到正常 AT 指令模式。此时, TCP 连接仍然是保持的,可以再发 AT+CIPSEND
指令,重新开始透传。

注意:在输入"+++"数据时,需要取消换行,否则串口助手识别到多出来的\r\n,无论输入什么都会继续发送数据,如下:

解决方法是取消换行,单独发送"+++",过后要发送新指令,重新勾选上换行即可,如下:

8.1.9 退出透传模式
AT+CIPMODE=0
响应 :
OK

可见退出透传模式后,无法再向服务器发送数据,AT指令发送失败,可见该AT指令只在透传模式下生效。

8.1.10 断开TCP连接

AT+CIPCLOSE
响应 :
CLOSED
OK

8.2 UDP透传

8.2.1 配置 WiFi 模式
AT+CWMODE=3 // softAP+station mode
注:此AT指令通过试验会保存到Flash
响应 :
OK
8.2.2 连接路由器
AT+CWJAP="SSID","password" // SSID and password of router SSID是路由器名称 password是路由器密码
响应 :
OK
8.2.3 查询 ESP8266 设备的 IP 地址
AT+CIFSR
响应 :
+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"ee:fa:bc:96:20:8c"
+CIFSR:STAIP,"192.168.1.120"
+CIFSR:STAMAC,"ec:fa:bc:96:20:8c"
OK
8.2.4 建立UDP服务器
PC ESP8266 设备连接同⼀路由器,在 PC 端使⽤⽹络调试⼯具,建⽴⼀个UDP服务器。
打开网络调试助手,修改端口号为UDP,当本地IP出现时,修改端口号为8080,同时远程IP写入ESP8266模块的IP,修改端口号9090,点击侦听即可。
8.2.5 ESP8266PC对应端⼝建⽴固定对端的UDP传输

AT+CIPSTART="UDP","192.168.1.103",8080,9090,2

响应 :
OK

 8.2.6 使能透传模式
AT+CIPMODE=1
响应 :
OK

8.1.7 ESP8266设备向服务器发送数据
AT+CIPSEND
> //From now on, data received from UART will be transmitted to server automatically.
注意:
发送数据时,如果输⼊的字节数超过了设置⻓度( n ):
- 系统将提示 busy ,并发送数据的前 n 个字节,发送完成后响应 SEND OK
- 超出⻓度的部分数据被认为是⽆效数据,不被接受。
进⼊透传模式发送数据,每包最⼤ 2048 节,或者每包数据以 20 ms 间隔区分。

8.1.8 退出发送数据

在透传发送数据过程中,若识别到单独的⼀包数据 “+++” ,则退出透传发送
- 如果使⽤键盘打字输⼊ “+++” ,可能耗时太⻓,不被认为是连续的三个 “+” ,建议使
⽤串⼝⼯具⼀次性发送 “+++” ,并请注意不要携带空格或换⾏符等不可⻅字符。
- 之后,请⾄少间隔 1 秒,再发下⼀条 AT 指令。
注意:
“+++“ 退出透传发送数据,回到正常 AT 指令模式。此时, UDP 连接仍然是保持的,可以再发 AT+CIPSEND
指令,重新开始透传。

注意:在输入"+++"数据时,需要取消换行,否则串口助手识别到多出来的\r\n,无论输入什么都会继续发送数据,如下:

解决方法是取消换行,单独发送"+++",过后要发送新指令,重新勾选上换行即可,如下:

8.1.9 退出透传模式
AT+CIPMODE=0
响应 :
OK

可见退出透传模式后,无法再向服务器发送数据,AT指令发送失败,可见该AT指令只在透传模式下生效。

8.1.10 断开UDP连接
AT+CIPCLOSE
响应 :
CLOSED
OK

9、多连接TCP Server

ESP8266 AT 仅⽀持建⽴⼀个 TCP 服务器,且必须使能多连接,即允许连接多个TCP client,虽然这里是TCP Server,但是是多个TCP client,所以网络调试助手端口号选择T CP client。

9.1 配置WiFi模式

AT+CWMODE=3 // softAP+station mode
响应 :
OK

9.2 使能多连接

AT+CIPMUX=1
响应 :
OK

9.3 建⽴ TCP server

AT+CIPSERVER=1 // default port = 333
响应 :
OK

9090端口号是esp8266模块通过我们设定的端口号。

9.4 连接路由器

AT+CWJAP="SSID","password" // SSID and password of router SSID是路由器名称 password是路由器密码
响应 :
OK

9.5 PC端使⽤⽹络调试⼯具,建⽴⼀个TCP client,连接ESP8266TCP server(上面设置9090)

注意:
ESP8266 作为 TCP server 有超时机制,如果连接建⽴后,⼀段时间内⽆数据来往, ESP8266 TCP server 会 将 TCP client 踢掉。因此,请在 PC TCP client 连上 ESP8266 TCP server 后建⽴⼀个 2s 的循环数据发送, ⽤于保持连接

若超过2s为发送数据,则会自动断开。 

9.6 发送数据

// ID number of connection is defaulted to be 0.
AT+CIPSEND=0, 4 // send 4 bytes to connection NO.0
>test // enter the data, no CR
响应 :
Recv 4 bytes
SEND OK
注意:
发送数据时,如果输⼊的字节数超过了设置⻓度( n ):
- 系统将提示 busy ,并发送数据的前 n 个字节,发送完成后响应 SEND OK
- 超出⻓度的部分数据被认为是⽆效数据,不被接受。
进⼊透传模式发送数据,每包最⼤ 2048 节,或者每包数据以 20 ms 间隔区分。

这里AT指令中网络连接号为0是默认为0,若有多个TCP Client连接则会增加序号,例如多增加一个TCP Clinet第二个序号为1,如下:

序号0为8080端口号,序号1为8081端口号。

9.7 断开TCP连接

AT+CIPCLOSE=5(关闭所有序号的TCP连接)
响应 :
CLOSED
OK

可以输入对应序号关闭TCP连接,如下:

也可以输入5关闭所有TCP连接,如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1619149.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构(Wrong Question)

一、绪论 1.1 数据结构的基本概念 D 因为抽象数据类型(ADT)描述了数据的逻辑结构和抽象运算,通常用(数据对象,数据对象,基本操作集)这样的三元组来表示,从而可构成一个完整的数据结…

【笔记django】创建一个app

创建app 错误 raise ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: Cannot import rules. Check that dvadmin.rules.apps.RulesConfig.name is correct.原因 刚创建的rules的app被手动移动到了dvadmin目录下 而dvadmin/rules/apps.py的内容还是&…

文字转粤语语音怎么转?文字转语音

文字转粤语语音怎么转?文字转粤语语音的应用,不仅展现了现代科技的魅力,也为我们提供了更加便捷的交流方式。它们将文字转化为粤语发音,让我们能够更直观地感受粤语的韵味和魅力。同时,这些软件还具备高度的可定制性&a…

使用 FFMPEG 实现录屏和录音

FFmpeg 是一个非常强大的开源工具,它可以用来处理音频和视频。 要使用 FFmpeg 进行录屏和录音,需要首先确保你的系统已经安装了 FFmpeg。在大多数 Linux 发行版中,可以通过包管理器(如 apt 或 yum)来安装。在 Windows …

DNS 解析过程

一张图即可说明,如果能看到上图就不用往下看了。下面是上图的文字版解析 a. 用户输入 URL: 当你在浏览器中点击一个链接或输入一个网址时,比如点击一个图片链接 http://www.example.com/image.jpg,这个过程开始于你的设备尝试理解这个地址所…

(mac)Promethues监控之mysqld_exporter(MySQL监控)

搭建Mysqld_exporterPrometheusGrafana监控系统 普罗米修斯是后端数据监控平台,通过Mysqld_exporter收集mysql数据,Grafana将数据用图形的方式展示出来 前提:已安装grafana和promethues 1.下载安装Mysql (1)启动MySQL…

在 Slurm 上运行 Jupyter

1. 背景介绍 现在的大模型训练越来越深入每个组了,大规模集群系统也应用的愈发广泛。一般的slurm系统提交作业分为2种,一种是srun,这种所见即所得的申请方式一般适用于短期的调试使用,大概一般允许的时间从几个小时到1天左右&…

详细分析MySQL中的distinct函数(附Demo)

目录 前言1. 基本知识2. 基础Demo3. 进阶Demo 前言 该函数主要用于去重,对于细节知识,此文详细补充说明 1. 基本知识 DISTINCT 是一种用于查询结果中去除重复行的关键字 在查询数据库时,可能会得到重复的结果行,但有时只需要这…

AIGC时代之 - 怎样更好的利用AI助手 - 指令工程

爆火的AIGC 2022年11月30日,OpenAI发布ChatGPT 3 2022年12月4 日,ChatGPT 3 已拥有超过一百万用户 2023年各种大语言模型开始火爆全球 GPT们,已经成为了我工作和学习的非常重要的工具。 ChatGPT也没那么神奇? 不知道大家有没有…

JS----前端将列表数据转树型数据

前端将列表数据转树型数据 场景:后端返回列表数据,由前端根据业务需求完成树型数据转换, 常用于侧边导航菜单,下拉树型数据项等 export function listToTree(data: []) {var map: any {},tree: any []data.forEach((item: any…

virtualbox 网络设置实现主机和虚拟机互相访问

前言 一般来说,virtualbox 虚拟机的上网模式是 NAT。这样虚拟机可以上网并访问宿主机,但宿主机无法访问虚拟机,也无法 ping 通。下面介绍双网卡模式,实现虚拟机和宿主机能够互相访问 ping 通。 双网卡模式 进入虚拟机的网络设置…

【MySQL】A01、性能优化-语句分析

1、数据库优化方向 A、SQL及索引优化 根据需求写出良好的SQL,并创建有效的索引,实现某一种需求可以多种写法,这时候我们就要选择一种效率最高的写法。这个时候就要了解sql优化 B、数据库表结构优化 根据数据库的范式,设计表结构&…

webpack中mode、NODE_ENV、DefinePlugin、cross-env的使用

本文讲的全部知识点,都是和webpack相关的。如果你之前有疑问,那本文一定能帮你搞清楚。 问题来源一般是类似下面代码(webpack.json中): "scripts": {"dev": "cross-env NODE_ENVdevelopmen…

【快速入门 LVGL】-- 5、Gui Guider界面移植到STM32工程

上篇,我们已学习:【快速入门 LVGL】-- 4、显示中文 工程中添加了两个按钮作示范。运行效果如图: 本篇:把Gui Guider设计好的界面,移植到STM32工程。 特别地: 在使用Gui Guider进行界面设计时,应…

探索SAVI:土壤调整植被指数的意义与应用

​随着遥感技术的不断发展,植被指数成为了评估地表植被覆盖和健康状况的重要工具之一。其中,SAVI(Soil Adjusted Vegetation Index,土壤调整植被指数)作为一种针对土壤表面反射率进行调整的植被指数,在土地…

Linux内核之hook机制:call_void_hook用法实例(六十一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

使用2023版BurpSuite半自动化Autorize进行垂直越权测试【图文教程】

本人在使用时BurpSuite v2023.12时,查阅网上资料,发现网上大多是旧版,而旧版跟新版在界面上有些许调整。故记录BurpSuite v2023.12使用教程,用于后续本人回顾。 Autorize工具安装 Extensions→BApp Store→Autorize→Download J…

HTML5+CSS3小实例:炫彩荧光线条登录框

实例:炫彩荧光线条登录框 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-sca…

parallels desktop19.3最新版本软件新功能详细介绍

Parallels Desktop是一款运行在Mac电脑上的虚拟机软件&#xff0c;它允许用户在Mac系统上同时运行多个操作系统&#xff0c;比如Windows、Linux等。通过这款软件&#xff0c;Mac用户可以轻松地在同一台电脑上体验不同操作系统的功能和应用程序&#xff0c;而无需额外的硬件设备…

如何在 Flutter 中制作多种颜色的 TextField

TextField widget 本身并不施加任何样式。相反&#xff0c;它会要求 TextEditingController 生成一个样式化的 TextSpan 对象&#xff0c;即一段带有样式的文本。 TextField 将其样式传递给 TextEditingController &#xff0c;默认实现只是将其放入 TextSpan 对象中&#xff0…