admin管理员组

文章数量:1530057

这一章教大家使用Arduino IDE开发让ESP32连接wifi

至于连接WIFI之后,ESP32就有无限的可能了,之后会教大家与阿里云的交互以及一些别的东西,这个是可以连接手机热点的,使用之前在代码里面把用户名和密码改了就行,然后有时候开机会出现移植连接不上的情况,重启一下即可。关于下载程序,点击IDE左上方那个指向右边的箭头即可,他会自动编译然后向检测到的ESP32 端口进行烧录 , 这时候会一直显示等待,你按下boot按钮然后等到开始下载后放开即可。

上代码

#include "WiFi.h"    //ESP32 wifi驱动库

#define ssid "b123"
#define password "cx123456" 
//***********************************************************************************************************************    wifi连接
String translateEncryptionType(wifi_auth_mode_t encryptionType) {   //获取wifi的特性
  switch (encryptionType){
    case (WIFI_AUTH_OPEN):
      return "Open";
    case (WIFI_AUTH_WEP):
      return "WEP";
    case (WIFI_AUTH_WPA_PSK):
      return "WPA_PSK";
    case (WIFI_AUTH_WPA2_PSK):
      return "WPA2_PSK";
    case (WIFI_AUTH_WPA_WPA2_PSK):
      return "WPA_WPA2_PSK";
    case (WIFI_AUTH_WPA2_ENTERPRISE):
      return "WPA2_ENTERPRISE";
  }
}  

void scanNetworks(){    //搜索附近的WIFI源并打印出来
  int numberOfNetworks= WiFi.scanNetworks();
  Serial.print("Numberof networks found: ");
  Serial.println(numberOfNetworks);
  for (int i = 0; i< numberOfNetworks; i++) {
    Serial.print("Networkname: ");
    Serial.println(WiFi.SSID(i));
    Serial.print("Signalstrength: ");
    Serial.println(WiFi.RSSI(i));
    Serial.print("MACaddress: ");
    Serial.println(WiFi.BSSIDstr(i));
    Serial.print("Encryptiontype: ");
    String encryptionTypeDescription = translateEncryptionType(WiFi.encryptionType(i));
    Serial.println(encryptionTypeDescription);
    Serial.println("-----------------------");
    }
  }
  
void connectToNetwork(){
  WiFi.begin(ssid,password);
  while (WiFi.status()!= WL_CONNECTED) {
    delay(1000);
    Serial.println("try to connecting ...");
  }
  Serial.println("Connected to network");
}
  
void wifi_connect(){
  scanNetworks();    //搜索附近的wifi信号并且打印出来
  connectToNetwork();    //链接到wifi
  Serial.println(WiFi.macAddress());    //打印出mac地址
  Serial.println(WiFi.localIP());    //打印出本地ip地址
  Serial.println("wifi连接成功");    //打印出本地ip地址
  //WiFi.disconnect(true);    //断开wifi
  Serial.println(WiFi.localIP());   //打印IP地址 
  }

void setup() {
  Serial.begin(115200);   //初始化调试串口
  wifi_connect();    //连接wifi,参数为预留参数   
}

void loop() {
}

本文标签: wifi