아두이노 소켓통신 예제

전체 시스템을 테스트하기 위해 Arduino 코드를 컴파일하고 ESP32에 업로드하는 것으로 시작합니다. 절차가 끝나면 Arduino IDE 직렬 모니터를 열기만 하면 됩니다. 내가 시도하고 싶은 다음 테스트는 Nucleo F103RB에 연결하고 내가 아두 이노와했던 것과 같은 통신 채널을 구축하는 것입니다. 그것은 아마 발견 하거나 SPI 통신 및 Wiznet W5100는 이더넷 방패에 칩에 대 한 라이브러리를 개발 의미 할 것 이다. 최종 소스 코드는 다음과 같습니다. 여기에는 Arduino 루프의 각 반복 사이에 몇 가지 추가 인쇄와 10초 지연이 포함되어 있습니다. 이제 Arduino Uno의 리셋 신호에 연결된 이더넷 쉴드의 리셋 버튼을 누르면 둘 다 재설정되고 몇 초 후에 직렬 모니터가 상태 메시지를 인쇄하고 연결이 설정되었음을 나타냅니다. 그런 다음 직렬 모니터에 문자를 보내고 파이썬 서버를 실행하는 셸 터미널에 나타나고 다시 직렬 모니터에 에코됩니다. 이 ESP32 자습서에서는 Arduino 코어의 소켓 클라이언트로 데이터를 보내는 방법을 확인합니다. 따라서 로컬 네트워크에서 컴퓨터의 로컬 IP를 파악해야 하므로 Arduino 코드에서 해당 IP를 사용할 수 있습니다.

IP를 얻는 가장 쉬운 방법은 Windows에 있는 경우 명령줄에 ipconfig 명령을 입력하거나 Linux에 있는 경우 ifconfig 명령을 입력하는 것입니다. 이러한 명령은 파이썬 코드를 실행하는 컴퓨터에서 보내야 합니다. O Arduino 설치 기능으로 이동하면 프로그램의 결과를 출력하고 이전에 선언 된 자격 증명을 사용하여 WiFi 네트워크에 연결하는 일련 연결을 간단히 처리합니다. Arduino 코드에서는 WiFi.h 라이브러리를 포함하기 시작하여 WiFi 네트워크에 연결한 다음 소켓 연결을 설정할 수 있습니다. 다음으로, Arduino 루프에서 주기적으로 서버에 대한 연결을 설정하고 일부 데이터를 전송합니다. 이 코드를 사용하여 서보가 제대로 작동하는지 테스트합니다. 아두이노 윈과 아두이노 우노 와이파이에서 모두 작동합니다. 당신은 환영합니다 🙂 잘 솔직히 나는 당신의 문제를 일으킬 수 있습니다 확실하지 않다. 디버깅을 돕기 위해 시도할 수 있는 한 가지는 주변 네트워크를 검색하고 목록에 있는지 확인하는 것입니다. 여기에 예제 스케치입니다 : https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/WiFiScan/WiFiScan.ino 나는 잠시 동안 ESP8266 와이파이로 작업하지 않은,하지만 난 당신이 또한 상태 방법의 출력을 보고 시도 할 수 있습니다 반환 값이 발생한 오류를 나타내는지 확인합니다. 나는 또한 waitForConnectResult라는 새로운 방법이 있다고 생각하며 차단되어야하며 상태를 출력으로 반환해야합니다 (나는 비록 테스트하지 않았습니다).

이 스케치에서 촬영: https://github.com/esp8266/Arduino/blob/74819a763bfb6e9890a57411dcea4aba221a778d/libraries/ESP8266WebServer/examples/HttpBasicAuth/HttpBasicAuth.ino 여기 출력 열거형 정의: https://github.com/esp8266/Arduino/blob/74819a763bfb6e9890a57411dcea4aba221a778d/libraries/ESP8266WiFi/src/include/wl_definitions.h#L50 희망이 🙂 최고의 안부를 하는 데 도움이, Nuno 산토스 내가 먼저 그것으로 기본적인 일을 시도 하 고 싶 었, 부분적으로 방패와 자신감을 얻기 위해 코드가 제대로 작동하는지 부분적으로 확인합니다.