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 대응 모듈이 나오면 좋겠다고 생각합니다만...
Reference
이 문제에 관하여(M5Stack에서 이더넷을 사용할 수 없는 문제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/skckmdtk2m/items/68880b9977a574848fd0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
cannot declare variable ‘server’ to be of abstract type ‘Ethernet2.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
*/
Reference
이 문제에 관하여(M5Stack에서 이더넷을 사용할 수 없는 문제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/skckmdtk2m/items/68880b9977a574848fd0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)