找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2522|回復(fù): 0
收起左側(cè)

關(guān)于arduino esp32斷開網(wǎng)絡(luò)連接的問題

[復(fù)制鏈接]
ID:858009 發(fā)表于 2022-5-5 09:35 | 顯示全部樓層 |閱讀模式
問題:想控制esp32網(wǎng)絡(luò)的定時(shí)斷開和連,
目前就可以實(shí)現(xiàn)持續(xù)連接網(wǎng)絡(luò),但是不知道怎么網(wǎng)絡(luò)連接,然后每間隔一小時(shí)重新連接,五分鐘斷開,無(wú)從下手,求指導(dǎo)一下;
#include "WiFi.h"
#include "EEPROM.h"
#define LENGTH(x) (strlen(x) + 1)   // 定義一個(gè)長(zhǎng)度char字符串調(diào)用
#define EEPROM_SIZE 300             // EEPROM的大小
#define WiFi_rst 0                  // WiFi復(fù)位引腳 (Boot button on ESP32)
String ssid;                        //用于存儲(chǔ)ssid的字符串變量
String pss;                         //用于存儲(chǔ)pss的字符串變量
String ID;
unsigned long rst_millis;
const char* id_s = "S20220400000";

void setup()
{
  Serial.begin(115200);             //設(shè)置波特率
  pinMode(WiFi_rst, INPUT);         //設(shè)置IO0為輸出引腳模式
  EEPROM.begin(EEPROM_SIZE);        //初始化EEPROM
  write_ID();
  delay(500);
  read_ID();
  read_wifi_ssid_or_pss();               //讀取賬號(hào)密碼
  WiFi.begin(ssid.c_str(), pss.c_str());   //開啟WiFi連接
  delay(3500);   // 延時(shí)等待WiFi連接
  if (WiFi.status() != WL_CONNECTED)       // 如果沒有連接WiFi
  {
    WiFi.mode(WIFI_AP_STA);                //將WiFi初始化為Station,啟動(dòng)SmartConfig
    WiFi.beginSmartConfig();
    Serial.println("等待SmartConfig應(yīng)答.");  //等待手機(jī)的SmartConfig報(bào)文
    while (!WiFi.smartConfigDone())
    {
      delay(500);Serial.println(".");     
    }
    Serial.println("SmartConfig已應(yīng)答.");
    Serial.println("網(wǎng)絡(luò)連接中");    //等待WiFi連接到AP
    while (WiFi.status() != WL_CONNECTED)
    {
      delay(500);Serial.println(".");
    }
    Serial.println("網(wǎng)絡(luò)連接成功.");
    Serial.print("IP Address: ");
    Serial.println(WiFi.localIP());  
    write_wifi_ssid_or_pss();      // WiFi SSID和密碼寫入EEPROM
  }
  else
  {Serial.println("網(wǎng)絡(luò)連接成功"); }     //連接成功
}
void loop()
{
  rst_millis = millis();                    // put your main code here, to run repeatedly:
  while (digitalRead(WiFi_rst) == LOW) {}   // 等待啟動(dòng)按鈕被按下
  if (millis() - rst_millis >= 3000)        // 檢查按鈕按下時(shí)間,如果大于3秒,清除wifi信息,重啟ESP
  {
    Serial.println("重置WiFi");
    writeStringToFlash("", 0);  // 重置賬號(hào)
    writeStringToFlash("", 40); // 重置密碼
    Serial.println("重置完成,等待重啟");
    delay(500);
    ESP.restart();            // 重啟ESP
  }
}

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表