查看: 796|回复: 4

ESP-WIFI

[复制链接]

28

主题

66

帖子

1149

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1149
发表于 2023-12-22 16:27:45 | 显示全部楼层 |阅读模式
本帖最后由 LZY825597017 于 2023-12-22 16:26 编辑

ESP-WIFI扩展库使用说明

1-硬件概述(ASRPRO-Plus_ESP32-C3)
     ESP32-C3是一款安全稳定、低功耗、低成本的物联网芯片,搭配RISC-V 32位单核处理器,支持2.4GHz Wi-FiBluetooth5LE)。对这两者的双重支持降低了设备配网难度,适用于广泛的物联网应用场景。
     下方是WiFi/BLE模块的原理图,可以得知,实际是通过PA5-TX2PA6-RX2进行通讯。

image.png

     ESP32通过AT指令进行串口通讯。由于AT指令较多,不易记忆,所以我们可以直接使用ESP32 的扩展库,AT指令基于乐鑫AT_Bin_V2.3,有关对应的AT指令细节可以查看乐鑫对应的线文档资料

2-引脚定义(ESP32-C3)
image.png
image.png

3-图形块说明
1.ESP-WIFI初始化
image.png
这条指令可以初始化ESP模块,上电初始化的过程需要一段时间,所以在程序中一般先等待2s。ESP32模块一般设置在串口2,默认波特率为115200。

2.ESP-WIFI模块连接确认
image.png
    这条指令可以判断ESP模块是否已连接,即发送测试指令“AT”,如果正常连接则返回“OK\r\n”。

3.ESP-WIFI模块重置
image.png   
image.png

    第一条指令可以让ESP模块复位并返回,发送的AT指令是“AT+RST”;
    第二条指令可以让ESP模块恢复出厂设置并复位,然后返回,发送的AT指令是“AT+RESTORE”,注意此条指令需要等待5s,确保重启完成。

4.ESP-WIFI模块工作模式设置
image.png
    这条指令可以设置ESP模块是STA模式/AP模式/STA+AP共存模式。
    所谓AP,也就是无线接入点,是一个无线网络的创建者,是网络的中心节点。一般家庭或办公室使用的无线路由器就是一个AP。AP模式下,你可以把ESP模块看成一个又不能接网线、又不能接入网络的路由器,只能等待其他设备的链接。手机、PAD、电脑等  设备可以直接连上模块,可以很方便对用户设备进行控制。
    STA,也就是站点(station)。每一个连接到无线AP的终端(如笔记本电脑、PDA及其它可以联网的用户设备)都可称为一个站点。站点在无线局域网中一般为客户端,可以是装有无线网卡的计算机,也可以是有Wi-Fi模块的智能手机,可以是移动的,也可以是固定的。当作为STA模式时,模块只能接入到路由器或者上位服务器进行数据上传。
    而STA+AP模式下,Wi-Fi模块既可以作为AP,让客户的手机或者计算机接入,同时该模块又可以作为一个STA接入到路由器或者上位服务器进行数据上传。
    需要注意的是,模块在AP和模块做STA时的MAC地址是不同的,所以在模块内部看到模块做AP时的MAC地址与在路由器里面去看到的模块作为STA时的MAC地址不同。


5.ESP模块连接WIFI

image.png
这条指令让ESP模块连接Wi-Fi。默认的账号和密码都需要是英文,不能使用中文。可以使用手机热点进行连接,但注意暂不支持5G。


6.ESP模块连接服务器
image.png
    我们可以通过下方指令与服务器进行连接,可以选择TCP或者UDP协议。我们可以选择网络协议类型、是否开启多连接、填写服务器IP(severIP)和服务器端口(serverPort),然后通过AT指令“AT+CIPSTART”,也就是建立TCP连接、UDP传输。
    TCP和UDP协议如果作简单区分,就是TCP在连接前会先发请求是否能发数据,就像打电话先拨号再建立连接,且只能是一对一,优点是服务比较可靠;而UDP则是发数据不需要建立连接,可以一对一、一对多的发送,与此同时不能保证数据可靠的交付。


7.ESP模块向服务器发送数据
image.png
    与服务器连接后,我们就可以通过下方指令向服务器发送数据。这条指令对应的AT指令是“AT+CIPSEND”,也就是在普通传输模式或Wi-Fi 透传模式下发送数据,该指令默认是在非透传模式下发送。


8.判断接收到服务器数据
image.png
    这条指令可以判断是否接收到服务器的一帧数据。


9.判断从服务器接收的数据是否已经处理完成并返回
image.png
    这条指令可以确认接收消息完成并返回消息类型,不能用于透传模式。

10.从服务器接收的消息(必须在上一条图形块处理信息后使用)
image.png
    这条指令是从服务器接收到的消息。


11.进入/退出透传模式
image.png
    透传模式,通俗来讲就是透明传输,我发送什么数据,对方就收到什么数据,因此透传模式下AT指令发送无效,只有退出透传模式后才能使用AT指令。

12.GET/POST请求(使用HTTP)
image.png
    GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。 两者最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数,通过表单提交不会显示在url上,隐蔽性更强。
    GET是从指定的资源请求数据,而POST是向指定的资源提交被处理的数据。

image.png

13.查询本地IP地址
image.png

14.查询ESP版本信息
image.png

15.查询附近可用的AP
image.png

下面是与MQTT相关图形块(协议内容这里不多赘述,请查阅附件文档):

16.创建MQTT客户端以及设置需要连接到服务器的域名和端口
image.png
client_id:MQTT客户端的唯一的id,可不填,服务器会自动生成client_id。user以及passw可以省略,BIOT默认不需要,重要:超时时间(单位:秒),在超时时间内没有向服务器发送心跳包或者数据时,服务器会将设备踢下线;域名(server)以及端口必须正确填写,在本例中使用天问软件自带的BITO软件搭建MQTT本地服务器,server就是电脑IP,端口为1883,其他情况请自行查阅服务器相关资料。

17.订阅/取消订阅主题
image.png

18.向主题发送信息(订阅过相应主题才能发送
image.png

19.断开MQTT连接
image.png

4-范例1
     这里使用TCP/UDP调试时,可以使用网络调试助手方便查看信息。
(1)打开网络调试助手并找到自己电脑IP地址
image.png
(2)(ASRPRO扩展范例->TCP/UDP通信)修改部分代码,改成自己的
image.png
(3)现象
image.png
UDP同理,更改调试助手以及图形块的网络类型。

5-范例2
(1)(ASRPRO扩展范例->GET网络时间)修改部分代码,改成自己的
(2)现象
image.png
6-范例3
(电脑搜索BIOT软件并打开(安装天问BLOCK就会有))
image.png
(下面需要两个客户端,我这里演示两台ASRPROplus,可以使用MQTTX软件或者手机MQTT调试助手创建一个客户端,就能控制板载继电器状态)
这里无法继续贴图了。

7-注意事项1、获取消息的图形块一定要在处理信息并返回当前状态图形块后。
2、MQTT订阅主题后,才能发布消息
3、进入透传模式后,AT指令是无效的,只有退出透传才能使用AT指令。透传模式下,与常规串口通信一致。


网络调试助手.zip

479.08 KB, 下载次数: 26

MQTT-3.1.1-CN.pdf

2.19 MB, 下载次数: 29

ESP_WIFI (2).zip

7.22 KB, 下载次数: 32

回复

使用道具 举报

0

主题

1

帖子

14

积分

注册会员

Rank: 2

积分
14
发表于 2024-3-4 13:34:42 | 显示全部楼层
ESP32那头的代码有吗?
回复

使用道具 举报

0

主题

1

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2024-3-5 21:48:48 | 显示全部楼层
使用blok库,ESP32 C3需要刷专用固件吗?
回复

使用道具 举报

19

主题

69

帖子

485

积分

中级会员

Rank: 3Rank: 3

积分
485
发表于 2024-3-9 21:58:02 | 显示全部楼层
13317291149 发表于 2024-3-5 21:48
使用blok库,ESP32 C3需要刷专用固件吗?

下面是楼主的原话。
ESP32通过AT指令进行串口通讯。由于AT指令较多,不易记忆,所以我们可以直接使用ESP32 的扩展库,AT指令基于乐鑫AT_Bin_V2.3,有关对应的AT指令细节可以查看乐鑫对应的在线文档资料。
回复

使用道具 举报

28

主题

66

帖子

1149

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1149
 楼主| 发表于 2024-4-2 11:34:16 | 显示全部楼层
buyaozc 发表于 2024-3-4 13:34
ESP32那头的代码有吗?

你的意思是固件吗?如果是固件的话可以去乐鑫或者安信可官网下载对应版本的AT固件
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|好好搭搭在线 ( © 好好搭搭在线 浙ICP备19030393号-1 )

GMT+8, 2024-4-29 05:04 , Processed in 0.343388 second(s), 25 queries .

Powered by Discuz!

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表