#(2019.5/5現在)対処方法
恐らく一時的に使えないだけでで今後改善されるはず。
追記 esp32パッケージ、1.0.2にするとcliant.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では大本のEthanetが動くようになったのでEthernet2は更新停止...でもM5Stackは2を使ったまま。
はて、どこにプルリクすればいいのやら。
折角モジュールとして販売しているのにArduinoIDEで使えないのでは勿体ない
もしかすると、このまま更新されることない可能性もあるため書いた次第です。
###経緯
MakerFairKyotoで昨日入手できたので試してみたら動かない...
はて、ESP32インストールをコケたかなと思い、最新環境にしても変わらず躓いてました。
そもそもESP32ならばWiFi付いてるじゃん。という話ですが。
人が多く長距離でUDPを使うとき、どうしても有線が必要になる...
そこをArduinoレオナルド辺りでやっていましたが、UIがあるとセッティングが楽なのでちょっと検証してみた次第。
こういう側面もあるので今後PoE対応モジュールとかが出るといいなぁと思うのですが...