2017-05-11 8 views

답변

0

약한 신호 (약 50m 이상)로 인해 ESP8266 보드를 서로 직접 연결할 수없는 경우 외부에서 생성 된 동일한 WiFi 네트워크에 연결되어 있으면 ESP8266 보드를 서로 연결할 수 있습니다 (간접적으로). 라우터 또는 인터넷. 그러나 서로의 범위 내에있는 경우에만 외부 네트워크에 연결할 필요없이 서로 연결할 수 있습니다.

둘 다 동일한 로컬 WiFi 네트워크 라우터에 연결되어있어 마치 서로 직접 연결되어있는 것처럼 통신 할 수 있습니다. 이 경우 라우터 설정 페이지에서 라우터의 "WiFi 클라이언트 격리"옵션을 비활성화해야합니다 (라우터에 이와 유사한 이름이 지정된 옵션이있는 경우).

ESP 보드가 완전히 다른 네트워크에 연결되어 있지만이 두 네트워크가 모두 인터넷에 액세스 할 수있는 경우에도 서로 연결할 수는 있지만 각 라우터에서 포트 전달을 사용해야하므로 두 ESP8266 보드 보이는 인터넷 양식입니다. Google은 그것에 대해 조금, 너무 복잡하지 않습니다. 이 경우 인터넷의 두 위치에 게시판을두고 인터넷에서 액세스 할 수있는 한 서로 통신 할 수 있습니다.

코드가 제대로 작동하지 않을 때 테스트하기가 어려울 수 있으므로 일부 TCP 또는 UDP 터미널을 사용하여 다른 네트워크 또는 동일한 네트워크에있는 두 개의 WiFi 클라이언트 간의 연결을 테스트하는 것이 좋습니다. 온라인에서 사용할 수있는 단말기가 있습니다.

예를 들어 직렬 포트에서 데이터를 송수신하는 것과 같은 방식으로 UDP 패킷을 송수신하기 위해 Docklight Scripting을 사용합니다. https://docklight.de/downloads/ 다른 직렬 포트 통신에도 실제로 사용하므로 큰 차이는 없습니다. 페이지의 설명 텍스트를 속여서는 안됩니다. 또한 TCP/UDP 데이터를 보내거나받을 수 있습니다.

새 프로젝트를 만들 때 툴 -> 프로젝트 설정으로 이동하여 연결하려는 다른 장치의 IP 및 포트를 입력하십시오. (이것은 Docklight를 실행하는 다른 PC 일 수 있습니다 스크립팅 또는 ESP 보드). 예를 들어, 나의 경우에는 을 입력하십시오. 송수신 : UDP : 192.168.0.154 : 9761 로컬 WiFi 네트워크상의 ESP 보드의 IP이고 "재생 버튼"또는 F5를 누르십시오. 이제 기본 직렬 포트와 통신하여 기본 연결을 테스트하는 것과 같은 방법으로 UDP를 사용하여 수신 데이터를 보드에 보낼 수 있습니다. 또는 네트워크에있는 두 개의 WiFi 클라이언트 간의 연결을 확인하기 위해 두 대의 랩톱을 사용하기 만하십시오.

세 번째로 어려운 옵션은 라우터 설정 페이지 (암호로 보호되어 있음)에 액세스 할 수없고 포트 전달을 설정할 수없는 경우 가장 필요하며 인터넷에서 볼 수있는 일부 서버에서 서버 응용 프로그램을 만들어야하며 공개 IP를 가지고 있습니다. 따라서 ESP8266 보드는 모두 클라이언트로서이 서버에 연결됩니다 (클라이언트 포트 포워딩을 설정할 필요는 없지만 두 클라이언트 모두 인터넷에 액세스 할 수 있어야합니다). 그리고 서버는 서로에게 메시지를 전달할 수 있습니다. 그러나 이것은이 주제 범위에서 탈피하는 길입니다. 어쩌면 두 개의 WiFi 클라이언트 간의 연결을 확인하고 ESP8266이 직접 통신 할 수 있는지 여부를 확인하기 위해 TCP/UDP 터미널을 사용하기 시작합니다. Docklight 스크립팅은 TCP/UDP/RS232/RS485/MODBUS/USB HID에 대한 나의 개인적인 선택이기 때문에 제안이지만,이를 위해 다른 소프트웨어를 사용할 수 있습니다.

2 개의 ESP8266 보드를 간접적으로 연결하는 방법에 대해 도움이되기를 바랍니다.

+0

저는 한 ESP에서 다른 ESP로 직접 정보를 보내는 것에 대해 구체적으로 묻습니다. 나는 AP 모드로 한 ESP를 다른 스테이션 모드로 연결한다는 의미로 연결하지 않을 것임을 알고 있습니다. SS 모드로 정보를 전송하는 다른 방법이 있다고 생각합니다. 그러나 어쨌든 고마워요. – Defozo