[WiFi]esp-32, esp-8266 에서 사용하는 함수들 - 2

2022년 07월 07일 by 진아사랑해

    [WiFi]esp-32, esp-8266 에서 사용하는 함수들 - 2 목차
반응형

개요

esp8266을 사용한 개발을 하면서 사용한 함수들을 정리하고 있습니다.

 

mills()

보드에 전원이 들어온 시점부터 밀리세컨드(milisecond)를 카운트합니다.

딜레이를 사용하지 않고 이 함수를 이용하여 시간 차이룰 구할 수 있습니다.

리턴 타입은 unsigned long 이며, 약 50일 후에 다시 0 부터 시작하는 overflow가 발생합니다.

 

사용하는 방법은 

void loop() {
// 현재 millis() 값을 읽습니다
  unsigned long currentMillis = millis();

  if (currentMillis - previousMillis >= interval) {
    // 원하는 인터벌(간격) 보다 크면 현재 읽은 값을 저장합니다.
    previousMillis = currentMillis;
   // LED를 사용하여 동작이 정확인지 확인합니다
    if (ledState == LOW) {
      ledState = HIGH;
    } else {
      ledState = LOW;
    }
    digitalWrite(ledPin, ledState);
  }
}

 

WifiMulti

지정된 하나의 AP에만 접속하는 것이 아니라, 사전에 등록된 다수의 AP중에서 신호강도가 

제일 좋은 AP에 접속하도록 하는 것입니다.

#include <ESP8266WiFiMulti.h> 헤더파일을 포함해야 합니다.

ESP8266WiFiMulti WifiMulti;

 

WifiMulti.addAP(Ssid-1, SsidPw-1);    // 사용할 AP들을 등록합니다

WifiMulti.addAP(Ssid-2, SsidPw-2);

 

if(WifiMulti.run() != WL_CONNECTED) {   // 신호강도가 제일 강한 AP에 연결을 요청합니다.

  // 처리 내용 -1

}

else{

  // 처리내용 -2

}

 

restart()

esp8266 또는 esp-32를 소프트웨어적으로 재시작하는 명령어입니다.

void loop() {
  Serial.println(cnt);
  if(cnt==0){
    Serial.println("Reset..");
    ESP.restart();
  }
  cnt--;
  delay(1000);
}

위 코드는 10초가 지난 후에 재시작하는 코드입니다.

 

반응형