初出茅庐的小李第23篇博客之WiFi模块建立TCP通信并获取B站粉丝数据

准备一个WiFi模块和一个网络调试助手

在这里插入图片描述
接线一般都是供电,接地,RXD ,TXD 这里还要接一个RST,刚开始没有接发现无法用AT指令对模块进行复位,所以就接上吧。
在这里插入图片描述
在这里插入图片描述
我没有接单片机,如果接单片机要把控制模组工作的引脚接上。高电平工作,低电平模块不工作。

AT指令用法

常用AT指令网上找的参考了这篇文章
原文链接:https://blog.csdn.net/u012308586/article/details/90212882
ESP8266初始默认115200波特率。
每个命令后面都要加回车换行。
AT+CWMODE=x 设置模式为x,1:station模式 2:ap模式 3:sta+ap模式
AT+RST 复位
AT+CWDHCP=x,y dhcp,y=0关闭,1开启;x为0时是ap,1是station, 2是二者同时
AT+CWJAP=“SSID”,“PWD” 当作为station模式时,加入WIFI热点SSID,PWD是热点密码
AT+CIPMUX=x x=1,开启多路连接,x=0,单连接。AT+ CIPMUX=1时才能开启服务器;关闭server模式需要重启
AT+CIPSERVER=x,y 开始服务器,x为1时开启,0关闭,y为开启的端口,http协议所用的端口为80,端口号缺省值为333
AT+CIFSR 查看本模块的IP地址 注意:AP模式下无效!会造成死机现象!
AT+CIPSTART=2,“TCP”,“192.168.1.122”,8080 连接到TCP服务器
AT+CIPMODE=1 设置透传模式
AT+CIPSEND 开始发送数据
AT+CIPSTART: “TCP”, “10.16.147.39”, “2020” 可靠性高,可以回传数据,相对用的广泛
AT+CIPSTART: “UDP”, “10.16.147.39”, “3030” 只能单方向传输

AT指令测试

AT

OK
AT+GMR

AT version:1.2.0.0(Jul 1 2016 20:04:45)
SDK version:1.5.4.1(39cb9a32)
Ai-Thinker Technology Co. Ltd.
Dec 2 2016 14:21:16
OK
AT+RST

OK

ets Jan 8 2013,rst cause:1, boot mode:(3,7)

load 0x40100000, len 1856, room 16
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8
tail 0
chksum 0x79
csum 0x79

2nd boot version : 1.5
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

屻?僶鞉减慃o|??恖d 屻r???d 屻r抣靗?$`劼渘俵忂
Ai-Thinker Technology Co. Ltd.

ready
WIFI DISCONNECT
设置为station模式
AT+CWMODE_DEF=1

OK
查询当前模式
AT+CWMODE_DEF?

+CWMODE_DEF:1

OK
尝试加入我的电脑WiFi热点失败
AT+CWJAP_DEF=“Aqst”,“123456789+”

WIFI CONNECTED
+CWJAP:1

FAIL
WIFI DISCONNECT
在这里插入图片描述
忘了打开WiFi了,打开后加入成功
WIFI DISCONNECT
AT+CWJAP_DEF=“Aqst”,“123456789+”

WIFI CONNECTED
WIFI GOT IP

OK
查询WiFi地址

AT+CIFSR

+CIFSR:STAIP,“192.168.137.37”
+CIFSR:STAMAC,“5c:cf:7f:76:99:b9”

OK

用网络调试助手开一个TCP服务器

在这里插入图片描述
第一次连接失败,因为没有手动关闭防火墙
AT+CIPSTART=“TCP”,“192.168.137.1”,8080

ERROR
CLOSED
第二次连接成功
AT+CIPSTART=“TCP”,“192.168.137.1”,8080

CONNECT

OK
开启透传模式
AT+CIPMODE=1

OK
出现箭头代表可以发送数据
AT+CIPSEND

OK

在这里插入图片描述
串口助手到网络助手的信息发送成功
在这里插入图片描述
发送命令退出透传模式
在这里插入图片描述
网上说发三个不带新行的+++可以退出,但是好像这个行不通
原因找到了
在右侧这里默认发送新行所以不行
在左边这里就好了
在这里插入图片描述

请求一个简单网页信息

在这里插入图片描述
这个链接可以查看我自己的粉丝数

https://api.bilibili.com/x/relation/stat?vmid=349513188
直接访问不行,需要复制到浏览器栏里去访问

{“code”:0,“message”:“0”,“ttl”:1,“data”:{“mid”:349513188,“following”:345,“whisper”:0,“black”:0,“follower”:568}}

那么是否可以用AT指令GET到B站粉丝数据呢?

百度搜索了好久,都是arduinoIDE开发ESP8266,终于我找到了一个教程
竟然还是再逼站上,看来逼站真的是啥都有
我对HTTP的协议可以说是完全不懂,但是这个粉丝数获取激发了我学习的兴趣

话不多说直接上效果

在这里插入图片描述
568粉丝数,其实关注我的朋友大部分是为了看模电课(我自己上传的自己都没有看完,手动捂脸)
在这里插入图片描述
这里就有点戏剧性了,我网页上显示的明明是568啊,这里为啥获取到的是569呢?难道是有人在我写博客的时候关注了我,像我这样的屌丝真么可能。。。。。
应该是bug,我自己好像关注了自己,这个数据既然能获取到,接下来就有的玩了
把这一堆数据解析一下应该对32编程能力有一个不错的锻炼。好了今天就记录到这里吧(其实是我家的小麦改收割了…,疫情延迟开学的大学生在家啥都得干啊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章