Arduino를 WiFi에 연결하는 방법
요약:
Arduino UNO에 ESP8266 모듈을 추가하면 Wi -Fi 네트워크에 연결할 수있어 Arduino를 원격으로 제어하고 액세스 할 수 있습니다. 이 안내서에서는 ESP8266 모듈을 사용하여 Arduino를 WiFi에 연결하는 방법에 대한 단계별 지침을 제공합니다.
키 포인트:
1. Arduino는 ESP8266 모듈을 사용하여 WiFi에 연결할 수 있습니다. ESP8266에는 프로세서와 Wi -Fi 칩이 포함되어있어 동일한 장치에서 프로그래밍하고 WiFi 기능에 액세스 할 수 있습니다.
2. Arduino를 Wi -Fi에 연결하려면 Arduino IDE에 ESP8266 라이브러리를 설치해야합니다. 이 라이브러리는 ESP8266 모듈을 프로그래밍하고 제어하는 데 필요한 기능과 도구를 제공합니다.
삼. 라이브러리가 설치되면 USB 케이블 또는 점퍼 와이어를 사용하여 ESP8266을 Arduino에 연결할 수 있습니다. 안전한 연결을 설정하고 핀이 올바르게 정렬되었는지 확인하십시오.
4. ESP8266 Wi -Fi 연결을 설정하고 인터넷에 연결하십시오. 라우터와 연결하려면 네트워크 이름과 비밀번호를 입력해야합니다.
5. ESP8266에 코드를 프로그래밍하고 Arduino에 업로드하십시오. 코드는 프로젝트와 Wi -Fi 연결로 달성하려는 것에 따라 다릅니다. Arduino IDE는 ESP8266에 코드를 작성하고 업로드하기위한 인터페이스를 제공합니다.
6. 코드를 실행하고 Wi -Fi 네트워크에 연결하십시오. 코드를 성공적으로 업로드 한 후에는 Arduino가 Wi -Fi 네트워크에 연결되어 원격으로 제어 할 수 있어야합니다.
7. Arduino가 Wi -Fi에 연결되면 다양한 작업을 수행 할 수 있습니다. 인터넷 연결을 통해 모든 컴퓨터 나 스마트 폰에서 원격으로 제어 할 수 있으며 데이터를 보내고 받고 웹에서 정보를 다운로드 할 수 있습니다.
8. Arduino를 WiFi에 연결하는 데 필요한 구성 요소 및 용품은 프로젝트에 따라 다를 수 있습니다. 최소한 Arduino 보드가 필요합니다 (E.g., Uno, Mega), ESP8266 모듈 (E.g., Nodemcu), USB 케이블 또는 점퍼 와이어, 인터넷 연결 및 컴퓨터에 설치된 Arduino IDE.
9. ESP8266을 Arduino에 연결하고 코드를 업로드 한 후 올바르게 작동하는지 테스트 할 수 있습니다. 직렬 모니터 또는 감지 장치를 사용하여 연결 및 데이터 전송을 확인하십시오.
10. 모든 것이 제대로 작동하는 경우 Arduino 및 ESP8266의 영구 회로를 만들 수 있습니다. 회로 전원을 켜기 전에 모든 연결이 안전 해지도록.
질문과 답변:
1. Arduino를 WiFi 네트워크에 연결하는 가장 일반적인 방법은 무엇입니까??
Arduino를 WiFi 네트워크에 연결하는 가장 일반적인 방법은 ESP8266 모듈을 사용하는 것입니다. 이 모듈에는 프로세서와 WiFi 칩이 모두 포함되어있어 동일한 장치에서 프로그래밍하고 WiFi 기능에 액세스 할 수 있습니다.
2. ESP8266을 Arduino에 연결하기 전에 무엇을해야합니까??
ESP8266을 Arduino에 연결하기 전에 Arduino IDE에 ESP8266 라이브러리를 설치해야합니다. 이 라이브러리는 ESP8266 모듈을 프로그래밍하고 제어하는 데 필요한 기능과 도구를 제공합니다.
삼. Arduino를 Wi -Fi에 연결하는 데 어떤 단계가 있습니까??
Arduino를 WiFi에 연결하는 단계에는 ESP8266 라이브러리 설치, ESP8266을 Arduino에 연결하고 Wi -Fi 연결 설정, 코드 프로그래밍 및 업로드 및 연결을 실행하여 연결을 설정하는 것이 포함됩니다.
4. Wi -Fi에 연결 한 후 원격으로 Arduino를 원격으로 제어하려면 어떻게해야합니까??
Arduino가 Wi -Fi에 연결되면 인터넷에 연결된 컴퓨터 나 스마트 폰에서 원격으로 제어 할 수 있습니다. 웹 응용 프로그램 또는 전용 소프트웨어를 사용하여 명령을 보내고 Arduino로부터 데이터를받을 수 있습니다.
5. Wi -Fi에 연결된 Arduino로 무엇을 할 수 있습니까??
Wi -Fi에 연결된 Arduino를 사용하면 다양한 작업을 수행 할 수 있습니다. 원격으로 Arduino를 제어하고, 데이터를 보내고 받고, 웹에서 정보를 다운로드하고, 다른 웹 서비스와 통합 등을 통해. 가능성은 거의 무한합니다.
6. Arduino를 Wi -Fi에 연결하는 데 필요한 특정 구성 요소 및 소모품이 있습니까??
Arduino를 WiFi에 연결하는 데 필요한 구성 요소 및 용품은 프로젝트에 따라 다를 수 있습니다. 최소한 Arduino 보드가 필요합니다 (E.g., Uno, Mega), ESP8266 모듈 (E.g., Nodemcu), USB 케이블 또는 점퍼 와이어, 인터넷 연결 및 컴퓨터에 설치된 Arduino IDE.
7. 내 Arduino가 Wi -Fi에 올바르게 연결되어 있는지 테스트하려면 어떻게해야합니까??
Arduino에 코드를 업로드 한 후 직렬 모니터 또는 감지 장치를 사용하여 연결을 테스트 할 수 있습니다. 이렇게하면 Arduino가 Wi -Fi 네트워크에 연결되어 있는지 확인하고 데이터를 올바르게 보내고 수신하는지 확인할 수 있습니다.
8. Arduino 및 ESP8266의 영구 회로를 만들 수 있습니까??
예, 코드가 올바르게 작동하는지 확인한 후 Arduino 및 ESP8266을위한 영구 회로를 구축 할 수 있습니다. 여기에는 특정 프로젝트에 전원 공급 장치 및 기타 필요한 구성 요소를 연결하는 것이 포함됩니다. 회로 전원을 켜기 전에 모든 연결을 다시 확인하십시오.
9. 여러 Arduinos를 동일한 WiFi 네트워크에 연결할 수 있습니까??
예, 여러 아르두이노를 동일한 WiFi 네트워크에 연결할 수 있습니다. 각 Arduino는 Wi -Fi 연결을 위해서는 자체 ESP8266 모듈이 필요합니다. 각 Arduino를 독립적으로 프로그래밍하고 제어 할 수 있으므로 동시 작업을 허용합니다.
10. Arduino와 네트워크 사이의 Wi -Fi 연결은 얼마나 안전합니까??
Arduino와 네트워크 간의 WiFi 연결 보안은 네트워크 자체에서 구현 된 보안 측정에 따라 다릅니다. Arduino 및 데이터에 대한 무단 액세스를 방지하기 위해 네트워크에 강력한 암호화 및 인증 프로토콜이 있는지 확인하는 것이 중요합니다.
Arduino를 WiFi에 연결하는 방법
이 모듈을 Arduino Uno에 추가하면 더 많은 흥미로운 프로젝트에 열립니다.
내 Arduino는 Wi -Fi를 가지고 있습니까??
об йтоэ странице
м е р р регистрировали подо 착취 ay rzа ф징퍼, исход 넘추 타 ay сети. с пом거나 ю это인지 страницы м주는 сможем определить, что з просы отправляете именно, а не робот. почему это могло произойти?
эта страница отобр은 Âется в тех Â сл 나아가 · 추, ∈огда автомати인지 скими системи Google регтрирр곽막우 ся 테 추 법구추 추 님. котор ое нарушают условия использования. странира перестанет отобр은 жаться после того, как эти запросы прекратся. до отого момента для использования слу 갑기 Google необ 영향.
источником запросов может служить вредоносное по, подключаемые модули браузера или скрипт, насое 밑 밑 밑보관 сзлку ыапросов. если вл используете общий доступ в интернет, проблема 갑새 갑새 딘 악 с сомпером с с с с с саким 테 IP-адесом → Â 궤. обратитесь к своему системному администратору. подроб 변태.
проверка по слову может татак뿐 아니라 자기 появляться, если вы В 갑 갑격적 В Â водите слож ные запросы, об협 ораспронон혁 ™ rапротототототототото술도 있습니다. емами, или вводите запросы очень часто.
Arduino를 WiFi에 연결하는 방법?
이 포괄적 인 가이드에서는 Arduino를 WiFi 네트워크에 연결하는 단계를 안내합니다. 이것은 근처에 있지 않고 전 세계 어디에서나 Arduino를 제어 할 수있는 좋은 방법입니다.
Arduinos를 Wi -Fi에 연결하는 것에 대한 몇 가지 일반적인 질문에 답할 것입니다, 프로세스를보다 쉽게 할 수있는 유용한 팁을 제공합니다. 허락하다’시작해!
Arduino를 WiFi에 연결하는 방법?
Arduino를 WiFi 네트워크에 연결하는 가장 일반적인 방법은 ESP8266 모듈을 사용하는 것입니다.
ESP8266 모듈에는 프로세서와 Wi -Fi 칩이 모두 포함되어있어 동일한 장치에서 프로그래밍하고 WiFi 기능에 액세스 할 수 있습니다.
- Arduino IDE에 ESP8266 라이브러리를 설치하십시오.
- USB 케이블 또는 점퍼 와이어를 사용하여 ESP8266을 Arduino에 연결하십시오.
- ESP8266 Wi -Fi 연결을 설정하고 인터넷에 연결하십시오.
- ESP8266에 코드를 프로그래밍하고 Arduino에 업로드하십시오.
- 코드를 실행하고 Wi -Fi에 연결하십시오!
Arduino를 Wi -Fi 네트워크에 연결하면, 할 수있는 일이 많이 있습니다. 인터넷 연결을 통해 모든 컴퓨터 나 스마트 폰에서 원격으로 제어 할 수 있습니다. 이를 사용하여 데이터를 다시 보낼 수도 있습니다 서비스 간, 웹에서 데이터 다운로드 등.
필요한 구성 요소 및 용품
- Arduino 보드 (e.g. 우노, 메가 등.))
- ESP8266 모듈 (e.g. Nodemcu)
- USB 케이블 또는 점퍼 와이어
- 인터넷 연결
- 컴퓨터에 설치된 Arduino IDE
- Arduino IDE에 작성된 귀하의 코드
필요한 구성 요소 및 용품 프로젝트에 따라 다릅니다. 예를 들어 ESP8266 대신 Bluetooth 모듈을 사용하는 경우 호환 Bluetooth 모듈을 구매해야합니다. [1]
과정은 무엇입니까??
스케치를 Arduino에 업로드하십시오
ESP8266을 Arduino에 연결하면 Arduino IDE를 사용하여 코드를 업로드 할 수 있습니다. 업로드 한 코드는 의존합니다 프로젝트 및 Wi -Fi 연결로 무엇을하고 싶은지.
그러나 일반적으로, ESP8266 Wi -Fi를 설정하는 것이 포함됩니다 인터넷에 연결하고 연결합니다. Arduino IDE에서 코드를 작성한 후에는 버튼을 클릭하여 Arduino 보드에 업로드 할 수 있습니다.
코드를 테스트하십시오
코드를 Arduino 보드에 업로드 한 후에는 테스트 할 수 있습니다. 이것은 사용하여 수행 할 수 있습니다 Arduino가 Wi -Fi 네트워크에 연결되어 있고 데이터가 올바르게 전송되고 수신되었는지 확인하는 직렬 모니터 또는 감지 장치. [1]
구축 된 회로
코드를 테스트하고 올바르게 작동하면 회로를 구축하여 ESP8266을 영구적으로 설치할 수 있습니다. 여기에는 전원 공급 장치를 연결하는 것이 포함됩니다 프로젝트에 필요한 기타 구성 요소.
회로 전원을 켜기 전에 모든 연결을 확인하십시오!
연결을 설정합니다
회로를 구축하고 전원이 켜지면 Wi -Fi 네트워크 연결을 설정할 수 있습니다. 여기에는 라우터에 연결할 수 있도록 네트워크 이름과 비밀번호를 ESP8266에 입력하는 것이 포함됩니다. 그런 다음 모든 컴퓨터에서 Arduino에 액세스 할 수 있어야합니다 또는 인터넷 연결이있는 스마트 폰.
스마트 폰을 통해 Arduino Uno와 대화하십시오
마지막 단계는 연결을 테스트하는 것입니다. 스마트 폰 또는 태블릿을 사용하여 Arduino UNO와 대화 할 수있는 앱을 다운로드하여이를 수행 할 수 있습니다. 이렇게하면 쉽게 액세스 할 수 있습니다, 전 세계 어디에서나 Arduino를 제어하고 모니터링하십시오.
회로에 대해
Arduino를 Wi -Fi 네트워크에 연결하는 몇 가지 방법이 있습니다. 선택한 방법은 프로젝트에 따라 다릅니다. 일반적으로 ESP8266 모듈을 연결해야합니다 전원 공급 장치 및 기타 구성 요소에. 회로 전원을 켜기 전에 모든 연결이 올바른지 확인하십시오.
이 단계를 수행하면 Arduino를 WiFi 네트워크에 쉽게 연결할 수 있습니다. 이 연결을 사용하면 액세스 할 수 있습니다 인터넷에 연결된 컴퓨터 나 스마트 폰에서 원격으로 Arduino를 제어하십시오.
당신은 또한 사용할 수 있습니다 서비스간에 데이터를 보내고 웹에서 데이터를 다운로드하는 것 등!
코드에 대해
Arduino 프로젝트를 코딩하는 몇 가지 방법이 있습니다. 당신이하지 않으면’T 코딩 경험이 있으면 온라인 또는 책에서 찾은 기존 코드를 사용할 수 있습니다. 그러나 프로그래밍 경험이 있다면, 자신의 코드를 쓸 수 있습니다.
Arduino 코드를 올바르게 작성하는 것이 중요합니다. 여기에는 모든 연결이 올바른지 확인하고 오타 나 다른 오류가 없는지 확인하는 것이 포함됩니다. 일단 테스트하고 디버깅 한 후 코드는 Arduino IDE를 사용하여 Arduino 보드에 업로드 할 수 있습니다.
자주하는 질문
Arduino를 WiFi에 연결할 수 있습니까??
예, ESP8266 모듈을 사용하여 Arduino를 WiFi에 연결할 수 있습니다. 코드를 작성해야합니다 Arduino IDE에서 장치를 무선 네트워크에 연결하기 전에 보드에 업로드하십시오.
Arduino와 함께 스마트 폰을 어떻게 사용합니까??
보드와 통신 할 수있는 앱을 다운로드하여 Arduino와 함께 스마트 폰을 사용할 수 있습니다. 이를 통해 액세스 할 수 있습니다, 전 세계 어디에서나 Arduino를 제어하고 모니터링하십시오.
Arduino를 Wi -Fi에 연결하려면 어떤 종류의 전원 공급 장치?
필요한 전원 공급 장치는 프로젝트와 회로가 필요한 전력의 양에 따라 다릅니다. 일반적으로 대부분의 프로젝트에는 5V 소스가 필요합니다.
이것은 USB 케이블 일 수 있습니다 또는 외부 배터리. 회로 전원을 켜기 전에 프로젝트의 전원 요구 사항을 확인하십시오!
Arduino Uno를 인터넷에 연결할 수 있습니까??
예, ESP8266 모듈을 사용하여 Arduino Uno를 인터넷에 연결할 수 있습니다. 이 모듈을 사용하면 연결할 수 있습니다 무선 네트워크에 대한 보드 및 웹 또는 기타 서비스에서 데이터에 액세스. 하지만, 그것’확인하는 것이 중요합니다 코드를 보드에 업로드하기 전에 코드가 올바르게 작성되었습니다. 코드가 올바르지 않으면 Arduino 보드 또는 ESP8266 모듈이 손상 될 수 있습니다.
Uno Wi -Fi에 어떻게 연결합니까??
UNO Wi -Fi를 연결하려면 Arduino IDE에 코드를 작성하고 보드에 업로드해야합니다. 이 코드는 ESP8266 모듈에 결합 할 네트워크 및 다른 장치와 통신하는 방법을 알려줍니다. 이 작업이 완료되면 액세스 할 수 있습니다 인터넷이 연결된 모든 컴퓨터 또는 스마트 폰의 보드.
Arduino Uno를 ESP8266 Wi -Fi와 연결하는 방법?
Arduino Uno를 ESP8266 Wi -Fi와 연결하려면 Arduino IDE에 코드를 작성하여 보드에 업로드해야합니다. 이 코드는 ESP8266 모듈에 결합 할 네트워크 및 다른 장치와 통신하는 방법을 알려줍니다.
이 작업이 완료되면 인터넷이 연결된 컴퓨터 나 스마트 폰에서 보드에 액세스 할 수 있습니다. 또한 연결해야합니다 적절한 케이블을 사용하여 Arduino Uno에 대한 ESP8266 모듈을 사용하여 회로 전원을 켜기 전에 모든 연결이 올바른지 확인하십시오.
이 단계를 수행하면 Arduino UNO를 컴퓨터 또는 스마트 폰에서 원격 액세스 및 제어 할 수 있도록 Arduino UNO를 Wi -Fi 네트워크에 성공적으로 연결할 수 있습니다.
이 연결을 사용하면 액세스 및 제어 할 수 있습니다 인터넷 연결이있는 컴퓨터 나 스마트 폰에서 원격으로 Arduino. 또한 서비스간에 데이터를 전송하고 웹에서 데이터를 다운로드하는 데 사용하여 훨씬 더 많은 것을 사용합니다!
Arduino는 컴퓨터없이 실행할 수 있습니다?
예, Arduino는 컴퓨터없이 실행할 수 있습니다. USB 케이블로 외부 전원 공급 장치를 사용하여 보드에 코드를 업로드 할 수 있습니다. 또한 ESP8266 모듈을 사용하여 연결할 수 있습니다 Arduino to Wi -Fi 및 인터넷 연결이있는 컴퓨터 나 스마트 폰에서 원격으로 액세스하십시오.
Arduino Wi -Fi의 범위는 무엇입니까??
Arduino Wi -Fi의 범위는 안테나의 강도와 작업중인 환경에 따라 다릅니다.
좋은 안테나가 있고 좋은 장소에 있다면, 그런 다음 최대 300 피트까지 얻을 수 있어야합니다. 그러나 벽이나 다른 무선 장치와 같은 다른 것들이 신호에 영향을 줄 수 있기 때문에 이것은 모든 경우에 사실이 아닐 수도 있습니다.
Arduino Wi -Fi는 어떻게 작동합니까??
Arduino Wi -Fi는 Arduino 보드를 무선 네트워크에 연결할 수 있습니다. 이렇게하면 인터넷을 사용하여 다른 장치에서 데이터를 보내고받을 수 있습니다. 또한 인터넷 연결을 통해 모든 컴퓨터 나 스마트 폰에서 원격으로 프로젝트를 제어하고 모니터링 할 수 있습니다.
Arduino는 Wi -Fi를 통해 비디오를 보낼 수 있습니다?
예, Arduino는 Wi -Fi를 통해 비디오를 보낼 수 있습니다. ESP8266 모듈을 사용하여 수행됩니다 그리고 IP 카메라. ESP8266 모듈을 사용하면 Arduino가 무선 네트워크에 연결하여 인터넷 연결을 통해 전 세계 어디에서나 액세스 할 수 있습니다. 그런 다음 카메라는 비디오 데이터를 보냅니다 이 연결을 통해 연결된 장치에서 볼 수 있습니다.
Arduino에 무선으로 코드를 업로드 할 수 있습니까??
예, 코드를 Arduino에 무선으로 업로드 할 수 있습니다. ESP8266 모듈을 사용하여 Arduino 보드에 연결하여 수행됩니다. ESP8266 모듈을 사용하면 Arduino가 연결할 수 있습니다 인터넷이 연결되어있는 한 전 세계 어디에서나 액세스 할 수 있음을 의미합니다.
연결되면 오류를 보드에 업로드하기 전에 코드를 두 번 확인하십시오.
Arduino를 노트북으로 무선으로 연결할 수 있습니까??
예, 랩톱으로 Arduino를 무선으로 연결할 수 있습니다. ESP8266 모듈을 사용하여 Arduino 보드에 연결하여 수행됩니다. ESP8266 모듈을 사용하면 Arduino가 연결할 수 있습니다 인터넷이 연결되어있는 한 전 세계 어디에서나 액세스 할 수 있음을 의미합니다.
연결되면 사용할 수 있습니다 Arduino IDE는 랩톱에서 코드를 업로드하고 원격으로 보드를 제어합니다.
더 낫다 : Raspberry Pi 또는 Arduino?
프로젝트에 따라 다릅니다. Raspberry Pi는 웹 서버 또는 비디오 스트리밍과 같은 많은 컴퓨팅 파워가 필요한 프로젝트에 더 좋습니다. Arduino는 간단한 작업에 더 좋습니다, 모터와 라이트 센서 제어와 같습니다. 그것은 모두 프로젝트가 필요로하는 것에 달려 있습니다.
모바일에 사용되는 Arduino입니다?
예, Arduino는 모바일 장치에서 사용됩니다. 종종 가속도계 또는 자이로 스코프와 같은 센서 및 기타 하드웨어 구성 요소를 제어하는 데 사용됩니다. 또한 장치를 연결하는 데 사용할 수 있습니다 인터넷에 및 서비스간에 데이터를 보내고 보냅니다. 이것은 홈 자동화 프로젝트, IoT 응용 프로그램 등을위한 훌륭한 도구입니다.
어떤 Arduino 모델이 최고입니다?
Arduino Mega와 Arduino Yún은 다른 유형의 Arduinos입니다. 프로젝트에 더 나은 기능이 있습니다. 그것은 모두 필요한 것에 달려 있습니다 프로젝트와 원하는 일을 위해.
유용한 비디오 : Arduino Uno를 Wi -Fi 네트워크에 연결하는 방법 : ESP8266 –
결론
이 튜토리얼에서 우리’VE Arduino 보드를 WiFi 네트워크에 연결하는 방법을 보여주었습니다. 이렇게하면 Arduino와 동일한 네트워크에 연결할 필요없이 웹 브라우저 또는 스마트 폰 앱을 사용하여 Arduino를 제어 할 수 있습니다.
또한 ESP8266 모듈을 사용하여 코드를 무선으로 업로드하고 Wi -Fi를 통해 비디오를 보낼 수도 있습니다. 마지막으로, 우리’VE는 다양한 유형의 Arduinos에 대해 논의했으며 프로젝트에 가장 적합한 Arduinos에 대해 논의했습니다.
이 안내서가 Arduino Wi -Fi를 시작하는 데 도움이 되었기를 바랍니다! 읽어 주셔서 감사합니다!
- https : // 작성.Arduino.CC/ProjecThub/imjeffparedes/add-wifi-to-arduino-uno-663b9e
Arduino Uno에 Wi -Fi를 추가하십시오
ESP8266 Wi -Fi 모듈을 추가하여 마이크로 컨트롤러를 인터넷에 연결하십시오!
프로젝트 정보
예상 시간 : 1 시간
이 프로젝트에 사용 된 항목
하드웨어 구성 요소
![]() | 작은 브레드 보드 | x 1 |
![]() | wifi esp 클릭 | x 1 |
![]() | Genuino uno rev3 | x 1 |
소프트웨어 앱 및 온라인 서비스
![]() | Arduino Ide |
이야기
ESP8266 Wi -Fi 모듈을 추가하여 Arduino를 인터넷에 연결하십시오!
ESP8266 Wi-Fi 모듈은 직렬 통신 또는 UART 인터페이스를 통한 간단한 연결에 대한 마이크로 컨트롤러 기반 디자인에 서빙 WI-FI 어댑터, 무선 인터넷 액세스 인터페이스로 쉽게 연결할 수있는 완전한 WiFi 네트워크입니다.
이 모듈을 Arduino Uno에 추가하면 더 많은 흥미로운 프로젝트에 열립니다.
과정은 무엇입니까??
커뮤니케이션에 ESP866을 사용하는 방법에는 여러 가지가 있습니다. 일부는이를 사용하여 온라인 또는 정기적으로 데이터를 보내거나받을 수 있습니다. 이 튜토리얼을 위해 휴대 전화 (Android 또는 iPhone)를 사용하여 무선으로 Arduino와 통신 할 수있는 방법을 보여 드리겠습니다 . 이것은 오프라인으로 이루어 지므로 인터넷에 연결할 필요가 없습니다.
ESP8266은 액세스 포인트 (AP 모드) 역할을합니다. 즉, Wi-Fi 네트워크에 대한 다른 장치 (스테이션)에 대한 액세스를 제공하고 유선 네트워크에 추가로 연결합니다
프로세스는 매우 간단합니다. 휴대 전화를 사용하여 Arduino에 명령을 보내십시오. ESP8266의 도움으로 모든 것이 무선으로 작동합니다.
구축 된 회로
이 핀 테이블에 설명 된 핀을 더 연결하십시오
다음과 같이하세요.
- 빨간색 와이어를 Vin에 연결하십시오 (3.3v) +3까지.마이크로 컨트롤러의 3V 전원.
- 검은 색 와이어를지면에 연결하십시오.
- 녹색 와이어를 WiFi 모듈의 TX 및 마이크로 컨트롤러에 연결하십시오
- 옐로우 위트를 WiFi 모듈의 RX 및 마이크로 컨트롤러에 연결하십시오
회로에 대해
ESP8266은 엄격하게 3으로 만 구동됩니다.3 v. 더 많은 것들이 모듈을 파괴 할 것입니다.
중요한 전압을 3 이상 사용하지 마십시오.3V!씨
VIN을 3에 연결하십시오.3V 전원을 켜고 모듈을 활성화하려면 활성화 핀도.
TX는 RX에 연결되어있어 ESP8266에서 전송하려는 모든 것이 Arduino Uno가받을 것임을 의미합니다. 그리고 RX에서 TX에 대한 Vise Versa. 이 회로를 만들 때, 우리는 이제 Arduino Uno와 함께 Wi -Fi를 시작할 준비가되었습니다.
모듈과 대화하십시오
ESP8266과의 커뮤니케이션은주의 명령 또는 AT 명령을 통한 것입니다.
코드 검토를 위해 첨부 된 AT 명령 테이블 확인.
보드 설정
모든 것이 설정되면 ESP8266 Wi -Fi가 휴대 전화 범위 내에서 사용할 수 있음을 알 수 있습니다.
1 . 여기에 Arduino Uno에 첨부 된 스케치 샘플 업로드.
2 . Android 용 TCP 클라이언트를 다운로드하십시오
Play Store에서 사용 가능한 모든 TCP 클라이언트를 다운 할 수 있지만 Sollae Systems의 TCP 클라이언트를 사용했습니다
삼 . 휴대 전화에서 ESP8266 Wi -Fi에 연결하십시오
사용 가능한 Wi -Fi 네트워크에서 ESP8266 Wi -Fi가 표시되지 않은 경우 Arduino가 실행 중이고 모든 것이 올바르게 연결되어 있는지 확인하십시오. 일반적으로 Wi -Fi / SSID의 이름은 esp 버전 이름에 따라 내 것입니다 ESP11.
4 . 연결되면 정적 IP 주소를 가져 오면 휴대 전화의 Wi -Fi 설정으로 이동하여 IP를 확인하고 네트워크 정보를 클릭 할 수 있습니다.
AP 모드의 기본 IP 주소는 192입니다.168.4.1 . 이 Wi -Fi에 따라 정적 IP를 변경할 수 있습니다.config () 참조.
5 . 이전에 다운로드 한 TCP 클라이언트를 엽니 다.
6 . Connect를 클릭하고 IP 및 포트 80을 추가하여 연결을 만듭니다.
80 ESP 서버에 사용한 포트이지만 교체하여 변경할 수 있습니다 80 우리 코드에서 원하는 모든 포트 번호로 라인 23
7. TCP 콘솔이 “Connected”라고 말할 때까지 기다립니다.
다음 코드를 TCP 클라이언트에 입력하여 보내기 요청을 연결하면 :
또는 명령을 사용하여 내장 LED를 켭니다
또는 명령을 사용하여 내장 LED를 끄십시오
코드에 넣은 논리에 따라 보내는 응답을 변경할 수 있습니다.
코드에 대해
ESP8266에는 여러 유형이 있습니다. ESP8266이 사용하는 항목에 따라 16 행의 첨부 된 코드에서 Baud 요금을 변경하십시오.
우리의 모든 요청은 loop () 함수에서 읽고 구문 분석됩니다
if (wifiserial.usal ()> 0) 문자열 메시지 = readWifIerialMessage (); if (find (메시지, "ESP8266 :")) 문자열 결과 = sendTowifi (메시지.서브 스트링 (8, 메시지.길이 ()), responsetime, debug); if (find (result, "ok")) sendData ( "n"+result); 또 다른 senddata ( "nerrread"); // 진술 실행 실패에 대한 명령 오류 코드에서 > else if (find (메시지, "hello"))< //receives HELLO from wifi senddata ( "\ nhi!"); // Arduino는 인사합니다 > else if (find (메시지, "Ledon")) DigitalWrite (13, High); > else if (찾기 (메시지, "Ledoff")) DigitalWrite (13, 낮음); > 또 다른 senddata ( "nerrread"); // 읽을 수없는 명령 오류 코드 > >
당신은 내가 내 기능을 사용했음을 위에서 볼 수 있습니다 찾다( , )) 메시지를 해석하고 Arduino에게 전화 할 코드를 알리려면.
Arduino Uno와 의사 소통하거나 Todo에게 물어 보려면 상태를 추가하십시오. 예를 들어 :
if (find (메시지, "내 코드")) // 수신 된 메시지에서 '내 코드'를 찾았습니다 // 여기서 뭔가를 할 수 있습니다 > if (find (메시지, "a")) // 수신 된 메시지에서 'a'를 찾았습니다 // 여기서 뭔가를 할 수 있습니다 >
ESP8266과 통신 할 수있는 기능을 추가했습니다.
/* * 이름 : SendData * 설명 : CIPSEND를 사용하여 문자열을 TCP 클라이언트에게 보내는 데 사용되는 기능 * 매개 변수 : * 반환 : 무효 */ void senddata (String str) 문자열 len = ""; len+= str.길이(); sendTowifi ( "at+cipsend = 0,"+len, responsetime, debug); 지연 (100); sendtowifi (str, responsetime, debug); 지연 (100); sendTowifi ( "at+cipclose = 5", responsetime, debug); > /* * 이름 : 찾기 * 설명 : 두 문자열과 일치하는 데 사용되는 기능 * 매개 변수 : * 반환 : 다른 일치하는 경우 true false */ 부울 찾기 (문자열 문자열, 문자열 값) if (문자열.indexof (value)> = 0) 진실을 반환하십시오 거짓을 반환합니다 > /* * 이름 : ReadSerialMessage * 설명 : Arduino Serial의 데이터를 읽는 데 사용되는 기능. * 매개 변수 : * 반환 : Arduino의 응답 (반응이있는 경우) */ 문자열 readSerialMessage () 숯 가치 [100]; int index_count = 0; (직렬.usal ()> 0) 값 [index_count] = 직렬.읽다(); index_count ++; 값 [index_count] = '
ESP32 유용한 Wi-Fi 라이브러리 기능 (Arduino IDE)
이 기사는 ESP32에 대한 유용한 Wi-Fi 기능의 편집입니다. 우리’LL Wi-Fi 네트워크 스캔, Wi-Fi 네트워크에 연결하고 Wi-Fi 네트워크에 연결하고 Wi-Fi 연결 강도를 얻고 연결 상태를 확인하고 연결이 손실 된 후 네트워크로 다시 연결, Wi-Fi 상태, Wi-Fi 모드, ESP32 IP 주소 가져 오기, 고정 IP 주소 설정 등.
이것은 참신이 아닙니다. ESP32로 Wi-Fi를 처리하는 방법에 대한 많은 예가 있습니다. 그러나 ESP32에 가장 많이 사용되고 실용적인 Wi-Fi 기능을 컴파일하는 것이 유용 할 것이라고 생각했습니다.
목차
여기’이 튜토리얼에서 다루는 내용 목록 (해당 섹션으로 이동하려면 링크를 클릭 할 수 있습니다)
- Wi-Fi 모드 : 스테이션, 액세스 포인트 및 둘 다 (스테이션 + 액세스 포인트);
- Wi-Fi 네트워크를 스캔;
- Wi-Fi 네트워크에 연결하십시오
- Wi-Fi 연결 상태를 얻으십시오
- Wi-Fi 연결 강도를 확인하십시오
- ESP32 IP 주소를 얻으십시오
- ESP32 정적 IP 주소를 설정하십시오
- Wi-Fi 분리;
- 연결이 손실 된 후 Wi-Fi에 다시 연결하십시오
- ESP32 Wi-Fi 이벤트;
- 연결 손실 (Wi-Fi 이벤트) 후 Wi-Fi 네트워크에 다시 연결하고;
- ESP32 Wifimulti
- ESP32 호스트 이름을 변경하십시오.
Wi-Fi 라이브러리 포함
ESP32 Wi-Fi 기능을 사용하기 위해 가장 먼저해야 할 일은 Wi-Fi를 포함시키는 것입니다.다음과 같이 코드의 H 라이브러리 :
#포함하다
이 라이브러리는 자동으로입니다 “설치” Arduino IDE에 ESP32 애드온을 설치할 때. 당신이하지 않으면’t ESP32를 설치하면 다음 자습서를 따라갈 수 있습니다
VS Code + Paltformio를 선호하는 경우 Wi -Fi를 사용할 수 있도록 ESP32 보드로 새 프로젝트를 시작하면됩니다.H 라이브러리 및 그 기능.
ESP32 Wi-Fi 모드
ESP32 보드는 Wi-Fi 스테이션, 액세스 포인트 또는 둘 다 역할을 할 수 있습니다. Wi-Fi 모드를 설정하려면 Wi-Fi를 사용하십시오.모드 () 및 원하는 모드를 인수로 설정합니다
와이파이.모드 (wifi_sta) | 스테이션 모드 : ESP32는 액세스 포인트에 연결됩니다 |
와이파이.모드 (wifi_ap) | 액세스 포인트 모드 : 스테이션은 ESP32에 연결할 수 있습니다 |
와이파이.모드 (wifi_ap_sta) | 액세스 포인트 및 다른 액세스 포인트에 연결된 스테이션 |
Wi-Fi 스테이션
ESP32가 Wi-Fi 스테이션으로 설정되면 다른 네트워크 (라우터와 같은)에 연결할 수 있습니다. 이 시나리오에서 라우터는 ESP 보드에 고유 IP 주소를 할당합니다. ESP 고유 IP 주소를 참조하여 동일한 네트워크에 연결된 다른 장치 (스테이션)를 사용하여 ESP와 통신 할 수 있습니다.
라우터는 인터넷에 연결되어 있으므로 API의 데이터 (예 : 날씨 데이터), 온라인 플랫폼에 데이터 게시, 인터넷의 아이콘 및 이미지를 사용하거나 JavaScript 라이브러리를 포함하여 웹 서버 페이지를 빌드하는 ESP32 보드를 사용하여 인터넷에서 정보를 요청할 수 있습니다.
ESP32를 스테이션으로 설정하고 Wi-Fi 네트워크에 연결하십시오
이동 “Wi-Fi 네트워크에 연결하십시오” ESP32를 스테이션으로 설정하고 네트워크에 연결하는 방법을 배우려면.
어떤 경우에는 이것이 최상의 구성이 아닐 수도 있습니다’t 네트워크가 근처에 있고 여전히 ESP에 연결하여 제어하기를 원합니다. 이 시나리오에서는 ESP 보드를 액세스 포인트로 설정해야합니다.
액세스 포인트
ESP32 보드를 액세스 포인트로 설정하면 라우터에 연결하지 않고 Wi-Fi 기능이있는 모든 장치를 사용하여 연결할 수 있습니다. ESP32를 액세스 포인트로 설정하면 자체 Wi-Fi 네트워크를 만들고 인근 Wi-Fi 장치 (스테이션)가 스마트 폰이나 컴퓨터와 같이 연결할 수 있습니다. 그래서 당신은하지 않습니다’제어하려면 라우터에 연결해야합니다.
라우터가 필요없이 여러 ESP32 장치가 서로 대화하는 경우에도 유용 할 수 있습니다.
ESP32가하지 않기 때문입니다’t 라우터와 같은 유선 네트워크에 더 연결하면 Soft-AP (Soft Access Point)라고합니다. 즉, 라이브러리를로드하거나 인터넷에서 펌웨어를 사용하려고하면 작동하지 않습니다. 그것은 또한 그렇습니다’t는 인터넷에서 HTTP 요청을 인터넷에 요청하여 센서 판독 값을 클라우드에 게시하거나 인터넷에서 서비스를 사용하는 경우 (예 : 이메일 보내기).
ESP32를 액세스 포인트로 설정하십시오
ESP32를 액세스 포인트로 설정하려면 Wi-Fi 모드를 액세스 포인트로 설정하십시오
와이파이.모드 (wifi_ap)
그런 다음 다음과 같이 softap () 메소드를 사용하십시오
와이파이.Softap (SSID, 비밀번호);
SSID는 ESP32 액세스 포인트에 제공하려는 이름이며 암호 변수는 액세스 포인트의 비밀번호입니다. 당신이하지 않으면’t 비밀번호를 설정하고 NULL로 설정하십시오 .
Softap () 메소드로 전달할 수있는 다른 선택적 매개 변수도 있습니다. 모든 매개 변수는 다음과 같습니다
와이파이.softap (const char* ssid, const char* password, int 채널, int ssid_hidden, int max_connection)
- SSID : 액세스 포인트의 이름 – 최대 63 자;
- 비밀번호 : 최소 8 자; 액세스 포인트가 열리기를 원한다면 NULL로 설정하십시오
- 채널 : Wi-Fi 채널 번호 (1-13)
- ssid_hidden : (0 = 방송 ssid, 1 = 숨기기 ssid)
- Max_Connection : 최대 동시 연결 클라이언트 (1-4)
ESP32를 액세스 포인트로 설정하는 방법을 설명하는 완전한 자습서가 있습니다
Wi-Fi 스테이션 + 액세스 포인트
ESP32는 Wi-Fi 스테이션 및 액세스 포인트로 동시에 설정할 수 있습니다. 모드를 wifi_ap_sta로 설정하십시오 .
와이파이.모드 (wifi_ap_sta);
Wi-Fi 네트워크를 스캔하십시오
ESP32는 Wi-Fi 범위 내에서 인근 Wi-Fi 네트워크를 스캔 할 수 있습니다. Arduino Ide에서 가십시오 파일 > 예 > 와이파이 > Wifiscan. 이것은 ESP32 보드 범위 내에서 Wi-Fi 네트워크를 스캔하는 스케치를로드합니다.
이것은 Wi-Fi 네트워크가 귀하가 확인하는 데 유용 할 수 있습니다’RE 연결을 시도하는 것은 보드 또는 기타 응용 프로그램의 범위 내에 있습니다. Wi-Fi 프로젝트는 Wi-Fi 강도가 부족하여 라우터에 연결하지 못할 수 있기 때문에 종종 작동하지 않을 수 있습니다.
여기’예 :
/* Wi -Fi> Wifiscan의 예제 https : // randomnerdtutorials의 전체 세부 정보.com/ esp32-useful-wi-fi-fiptions-arduino/ */ #include "wifi.h "void setup () < Serial.begin(115200); // Set WiFi to station mode and disconnect from an AP if it was previously connected WiFi.mode(WIFI_STA); WiFi.disconnect(); delay(100); Serial.println("Setup done"); >void loop () < Serial.println("scan start"); // WiFi.scanNetworks will return the number of networks found int n = WiFi.scanNetworks(); Serial.println("scan done"); if (n == 0) < Serial.println("no networks found"); >또 다른 < Serial.print(n); Serial.println(" networks found"); for (int i = 0; i < n; ++i) < // Print SSID and RSSI for each network found Serial.print(i + 1); Serial.print(": "); Serial.print(WiFi.SSID(i)); Serial.print(" ("); Serial.print(WiFi.RSSI(i)); Serial.print(")"); Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?" ":"*"); delay(10); >> 시리얼.println ( ""); // 다시 스캔하기 전에 조금 기다립니다 (5000). >
보드에 업로드하고 사용 가능한 네트워크와 RSSI (수신 신호 강도 표시기)를 확인할 수 있습니다.
와이파이.scannetworks () 발견 된 네트워크 수를 반환합니다.
int n = Wi -Fi.scannetworks ();
스캔 후 각 네트워크의 매개 변수에 액세스 할 수 있습니다.
와이파이.SSID ()는 특정 네트워크의 SSID를 인쇄합니다
연속물.인쇄 (Wi -Fi.SSID (I));
와이파이.RSSI ()는 해당 네트워크의 RSSI를 반환합니다. RSSI는 아르 자형eceived 에스IGNAL 에스트 길이 나ndicator. RF 클라이언트 장치가 액세스 포인트 또는 라우터에서 수신하는 것이 전력 수준의 추정 측정 값입니다.
연속물.인쇄 (Wi -Fi.RSSI (I));
마지막으로 Wi -Fi.EncryptionType ()는 네트워크 암호화 유형을 반환합니다. 그 구체적인 예는 오픈 네트워크의 경우에 a *를 넣습니다. 그러나 해당 기능은 다음 옵션 중 하나를 반환 할 수 있습니다 (오픈 네트워크뿐만 아니라)
- wifi_auth_open
- wifi_auth_wep
- wifi_auth_wpa_psk
- wifi_auth_wpa2_psk
- wifi_auth_wpa_wpa2_psk
- wifi_auth_wpa2_enterprise
Wi-Fi 네트워크에 연결하십시오
ESP32를 특정 Wi-Fi 네트워크에 연결하려면 SSID 및 비밀번호를 알아야합니다. 또한 해당 네트워크는 ESP32 Wi-Fi 범위 내에 있어야합니다 (확인하려면 이전 예제를 사용하여 Wi-Fi 네트워크를 스캔 할 수 있습니다).
다음 함수를 사용하여 ESP32를 Wi-Fi Network initWifi ()에 연결할 수 있습니다
void initwifi () < WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Serial.print("Connecting to WiFi .."); while (WiFi.status() != WL_CONNECTED) < Serial.print('.'); delay(1000); >연속물.println (Wi -Fi.localip ()); >
SSID 및 비밀번호 변수는 연결하려는 네트워크의 SSID 및 비밀번호를 보유합니다.
// 네트워크 자격 증명으로 교체 const char* ssid = "replace_with_your_ssid"; const char* password = "replace_with_your_password";
그런 다음 setup ()에서 initwifi () 함수를 호출하면됩니다 .
작동 방식?
허락하다’이 기능이 어떻게 작동하는지 간단히 살펴보십시오.
먼저 Wi-Fi 모드를 설정하십시오. ESP32가 다른 네트워크 (액세스 포인트/핫스팟)에 연결되면 스테이션 모드에 있어야합니다.
와이파이.모드 (wifi_sta);
그런 다음 Wi -Fi를 사용하십시오.시작 () 네트워크에 연결하려면 시작합니다. 네트워크 SSID와 암호로 인수로 전달해야합니다
와이파이.시작 (SSID, 비밀번호);
Wi-Fi 네트워크에 연결하는 데 시간이 걸릴 수 있으므로 일반적으로 Wi-Fi를 사용하여 연결이 이미 설정되었는지 확인하는 While 루프를 추가합니다.상태() . 연결이 성공적으로 설정되면 wl_connected를 반환합니다 .
(Wi -Fi.상태() != wl_connected)
Wi-Fi 연결 상태를 얻으십시오
Wi-Fi 연결 상태를 얻으려면 Wi-Fi를 사용할 수 있습니다.상태() . 이것은 테이블의 상수에 해당하는 다음 값 중 하나를 반환합니다
값 | 끊임없는 | 의미 |
0 | wl_idle_status | Wi -Fi시 할당 된 임시 상태.시작 ()이 호출됩니다 |
1 | wl_no_ssid_avail | SSID를 사용할 수없는 경우 |
2 | wl_scan_completed | 스캔 네트워크가 완료되었습니다 |
삼 | wl_connected | Wi -Fi 네트워크에 연결된 경우 |
4 | wl_connect_failed | 모든 시도에 연결이 실패한 경우 |
5 | wl_connection_lost | 연결이 손실되면 |
6 | wl_disconnected | 네트워크에서 분리 된 경우 |
Wi -Fi 연결 강도를 얻으십시오
Wi -Fi 연결 강도를 얻으려면 Wi -Fi에 전화 할 수 있습니다.Wi -Fi 연결 후 RSSI ().
여기’예 : 예 :
/* https : // randomnerdtutorials의 전체 세부 정보.com/ esp32-useful-wi-fi-functions-arduino/ */ #include // 네트워크 자격 증명 (스테이션) const char * ssid = "replace_with_your_ssid"로 교체합니다. const char* password = "replace_with_your_password"; void initwifi () < WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Serial.print("Connecting to WiFi .."); while (WiFi.status() != WL_CONNECTED) < Serial.print('.'); delay(1000); >연속물.println (Wi -Fi.localip ()); > void setup () < Serial.begin(115200); initWiFi(); Serial.print("RRSI: "); Serial.println(WiFi.RSSI()); >void loop () < // put your main code here, to run repeatedly: >
네트워크 자격 증명을 삽입하고 코드를 업로드하십시오.
직렬 모니터를 열고 ESP32 On-Board RST 버튼을 누릅니다. 네트워크에 연결하고 RSSI를 인쇄합니다 (수신 신호 강도 표시기).
절대 값이 낮 으면 가장 강력한 Wi-Fi 연결을 의미합니다.
ESP32 IP 주소를 얻습니다
ESP32가 Wi-Fi 스테이션으로 설정되면 다른 네트워크 (라우터와 같은)에 연결할 수 있습니다. 이 시나리오에서 라우터는 ESP32 보드에 고유 IP 주소를 할당합니다. 보드를 얻으려면’S IP 주소, Wi -Fi를 호출해야합니다.localip () 네트워크와 연결을 설정 한 후.
연속물.println (Wi -Fi.localip ());
정적 ESP32 IP 주소를 설정하십시오
무작위로 할당 된 IP 주소를 얻는 대신 Wi -Fi를 사용하여 선호하는 ESP32에 선호하는 사용 가능한 IP 주소를 설정할 수 있습니다.config () .
setup () 및 loop () 함수 밖에서 자체 정적 IP 주소와 해당 게이트웨이 IP 주소로 다음 변수를 정의하십시오. 기본적으로 다음 코드는 IP 주소 192를 지정합니다.168.1.게이트웨이 192에서 작동하는 184.168.1.1.
// 정적 IP 주소 iPaddress local_ip (192, 168, 1, 184)를 설정합니다. // 게이트웨이 IP 주소 iPaddress 게이트웨이 (192, 168, 1, 1)를 설정합니다. iPaddress 서브넷 (255, 255, 0, 0); iPaddress Primarydns (8, 8, 8, 8); // 선택적 iPaddress SecondaryDns (8, 8, 4, 4); // 선택 사항
그런 다음 setup ()에서 Wi -Fi를 호출해야합니다.구성 () 구성을 ESP32에 할당하는 메소드.
// 정적 IP 주소를 구성합니다!와이파이.config (local_ip, Gateway, Subnet, PrimaryDNS, SecondaryDN))))
PrimaryDNS 및 SecondaryDNS 매개 변수는 선택 사항이며 제거 할 수 있습니다.
정적 IP 주소를 설정하는 방법을 배우려면 다음 자습서를 읽는 것이 좋습니다
Wi-Fi 네트워크에서 분리
이전에 연결된 Wi-Fi 네트워크에서 분리하려면 Wi-Fi를 사용하십시오.연결을 끊었습니다 () :
와이파이.연결 해제 ()
연결 손실 후 Wi-Fi 네트워크에 다시 연결하십시오
연결이 손실 된 후 Wi-Fi에 다시 연결하려면 Wi-Fi를 사용할 수 있습니다.RECONNECT () 이전에 연결된 액세스 포인트에 다시 연결하려고합니다
와이파이.다시 연결 ()
또는 Wi -Fi에 전화 할 수 있습니다.링크 () 다음 Wi -Fi가 이어집니다.시작 (SSID, 비밀번호) .
와이파이.연결을 끊습니다 (); 와이파이.시작 (SSID, 비밀번호);
또는 ESP로 ESP32를 다시 시작할 수도 있습니다.연결이 손실되면 다시 시작하십시오.
보드가 연결된 경우 가끔 확인하는 루프 ()에 아래 스 니펫과 같은 것을 추가 할 수 있습니다.
서명되지 않은 긴 currentmillis = millis (); // Wi -Fi가 다운되면 if ((wi -fi.상태() != wl_connected) && (currentmillis -previousmillis> = interval))))
두목’이전 Millis 및 간격 변수를 선언하는 것을 잊어 버립니다. 간격은 밀리 초 (예 : 30 초) 사이의 각 체크 사이의 시간에 해당합니다
서명되지 않은 긴 previousmillis = 0; 서명되지 않은 긴 간격 = 30000;
여기’완전한 예입니다.
/* rui santos https : // randomnerdtutorials에서 프로젝트 세부 정보 전체.com/ solved-reconnect-esp32-to-wifi/ 권한은이 소프트웨어 및 관련 문서 파일의 사본을 얻는 사람에게 무료로 부여됩니다. 위의 저작권 통지 및이 권한 통지는 소프트웨어의 모든 사본 또는 실질적인 부분에 포함되어야합니다. */ #include // 네트워크 자격 증명 (스테이션) const char* ssid = "replace_with_your_ssid"; const char* password = "replace_with_your_password"; 서명되지 않은 긴 previousmillis = 0; 서명되지 않은 긴 간격 = 30000; void initwifi () < WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Serial.print("Connecting to WiFi .."); while (WiFi.status() != WL_CONNECTED) < Serial.print('.'); delay(1000); >연속물.println (Wi -Fi.localip ()); > void setup () < Serial.begin(115200); initWiFi(); Serial.print("RSSI: "); Serial.println(WiFi.RSSI()); >void loop () < unsigned long currentMillis = millis(); // if WiFi is down, try reconnecting every CHECK_WIFI_TIME seconds if ((WiFi.status() != WL_CONNECTED) && (currentMillis - previousMillis >= 간격))) < Serial.print(millis()); Serial.println("Reconnecting to WiFi. "); WiFi.disconnect(); WiFi.reconnect(); previousMillis = currentMillis; >>
이 예제는 네트워크에 연결하는 방법을 보여주고 여전히 연결된 경우 30 초마다 확인합니다. 그렇다면’t, 그것은 연결이 끊어지고 다시 다시 연결하려고합니다.
또는 Wi -Fi 이벤트를 사용하여 연결이 손실되었음을 감지하고 발생할 때 수행 할 작업을 처리하기 위해 기능을 호출 할 수 있습니다 (다음 섹션 참조).
ESP32 Wi-Fi 이벤트
ESP32는 다음의 모든 Wi-Fi 이벤트를 처리 할 수 있습니다 (소스 코드 확인) :
0 | Arduino_event_wifi_ready | ESP32 Wi-Fi 준비 |
1 | arduino_event_wifi_scan_done | ESP32는 Scanning AP를 마무리합니다 |
2 | arduino_event_wifi_sta_start | ESP32 스테이션 시작 |
삼 | arduino_event_wifi_sta_stop | ESP32 스테이션 정지 |
4 | arduino_event_wifi_sta_connected | AP에 연결된 ESP32 스테이션 |
5 | arduino_event_wifi_sta_disconnected | ESP32 스테이션은 AP에서 분리되었습니다 |
6 | arduino_event_wifi_sta_authmode_change | ESP32 스테이션으로 연결된 AP의 인증 모드가 변경되었습니다 |
7 | arduino_event_wifi_sta_got_ip | ESP32 스테이션은 Connected AP에서 IP를 받았습니다 |
8 | arduino_event_wifi_sta_lost_ip | ESP32 스테이션 손실 IP 및 IP는 0으로 재설정됩니다 |
9 | arduino_event_wps_er_success | ESP32 스테이션 WPS는 등록 모드에서 성공합니다 |
10 | arduino_event_wps_er_failed | ESP32 스테이션 WPS는 등록 모드에서 실패합니다 |
11 | arduino_event_wps_er_timeout | ESP32 스테이션 WPS 타임 아웃 등록 모드 |
12 | arduino_event_wps_er_pin | ESP32 스테이션 WPS 핀 코드 등록 모드 |
13 | arduino_event_wifi_ap_start | ESP32 소프트 -AP 시작 |
14 | Arduino_event_wifi_ap_stop | ESP32 소프트 -AP 정지 |
15 | Arduino_event_wifi_ap_staconnected | ESP32 소프트 -AP에 연결된 스테이션 |
16 | arduino_event_wifi_ap_stadisconceNced | ESP32 Soft-AP에서 분리 된 스테이션 |
17 | arduino_event_wifi_ap_staipassigned | ESP32 소프트 -AP 연결 스테이션에 IP를 할당합니다 |
18 | arduino_event_wifi_ap_probereqrecved | Soft-AP 인터페이스에서 프로브 요청 패킷을받습니다 |
19 | arduino_event_wifi_ap_got_ip6 | ESP32 액세스 포인트 V6IP ADDR이 선호됩니다 |
19 | arduino_event_wifi_sta_got_ip6 | ESP32 스테이션 V6IP ADDR이 선호됩니다 |
19 | arduino_event_eth_got_ip6 | 이더넷 IPv6이 선호됩니다 |
20 | Arduino_event_eth_start | ESP32 이더넷 시작 |
21 | Arduino_event_eth_stop | ESP32 이더넷 정지 |
22 | Arduino_event_eth_connected | ESP32 이더넷 Phy 링크 |
23 | arduino_event_eth_disconnected | ESP32 이더넷 Phy 링크 다운 |
24 | arduino_event_eth_got_ip | ESP32 이더넷은 Connected AP에서 IP를 얻었습니다 |
25 | Arduino_event_max |
Arduino IDE에서 해당 이벤트를 사용하는 방법에 대한 완전한 예를 보려면 파일 > 예 > 와이파이 > wificlientevents.
/*이 스케치.com/ esp32-useful-wi-fi-functions-arduino/ *// * * Wi-Fi 이벤트 0 Arduino_event_wifi_ready < ESP32 WiFi ready 1 ARDUINO_EVENT_WIFI_SCAN_DONE < ESP32 finish scanning AP 2 ARDUINO_EVENT_WIFI_STA_START < ESP32 station start 3 ARDUINO_EVENT_WIFI_STA_STOP < ESP32 station stop 4 ARDUINO_EVENT_WIFI_STA_CONNECTED < ESP32 station connected to AP 5 ARDUINO_EVENT_WIFI_STA_DISCONNECTED < ESP32 station disconnected from AP 6 ARDUINO_EVENT_WIFI_STA_AUTHMODE_CHANGE < the auth mode of AP connected by ESP32 station changed 7 ARDUINO_EVENT_WIFI_STA_GOT_IP < ESP32 station got IP from connected AP 8 ARDUINO_EVENT_WIFI_STA_LOST_IP < ESP32 station lost IP and the IP is reset to 0 9 ARDUINO_EVENT_WPS_ER_SUCCESS < ESP32 station wps succeeds in enrollee mode 10 ARDUINO_EVENT_WPS_ER_FAILED < ESP32 station wps fails in enrollee mode 11 ARDUINO_EVENT_WPS_ER_TIMEOUT < ESP32 station wps timeout in enrollee mode 12 ARDUINO_EVENT_WPS_ER_PIN < ESP32 station wps pin code in enrollee mode 13 ARDUINO_EVENT_WIFI_AP_START < ESP32 soft-AP start 14 ARDUINO_EVENT_WIFI_AP_STOP < ESP32 soft-AP stop 15 ARDUINO_EVENT_WIFI_AP_STACONNECTED < a station connected to ESP32 soft-AP 16 ARDUINO_EVENT_WIFI_AP_STADISCONNECTED < a station disconnected from ESP32 soft-AP 17 ARDUINO_EVENT_WIFI_AP_STAIPASSIGNED < ESP32 soft-AP assign an IP to a connected station 18 ARDUINO_EVENT_WIFI_AP_PROBEREQRECVED < Receive probe request packet in soft-AP interface 19 ARDUINO_EVENT_WIFI_AP_GOT_IP6 < ESP32 ap interface v6IP addr is preferred 19 ARDUINO_EVENT_WIFI_STA_GOT_IP6 < ESP32 station interface v6IP addr is preferred 20 ARDUINO_EVENT_ETH_START < ESP32 ethernet start 21 ARDUINO_EVENT_ETH_STOP < ESP32 ethernet stop 22 ARDUINO_EVENT_ETH_CONNECTED < ESP32 ethernet phy link up 23 ARDUINO_EVENT_ETH_DISCONNECTED < ESP32 ethernet phy link down 24 ARDUINO_EVENT_ETH_GOT_IP < ESP32 ethernet got IP from connected AP 19 ARDUINO_EVENT_ETH_GOT_IP6 < ESP32 ethernet interface v6IP addr is preferred 25 ARDUINO_EVENT_MAX */ #include const char* ssid = "REPLACE_WITH_YOUR_SSID"; const char* password = "REPLACE_WITH_YOUR_PASSWORD"; void WiFiEvent(WiFiEvent_t event)< Serial.printf("[WiFi-event] event: %d\n", event); switch (event) < case ARDUINO_EVENT_WIFI_READY: Serial.println("WiFi interface ready"); break; case ARDUINO_EVENT_WIFI_SCAN_DONE: Serial.println("Completed scan for access points"); break; case ARDUINO_EVENT_WIFI_STA_START: Serial.println("WiFi client started"); break; case ARDUINO_EVENT_WIFI_STA_STOP: Serial.println("WiFi clients stopped"); break; case ARDUINO_EVENT_WIFI_STA_CONNECTED: Serial.println("Connected to access point"); break; case ARDUINO_EVENT_WIFI_STA_DISCONNECTED: Serial.println("Disconnected from WiFi access point"); break; case ARDUINO_EVENT_WIFI_STA_AUTHMODE_CHANGE: Serial.println("Authentication mode of access point has changed"); break; case ARDUINO_EVENT_WIFI_STA_GOT_IP: Serial.print("Obtained IP address: "); Serial.println(WiFi.localIP()); break; case ARDUINO_EVENT_WIFI_STA_LOST_IP: Serial.println("Lost IP address and IP address is reset to 0"); break; case ARDUINO_EVENT_WPS_ER_SUCCESS: Serial.println("WiFi Protected Setup (WPS): succeeded in enrollee mode"); break; case ARDUINO_EVENT_WPS_ER_FAILED: Serial.println("WiFi Protected Setup (WPS): failed in enrollee mode"); break; case ARDUINO_EVENT_WPS_ER_TIMEOUT: Serial.println("WiFi Protected Setup (WPS): timeout in enrollee mode"); break; case ARDUINO_EVENT_WPS_ER_PIN: Serial.println("WiFi Protected Setup (WPS): pin code in enrollee mode"); break; case ARDUINO_EVENT_WIFI_AP_START: Serial.println("WiFi access point started"); break; case ARDUINO_EVENT_WIFI_AP_STOP: Serial.println("WiFi access point stopped"); break; case ARDUINO_EVENT_WIFI_AP_STACONNECTED: Serial.println("Client connected"); break; case ARDUINO_EVENT_WIFI_AP_STADISCONNECTED: Serial.println("Client disconnected"); break; case ARDUINO_EVENT_WIFI_AP_STAIPASSIGNED: Serial.println("Assigned IP address to client"); break; case ARDUINO_EVENT_WIFI_AP_PROBEREQRECVED: Serial.println("Received probe request"); break; case ARDUINO_EVENT_WIFI_AP_GOT_IP6: Serial.println("AP IPv6 is preferred"); break; case ARDUINO_EVENT_WIFI_STA_GOT_IP6: Serial.println("STA IPv6 is preferred"); break; case ARDUINO_EVENT_ETH_GOT_IP6: Serial.println("Ethernet IPv6 is preferred"); break; case ARDUINO_EVENT_ETH_START: Serial.println("Ethernet started"); break; case ARDUINO_EVENT_ETH_STOP: Serial.println("Ethernet stopped"); break; case ARDUINO_EVENT_ETH_CONNECTED: Serial.println("Ethernet connected"); break; case ARDUINO_EVENT_ETH_DISCONNECTED: Serial.println("Ethernet disconnected"); break; case ARDUINO_EVENT_ETH_GOT_IP: Serial.println("Obtained IP address"); break; default: break; >> void wifigotip (wifievent_t event, wifieventinfo_t info) < Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(IPAddress(info.got_ip.ip_info.ip.addr)); >void setup ()< Serial.begin(115200); // delete old config WiFi.disconnect(true); delay(1000); // Examples of different ways to register wifi events WiFi.onEvent(WiFiEvent); WiFi.onEvent(WiFiGotIP, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_GOT_IP); WiFiEventId_t eventID = WiFi.onEvent([](WiFiEvent_t event, WiFiEventInfo_t info)< Serial.print("WiFi lost connection. Reason: "); Serial.println(info.wifi_sta_disconnected.reason); >, wifievent_t :: arduino_event_wifi_sta_disconnected); // Wi -Fi 이벤트 직렬을 제거합니다.print ( "Wi -Fi 이벤트 ID :"); 연속물.println (eventId); // 와이파이.removeEvent (eventId); 와이파이.시작 (SSID, 비밀번호); 연속물.println (); 연속물.println (); 연속물.println ( "Wi -Fi를 기다리십시오. ");> void loop ()
Wi-Fi 이벤트와 함께, 당신은하지 않습니다’T는 끊임없이 Wi-Fi 상태를 확인해야합니다. 특정 이벤트가 발생하면 자동으로 해당 처리 기능을 호출합니다.
연결 손실 후 Wi-Fi 네트워크에 다시 연결 (Wi-Fi 이벤트)
Wi-Fi 이벤트는 연결이 손실 된 것을 감지하고 바로 다시 연결하려고 시도하는 데 유용 할 수 있습니다 (System_Event_AP_STADISCONCHENCERTED 이벤트 사용). 여기’s 샘플 코드 :
/* rui santos https : // randomnerdtutorials에서 프로젝트 세부 정보 전체.com/ solved-reconnect-esp32-to-wifi/ 권한은이 소프트웨어 및 관련 문서 파일의 사본을 얻는 사람에게 무료로 부여됩니다. 위의 저작권 통지 및이 권한 통지는 소프트웨어의 모든 사본 또는 실질적인 부분에 포함되어야합니다. */ #include const char* ssid = "replace_with_your_ssid"; const char* password = "replace_with_your_password"; void wifistationConnected (wifievent_t 이벤트, WifieventInfo_t info) < Serial.println("Connected to AP successfully!"); >void wifigotip (wifievent_t event, wifieventinfo_t info) < Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); >void wifistationDiscOnted (Wifievent_T 이벤트, WifieventInfo_t info) < Serial.println("Disconnected from WiFi access point"); Serial.print("WiFi lost connection. Reason: "); Serial.println(info.wifi_sta_disconnected.reason); Serial.println("Trying to Reconnect"); WiFi.begin(ssid, password); >void setup () < Serial.begin(115200); // delete old config WiFi.disconnect(true); delay(1000); WiFi.onEvent(WiFiStationConnected, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_CONNECTED); WiFi.onEvent(WiFiGotIP, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_GOT_IP); WiFi.onEvent(WiFiStationDisconnected, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_DISCONNECTED); /* Remove WiFi event Serial.print("WiFi Event ID: "); Serial.println(eventID); WiFi.removeEvent(eventID);*/ WiFi.begin(ssid, password); Serial.println(); Serial.println(); Serial.println("Wait for WiFi. "); >void loop ()
작동 방식?
이 예에서 우리는’VE가 추가 된 세 가지 Wi-Fi 이벤트 추가 : ESP32가 연결될 때, IP 주소를 얻을 때 및 연결이 끊어 질 때 : arduino_event_wifi_sta_connected, arduino_event_wifi_sta_got_ip, arduino_event_wifi_sta_disconnect .
ESP32 스테이션이 액세스 포인트 (ARDUINO_EVENT_WIFI_STA_CONNECTED 이벤트)에 연결하면 wifistationConnected () 함수를 다음과 같습니다
와이파이.Onevent (wifistationConnected, wifievent_t :: Arduino_event_wifi_sta_connected);
wifistationConnected () 함수는 ESP32가 액세스 포인트 (예 : 라우터)에 성공적으로 연결되어 있음을 인쇄합니다. 그러나 다른 작업을 수행하도록 함수를 수정할 수 있습니다 (네트워크에 성공적으로 연결되어 있음을 나타내는 LED 등 LED와 같이).
void wifistationConnected (wifievent_t 이벤트, WifieventInfo_t info)
ESP32가 IP 주소를 얻으면 wifigoTip () 함수가 실행됩니다.
와이파이.Onevent (wifigotip, wifievent_t :: arduino_event_wifi_sta_got_ip);
이 기능은 단순히 직렬 모니터에서 IP 주소를 인쇄합니다.
void wifigotip (wifievent_t event, wifieventinfo_t info)
ESP32가 액세스 포인트 (Arduino_event_wifi_sta_disconnected)와의 연결을 잃으면 WifistationDiscOnted () 함수를 호출합니다.
와이파이.Onevent (wifistationDiscOnted, wifievent_t :: arduino_event_wifi_sta_disconnected);
이 기능은 연결이 손실되었음을 나타내는 메시지를 인쇄하고 다시 연결하려고합니다
void wifistationDiscOnted (Wifievent_T 이벤트, WifieventInfo_t info)
ESP32 Wifimulti
ESP32 Wifimulti를 사용하면 여러 네트워크를 등록 할 수 있습니다 (SSID/암호 조합). ESP32는 가장 강력한 신호 (RSSI)로 Wi-Fi 네트워크에 연결됩니다. 연결이 손실되면 목록의 다음 네트워크에 연결됩니다. 이를 위해서는 Wifimulti를 포함해야합니다.H 도서관 (당신은 돈’t 설치가 필요합니다. ESP32 패키지로 기본적으로 제공됩니다).
Wifimulti를 사용하는 방법을 배우려면 다음 자습서를 읽으십시오
ESP32 호스트 이름을 변경하십시오
보드의 사용자 정의 호스트 이름을 설정하려면 Wi -Fi로 전화하십시오.sethostname (your_new_hostname); Wi -Fi 전에.시작하다();
기본 ESP32 호스트 이름은 espressif입니다 .
Wi -Fi에서 제공하는 방법이 있습니다.사용자 정의 호스트 이름을 설정할 수있는 H 라이브러리.
먼저 새 호스트 이름을 정의하여 시작하십시오. 예를 들어:
문자열 hostname = "ESP32 노드 온도";
그런 다음 Wi -Fi에 전화하십시오.Wi -Fi를 호출하기 전에 sethostName () 함수.시작하다() . 또한 Wi -Fi에 전화해야합니다.config () 아래와 같이 :
와이파이.config (inaddr_none, inaddr_none, inaddr_none, inaddr_none); 와이파이.SethostName (호스트 이름.c_str ()); // 호스트 이름을 정의합니다
아래의 전체 예를 복사 할 수 있습니다
/* rui santos https : // randomnerdtutorials에서 프로젝트 세부 정보 전체.com/ esp32-set-custom-hostname-arduino/ 허가는이 소프트웨어 및 관련 문서 파일의 사본을 얻는 사람에게 무료로 부여됩니다. 위의 저작권 통지 및이 권한 통지는 소프트웨어의 모든 사본 또는 실질적인 부분에 포함되어야합니다. */ #include // 네트워크 자격 증명 (스테이션) const char* ssid = "replace_with_your_ssid"; const char* password = "replace_with_your_password"; 문자열 hostname = "ESP32 노드 온도"; void initwifi () < WiFi.mode(WIFI_STA); WiFi.config(INADDR_NONE, INADDR_NONE, INADDR_NONE, INADDR_NONE); WiFi.setHostname(hostname.c_str()); //define hostname //wifi_station_set_hostname( hostname.c_str() ); WiFi.begin(ssid, password); Serial.print("Connecting to WiFi .."); while (WiFi.status() != WL_CONNECTED) < Serial.print('.'); delay(1000); >연속물.println (Wi -Fi.localip ()); > void setup () < Serial.begin(115200); initWiFi(); Serial.print("RRSI: "); Serial.println(WiFi.RSSI()); >void loop () < // put your main code here, to run repeatedly: >
프로젝트 에서이 이전 코드 스 니펫을 사용하여 ESP32의 사용자 정의 호스트 이름을 설정할 수 있습니다.
중요한: 변경 사항이 적용되도록 라우터를 다시 시작해야 할 수도 있습니다.
그런 다음 라우터 설정으로 이동하면’ll 사용자 정의 호스트 이름으로 ESP32를 참조하십시오.
마무리
이 기사는 가장 많이 사용되고 유용한 ESP32 Wi-Fi 기능 중 일부를 편집 한 것입니다. ESP32 Wi-Fi 기능을 사용하는 많은 예가 있지만 Arduino IDE를 사용하여 ESP32와 함께 Wi-Fi 기능을 사용하는 방법을 설명하는 문서는 거의 없습니다. 그래서 우리’VE는 프로젝트에서 ESP32 Wi-Fi 관련 기능을보다 쉽게 사용할 수 있도록이 가이드를 구성하기로 결정했습니다.
다른 제안이 있으면 의견 섹션에서 공유 할 수 있습니다.
우리는 당신을 바랍니다’이 튜토리얼이 유용하다는 것을 알았습니다.
리소스와 함께 ESP32에 대해 자세히 알아보십시오
- Arduino Ide와 함께 ESP32를 배우십시오
- ESP32 및 ESP8266을 사용하여 웹 서버를 구축하십시오
- 더 많은 ESP32 프로젝트 및 튜토리얼…
[eBook] ESP32 및 ESP8266이있는 웹 서버 구축 (2 판)
출력을 제어하고 센서를 원격으로 모니터링하기 위해 ESP32 및 ESP8266 보드를 사용하여 웹 서버 프로젝트를 구축하십시오. HTML, CSS, JavaScript 및 클라이언트 서버 커뮤니케이션 프로토콜 학습 다운로드 »
출력을 제어하고 센서를 원격으로 모니터링하기 위해 ESP32 및 ESP8266 보드를 사용하여 웹 서버 프로젝트를 구축하십시오. HTML, CSS, JavaScript 및 클라이언트 서버 커뮤니케이션 프로토콜 학습 다운로드 »
권장 리소스
홈 자동화 시스템을 처음부터 구축하십시오 » Raspberry Pi, ESP8266, Arduino 및 Node-Red와 함께.
ESP8266 eBook 및 비디오 과정을 사용한 홈 자동화 » IoT 및 홈 자동화 프로젝트를 구축하십시오.
Arduino 단계별 프로젝트 » 사전 경험이 없어도 우리 과정으로 25 개의 Arduino 프로젝트를 구축하십시오!
다음에 읽을 내용…
ESP8266 BMP388 기압/고도계 센서가있는 ESP8266 NODEMCU (Arduino IDE)
ESP32 OTA (Over-the-the-the-the-the-the-the-층) 업데이트-Asyncelegantota (VS Code + Platformio)
ESP32 웹 서버를 통한 LORA 센서 모니터링 (장거리 통신)
이 프로젝트를 즐겼습니다? 뉴스 레터를 구독하여 업데이트하십시오!
84 생각 “ESP32 유용한 Wi-Fi 라이브러리 기능 (Arduino IDE)”
안녕
귀하의 블로그는 매우 간호하고 많은 도움이되지만 ESP32의 호스트 이름을 변경하는 정보가 그리워요. Espressif 단위 이름을 프로젝트 지정 이름으로 변경할 수 있습니까?.
WLAN 라우터에서 이름을 변경할 수 있다는 것을 알고 있지만 단위 이름은 여전히 espressif gerads reply입니다
호세 루즈 산체스 로렌조
안녕,
다음과 같은 명령을 사용하여 ESP32 호스트 이름을 변경할 수 있습니다 : String MA02_ID = “MA02_09”;
와이파이.SethostName (MA02_ID.c_str ()); // hostname 답장을 정의합니다
안녕 베르너, 이걸 시도해, 트릭을해야 해 �� wi -fi.모드 (wifi_mode_sta);
와이파이.config (inaddr_none, inaddr_none, inaddr_none, inaddr_none);
와이파이.SethostName (Your_hostName);
와이파이.시작 (your_wifi_ssid, your_wifi_pass);
회신하다
샌디 리아 치
안녕,
불행히도’T 나를 위해 작동 - 2 개의 다른 보드와 다른 크기의 호스트 이름으로 시도했습니다. 작은 호스트 이름은 네트워크 스캔에 계속 Expressif를 표시하고 큰 호스트 이름은 공백을 제공합니다
유감입니다…
그것은 내 편에서 완벽하게 작동합니다!
공간이있는 다소 긴 이름으로도. 라우터에서 DHCP 클라이언트 목록을 새로 고치십시오. 회신하다
샌디 리아 치
안녕,
지연 돼서 죄송합니다.
나는 라우터를 재부팅하고 lo를 재부팅하고 변경된 호스트 이름이 나타나는 것을 보아라 - 감사합니다 ��
남자 이름
마지막 댓글에서 내 요점을 설명하기 위해 이미지를 게시하고 싶었지만’T 일. 링크를 클릭하여 볼 수 있습니다. 회신하다
Arduino-Esp32 프레임 워크가 버전 1으로 업데이트되었습니다.0.5. 수정 사항 중 일부에는 다음이 포함됩니다
5DE03A39 수정 Wi -Fi STA 구성 IP가 inADDR_NONE 결과 255로 결과.255.255.255 이것이 문제를 해결하는지 확인하십시오? 회신하다
짐 앨리슨
특정 SSID에 대한 WiFi 스캔을 신속하게 수행하는 방법이 있습니까? Wi -Fi SSID를 감지 할 때 사용 가능하거나 그렇지 않은 경우 스케치 에서이 정보로 무언가를 수행합니다? 회신하다
안녕 짐, 그런 것? #포함하다
#include const char* speciple_ssid = "mynetwork";
const char* enc_type [] = "Open",
"we",
"wpa_psk",
"WPA2_PSK",
"wpa_wpa2_psk",
"wpa2_enterprise",
"Max"
>; 구조 Wifiinfo bool 발견;
int32_t 채널;
int32_t rssi;
wifi_auth_mode_t auth_mode;
> wifi_info; void findwifi (const char *ssid, wifiinfo *info) info-> found = false;
int16_t n = Wi -Fi.scannetworks ();
for (uint8_t i = 0; i
Info-> 채널 = Wi-Fi.채널 (i);
info-> rssi = wifi.RSSI (I);
info-> auth_mode = wifi.암호화 유형 (I);
반품;
>
>
> void setup () Serial.시작 (115200);
findwifi (speciple_ssid, & wifi_info);
연속물.printf (wifi_info.설립하다
? "SSID : %S, 채널 : %I, RSSI : %I DBM, 암호화 : %s \ n"
: "SSID : %s . 찾을 수 없음 \ n ",
특정 _ssid,
wifi_info.채널,
wifi_info.RSSI,
enc_type [wifi_info.auth_mode]);
> void loop () <>
회신하다
죄송합니다… Markdown과 함께 서식을했습니다’t 제대로 작동 :-/
그러나 좋아하는 편집기에서 코드를 포맷 할 수 있어야합니다. 회신하다
나는 Github Gist에 코드를 게시함으로써 그것을 고쳤습니다
사라 산토스
안녕하세요 스테파네,
이것을 공유해 주셔서 감사합니다.
문안 인사,
사라 대답
안녕하세요 사라, 질문이 있습니다 : ESP32는 Acces Point와 MQTT 클라이언트처럼 동시에 작동 할 수 있습니까??
감사합니다 답장
사라 산토스
안녕.
아니요. MQTTT 브로커와 동일한 네트워크에 있거나 클라우드 브로커에 연결하기 위해 인터넷에 액세스해야합니다.
문안 인사,
사라
짐 앨리슨
이것은 완벽하게 작동했습니다. 감사합니다! 먼저 모든 네트워크를 스캔하지 않고도 SSID를 얻는 더 빠른 방법이 있는지 궁금합니다’m 검색. 이를 수행하는 방법이 있습니까?? 회신하다
라파엘 로페즈
안녕하세요, 누군가가 몇 주 동안 일하고 있고 일하기 위해 아무것도 보이지 않기 때문에 누군가 가이 문제를 도와 줄 수 있기를 바랍니다.. 기본 코드가있는 ESP32가 내 Wi -Fi와 연결하기 위해, 내가 무엇을하는지는 중요하지 않으며 연결되지 않으며 항상 AP (이벤트 5)에서 분리 된 오류를 보여줍니다.…. 이런 일이 무슨 일이 일어나고 있는지 아십니까?? 감사합니다 답장
Wi -Fi 참조로 사용하려면 몇 가지가 있습니다’VE는 포함하는 것을 좋아했습니다. 나.이자형., 보드의 MAC 주소를 조작하는 명령과 Soft_ap 및 STA 모드를 함께 사용하는 예제. Werner가 지적했듯이, 식별자를 재정의하는 방법이 있다면, 또한 알기에 좋을 것입니다! 즉, 그것은 여전히 훌륭한 기사이며, 나는 더 모호한 명령의 더 많은 예로 그것이 확장 된 것을보고 싶습니다’ 응답. 명령/방법/이벤트의 다운로드 가능한 테이블, 사용 형식, 가능한 응답 및 모든 주석 (예 : “STA 모드에서만 유효합니다” 또는 예제에 대한 링크. 이 대부분은 이미 기사에 있습니다. 잘 요약되어 있지 않아서 찾기가 어렵습니다. 건배! 회신하다
데니스 클라우 티어
+1 wifi_ap_sta 조합의 예를 들어 1. 감사해요,
데니스 대답
훌륭한 튜토리얼!
당신의 일에 감사드립니다.
카드가 매우 흥미로운 후 자동 재 연결 기능을 발견했습니다. 그러나 그들은 이것이 그렇지 않다는 것을 이해하는 것 같습니다’항상 작동합니다. 특히 Blynk를 사용할 때. 이와 관련하여 경험이있는 사람이 있습니까??
인사말. 마이크. 회신하다
훌륭한 기사. Woyld는 ESP32에서 Wi -Fi Extender를 만드는 방법을 모두 좋아했습니다. thete는 웹에서 이것에 대한 정보가 거의 없지만 가능하지만. 회신하다
예,이 Wi -Fi Extender 답장이 필요합니다
이 문장을 확인하십시오. pls : “또는 Wi -Fi에 전화 할 수 있습니다.diconnect () 다음 Wi -Fi가 뒤 따릅니다.시작 (SSID, 비밀번호)”. Wi -Fi.답장을 분리하십시오
사라 산토스
안녕.
감사해요. 당신이 맞습니다.
그것’지금은 고정되었습니다!
문안 인사,
사라 대답
피터 스타우퍼
이제 STA 모드에서 Wi-Fi와 함께 ESP-Now를 실행할 수 있습니까??
나의 마지막 상태는 : ESP-Now와 Wi-Fi는 동일한 채널을 공유해야하며 채널 번호는 1이어야합니다. 라우터가 STA 모드의 채널 1에서 연결을 시작하더라도 라우터가 트래픽 충돌을 피하기 위해 채널을 변경하면 esp-now 연결이 끊어집니다. 회신하다
샌디 리아 치
안녕하세요, 정말 좋습니다 - 감사합니다! 나는 데이브를 반향 할 것이다’s soft_ap 및 sta 모드를 함께 사용하여 예제 요청. 모래 대답
사라 산토스
제안 해주셔서 감사합니다.
나’ll 내 목록에 추가하십시오.
문안 인사,
사라 대답
훌륭한 튜토리얼!
나는 내 지역 Wi -Fi에 연결하는 데 어려움을 겪고 있습니다’이 정보는 내가 무슨 일이 일어나고 있는지 이해하는 데 도움이 될 것입니다. ESP8266과 비슷한 것이 있습니까?? 회신하다
내가 가장 유용한 것은 다음과 같은 샘플 코드입니다 : 저장된 네트워크 ID 및 자격 증명과의 연결을 시도했습니다
이 실패한 경우 AP 모드로 돌아가서 사용자가 연결하고 WebUI에 로그인하고 새 네트워크 세부 사항을 저장 한 다음 재부팅 / 재부팅을 시도합니다. 아무도 코드를 다시 컴파일하고 싶지 않으므로 장치가 네트워크를 변경할 수 있습니다. 회신하다
사라 산토스
안녕.
제안 해주셔서 감사합니다.
사실, 우리는 가장 최근의 eBook에서 https : // randomnerdtutorials에 이와 같은 프로젝트를 가지고 있습니다.com/build-web-servers-esp32-esp8266-ebook/
나’아마도 그 프로젝트 나 그 프로젝트의 단순화 된 무료 버전을 곧 출시 할 것입니다.
문안 인사,
사라 대답
매우 도움이되는 예술적. 대답 감사합니다
그것’당신이 Wi -Fi를 생략 한 동정.persistent () 명령. 이 기능은 Wi -Fi를 사용할 때 가장 중요한 기능 중 하나이며 말 그대로 아무도 그것에 대해 아무도 모릅니다. 간단히 말해서 :이 기능은 기본값과 원인에 맞습니다.시작 SSID+패스는 플래시로 기록됩니다. 이것은 Wi -Fi를 사용할 때 플래시 킬러이며 함께 잠을 자고 있습니다. 회신하다
사라 산토스
공유해 주셔서 감사합니다.
나’다음 업데이트에서 자습서에 추가.
문안 인사,
사라 대답
안녕,
기사를 게시해 주셔서 감사합니다.
연결 코드 손실 후 Wi-Fi 네트워크에 다시 연결하는 것과 관련하여
예를 들어 두 가지 조건을 확인하므로 while 루프를 수정해야합니다
(와이파이.상태() != wl_connected) 또는 (Wi -Fi.상태() != wl_no_ssid_avail) 가장 좋은 방법에 대해 조언 할 수 있습니까?
Amin Shahsavar
스테이션 모드에서 정적 IP 주소를 설정하면 때때로 작동하지만 때로는. 나는 그것이 내가 이해하지 못하는 라우터와 고급 네트워크 물건에 달려 있다고 생각합니다. 그럼에도 불구하고 이것은 ESP32 웹 서버 페이지에 액세스하려는 사용자에게 IP를 알아야합니다. 해당 사용자가 직렬 프린트 또는 일부 ESP- 부착 디스플레이에 액세스 할 수없는 경우 어떻게 해결합니까?? 정적 IP 주소는 훌륭한 솔루션이지만 충분히 신뢰할 수있는 것은 아닙니다. 나는 또한 MDNS와 함께 시도했지만 신뢰할 수 없었습니다 (iPhone에서 작업했지만 Android는 아닙니다). 이것은 내가 Arduino를 모르고 할 수있는 사람에게 선물로 프로젝트를 제공 할 유스 케이스입니다’직렬 모니터 또는 그와 비슷한 것을 읽을 것으로 기대합니다. 나는하지 않았다’t이 문제에 대한 진정한 해결책을 찾았습니다. 어떻게 해결합니까?? 회신하다
안녕 아민,
일반적으로 라우터의 DHCP 서버는 허용 주소 목록에서 클라이언트에게 IP 주소를 공급합니다. 스테이션 모드에서 정적 IP 주소를 설정하면이 주소는 라우터가 공급할 수있는 주소 목록에서 제외해야합니다. 그렇지 않으면 동일한 주소가 충돌합니다. 라우터 구성을보고 DHCP 항목을 검색하고 정적 IP 주소를 제외하십시오. 그런 다음 정적 IP 주소가 정말로 신뢰할 수 있습니다. 회신하다
Amin Shahsavar
답장 주셔서 감사합니다 Peter. 그것은 정적 IP 주소가 작동하게됩니다. 하지만 제 사용 사례는 홈 네트워크에서 사용할 사람에게 선물로 프로젝트를 제공 할 때입니다. 저 할 수 있어요’t 그들을 기대하십시오 (어머니가 haha를 생각)로 가서 라우터 구성에 엉망이됩니다. 직렬 모니터를 읽거나 화면을 연결할 필요가없는 견고하고 간단한 솔루션을 찾고 있습니다 (한 번은 IP를 찾기 위해서만 사용합니다!) 또는 라우터 설정을 변경합니다. 대부분의 사람들은 할 수 있습니다’T이 작업을 수행하고 대부분의 사람들을 위해 무언가를 만들고 싶습니다. 회신하다
안녕 아민,
귀하의 경우 정적 IP 주소로 갈 수 없습니다. ESP32 보드의 MAC (물리적) 주소를 알고 있거나 ESP32의 MAC 주소를 자신의 주소로 설정할 수 있습니다 (RUI 참조’세부 사항을위한 튜토리얼). 그런 다음 클라이언트 앱 내 MAC 주소에 해당하는 동적 IP 주소를 식별해야합니다. 이것은 Reversearp 프로토콜 RARP에 의해 수행됩니다. Windows 또는 Linux 사용에서 “ARP -A” 모든 MAC 주소 목록과 네트워크의 해당 IP 주소 목록을 작성합니다. https : // www를 참조하십시오.pcwdld.com/find-device-or-ip-address-using-mac-address 자세한 내용.
피터 응답
당신이하지 않으면’t 기기에 LCD 또는 TFT 화면을 연결하려면 간단한 LED를 플래시하여 IP 주소의 마지막 바이트를 공개하여 3 자리 숫자를 예로 들어 보는 3 자리 숫자를 거치게 할 수 있습니다
안녕
기사를 게시해 주셔서 감사합니다. while 루프와 관련하여 while 루프를 수정해야하므로 예를 들어 두 가지 조건을 확인해야합니다
(와이파이.상태() != wl_connected) 또는 (Wi -Fi.상태() != wl_no_ssid_avail) 가장 좋은 방법에 대해 조언 할 수 있습니까?
내 감사를 보여줄 수있는 방법이 있습니까, 루이와 사라? 당신이 생산하는 책과 튜토리얼은 환상적이지 않습니다. 그것’S 귀하가 정확하고 완전한 정보 및 코드를 게시했음을 알고있는 작업을 통합 한 프로젝트 작업을 수행하는 것이 기쁨입니다. 두 사람은 IoT 및 데이터 네트워킹의 세계에 큰 영향을 미치며 기술을 발전시키고 수천 명의 미국 대단한 지식을 발전시킬 것입니다! 매일 세상을 위해하는 일에 감사드립니다! 회신하다
사라 산토스
안녕 밥.
좋은 말에 감사드립니다.
나’우리의 튜토리얼과 eBook을 즐겁게 기쁘게 생각합니다.
우리의 작업을 지원하는 몇 가지 방법이 있습니다. https : // randomnerdtutorials를 참조하십시오.com/about/.
문안 인사,
사라 대답
나는 같은 유형의 콘텐츠를 찾고있었습니다. 우리를 위해 강화 된 연구를 해주셔서 감사합니다. 나는 그것을 시도하고 다시 피드백을 줄 것입니다. 회신하다