esp32连接桂林电子科技大学问的校园网,并进行出校认证(登录认证)

        最近想用esp32给电脑临时搭个远程开机,esp32需要连接WIFI,肯定不能放个手机在那开热点,校园网遍布整个学校,为此去研究一下怎么连接校园网了。esp32连接WIFI教程很多,也很简单,就不记录了,主要记录一下怎么进行校园网的登录认证。

        我们先连接校园网,然后不要登录,再登录界面按键盘上的F12,调出开发人员界面。

点网络,然后勾选保留日志,最后点登录。

登录完成后后记录下来很多信息,我们找到login?callback开头的,点开把URL复制下来,同时也可知身份认证是通过GET请求实现的。

随便搜索一个URL在线解析工具,我用的是这个在线URL解码编码工具_蛙蛙工具 (iamwawa.cn)

user_account是我们的账号,由 ,0,+ 学号构成

user_passwrd是密码

wlan_user_ip是IP地址

部分代码如下:

user_account直接填账号即可   ,0,已经在字符串中补上了。

user_passwrd注意不要直接填密码,即使是对的,响应也会显示账号密码错误。正确做法是把上         面URL解析的红圈第4点的一串字母复制过来。

user_ip不用填,在程序中会自动获取IP地址

wlan_user_mac可以复制上面的,我是用000000000000代替

下面就简单了,先是正常连接WIFI,校园网没有密码可以不填。连接成功后获取IP地址,并转换成字符串,然后进行GET请求进行身份认证。

void WifiConnect()          //WIFI连接
{
  
  WiFi.mode(WIFI_STA);        //设置STA模式
  Serial.println();           //换行
  Serial.printf("Mode=%d\r\n",WiFi.getMode());//读取本机模式
  // WiFi.begin(wifi_name,wifi_password);        //初始化WIFI。ssid:ID,password:密码
  WiFi.begin(wifi_name);        //初始化WIFI。ssid:ID,password:密码
  Serial.println("WIFI Connecting.....");
  while(WiFi.status()!= WL_CONNECTED)        //等待连接完成
  {
    WiFi.begin(wifi_name);        //重新连接
    delay(2000);
  }
  Serial.println("WIFI Connected!");          //打印连接完成
  Serial.print("IP Address:");                //获取IP地址
  Serial.println(WiFi.localIP());             //打印IP地址

  IPAddress localip = WiFi.localIP();
  My_ip = String(localip[0])+"."+String(localip[1])+"."+String(localip[2])+"."+String(localip[3]);
  HTTPClient http;        //创建HTTPClient类
  //发送GET请求
  http.begin(URL+"&user_account=,0,"+My_account+"&user_password="+My_password+"&wlan_user_ip="+My_ip+address_last);
  int httpCode = http.GET();
  Serial.printf("HTTP状态码:%d\n",httpCode);//获取状态码
  //获取响应正文
  String response = http.getString();
  Serial.println("响应数据:");
  Serial.println(response);
  http.end();
}

连接服务器以及其他的内容就不展示了。

把代码下载到板子上验证,看到串口返回这一串响应数据,就表示已经登陆认证成功啦。

配合舵机和自己写的手机APP,通过云端服务器,就可以随时随地给电脑开机了,用平板远程操控电脑真的很方便。

  • 20
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值