M5Stack에서 이더넷을 사용할 수 없는 문제

(2019.5/5 현재) 해결 방법



아마 일시적으로 사용할 수 없는 것만으로 향후 개선될 것.

덧붙여 esp32 패키지, 1.0.2로 하면 client.h로 컴파일 에러
일단 1.0.1에 떨어뜨릴 필요가 있을 것 같아



현상환경
ArduinoIDE(Arduino1.8.9)
보드 패키지 (esp32 1.0.1)

w5500 LANModule 연결.
M5Stack 샘플 코드 (Module/ws5500/WebServer.ino)를 사용하면 컴파일이 통과되지 않습니다.
cannot declare variable ‘server’ to be of abstract type ‘Ethernet2.h’

추상형을 선언할 수 없다고 화나게 됩니다.
샘플 코드의 코멘트대로 Server.h를 변경하려고도 거기에 아무것도 없습니다.
/*
  Web Server
  Need to install Ethernet2 arduino library
  If new arduino esp32 or make error, need go to c:\Program Files (x86)\Arduino\hardware\espressif\arduino-esp32\cores\esp32\Server.h 
  Change virtual void begin(uint16_t port = 0) = 0; to virtual void begin() = 0;
  Other example can see https://github.com/adafruit/Ethernet2
 */

결과
여기 있었습니다.

C:\Users\(UserName)\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.1\cores\esp32\Server.h

virtual void begin(uint16_t port = 0) = 0;
에서
virtual void begin() = 0;
로 다시 씁니다.

이하 상세



원인



ESP32의 Arduino 개발 환경에는 보드 매니저로부터 인스톨 할 수 있게 되었기 때문에. (M5Stack의 내용)
지금까지는 GitHub에서 Zip을 삭제하고 get.exe를 실행해야했습니다.

이 변경으로\Arduino\hardware 이하가 이동하고 있다.
이것에 Ethernet2 라이브러리가 대응할 수 없는 것이 현상입니다.

그러나 Arduino에서는 대본의 이더넷 가 움직이게 되었기 때문에 이더넷2 는 갱신 정지...하지만 M5Stack는 2를 사용한 채.
글쎄, 어디로 풀릭하면 좋을까.

절각 모듈로 판매하고 있지만 ArduinoIDE에서 사용할 수 없다는 것은 분명하지 않습니다.
어쩌면 이대로 업데이트되지 않을 가능성도 있기 때문에 쓴 나름입니다.

경위



MakerFairKyoto에서 어제 사용할 수 있었으므로 시도해 보면 움직이지 않습니다 ...
는, ESP32 인스톨을 이끼 하고 싶다고 생각해, 최신 환경으로 해도 변함없이 망설이고 있었습니다.

애초에 ESP32라면 WiFi가 붙어있잖아. 라는 이야기입니다만.

많은 사람들이 장거리에서 UDP를 사용할 때 유선이 필요합니다.
거기를 Arduino 레오나르도 근처에서 하고 있었습니다만, UI가 있으면 세팅이 편하기 때문에 조금 검증해 본 대로.

이런 측면도 있으므로 앞으로 PoE 대응 모듈이 나오면 좋겠다고 생각합니다만...

좋은 웹페이지 즐겨찾기