やっと解決!Arduino Ethernet Shield2(シールド2)通信!

Ethernet,Shield,2 Arduino

やっと解決しました!!
この新しいW5500 Arduino Ethernet Shield2 (シールド2)

スポンサーリンク


問題は、簡単でした。
スイッチサイエンスさんの商品紹介ページ
に 1.7.2以降のArduino IDE で開発する必要があります。
と書いてあるのを見逃しました!!

Arduino IDE 1.8.0 には Ethernet2 ライブラリはデフォルトでインストールされていません。
インストールするには一番下のコメント欄で、H.K が解決されました。
H.K さん、ありがとうございます!!!
ということで、コメント欄を参照してください。
Arduino IDE は現在、Arduino.cc団体とArduino.org団体が統合されていて、1.8.0 では同じIDE上で動くようになってます。
(2017/1/6)

NTPサーバー通信動作状況はこんな感じ。

また、肝はライブラリを
#include <Ethernet2.h>
#include <EthernetUdp2.h>
と新たなライブラリでインクルードせねばなりませんでした。
いつの間にか、Arduino本家ホームページが移動していました。

Arduino IDE 1.6.4 が最新だと思い込んでいました。
いや~、知らなかった・・・。
今、2015/12/8時点で、最新はバージョンは1.7.8 でした。

この新しいEthernet Shield2 は旧製品より、各段に安くなっておりました。
(※現在、販売が停止しているようです)
https://www.switch-science.com/catalog/2270/

I2C用のコネクタなどが出ていて、電子工作にとても重宝しそうです。

ちゃんとホームページの注意事項は読み切ることですね。
いやいや、未熟者でした。
とりあえず、ご報告です。

以下、最近の記事からの報告です。

EthernetShield2を使って、3Dプリンターでこんなのを作ったりしました。
タイマー付き電光掲示板でスマホでWiFiで設定するものです。
※Wi-Fi機能付きルーターに有線LANを接続して通信したものです。

また、最近はスマホとストリーミング通信したりもできるようになりました。
これはスマホブラウザのServer-Sent Events を使ったものです。


ブラウザ側でJavaScriptのCanvas要素を使うとグラフィックにできたりします。



もっと最近では有線LANイーサネットシールドやArduino UNOから脱却し、日本の電波法上で安心して使えるWi-Fiモジュール ESP-WROOM-02 にArduinoスケッチを書き込みWi-Fiストリーミング双方向通信したりしています。

ESP-WROOM-02開発ボード
スイッチサイエンス(Switch Science)

ESPr Developer(ピンソケット実装済)
スイッチサイエンス(Switch Science)

これはEthernetShieldのようなゴツイものではなく、非常にコンパクトでArduino MEGA を凌ぐメモリーとCPUを搭載したボードを使っています。
最近はこればっかりです。
●スマホブラウザとのWi-Fi双方向通信でLEDを点灯する

Amazon.co.jp 当ブログのおすすめ

スイッチサイエンス ESPr Developer 32 Type-C SSCI-063647
スイッチサイエンス
¥2,420(2024/11/08 09:01時点)
ZEROPLUS ロジックアナライザ LAP-C(16032)
ZEROPLUS
¥19,358(2024/11/08 16:05時点)
Excelでわかるディープラーニング超入門
技術評論社
¥2,068(2024/11/09 05:16時点)

コメント

  1. たか より:

    初めまして!
    arduino歴1ヶ月です。
    イーサネットシールド2が、動作せず、
    腐り気味で、ウェブ頼りでこちらに
    辿りつきました。
    ライブラリーが、Ethernet2ですとコンパイル出来ず、2を消去して、Ethernetに書き変えればコンパイル成功しますが、
    それですとネットワークに認識されません。ウエブ上のコードを手当たり次第使用してみても、上手くいきません。
    何かアドバイスいただけませんでしょうか?

    • mgo-tec mgo-tec より:

      たかさん

      年末でいろいろ忙しく、お返事遅れましてスミマセン。m(_ _)m

      今、Wi-Fiばかり使用していて、有線のEhthernet Shield を全く使っておらず、検証に時間がかかってしまいました。
      結論としては、本家のArduino.cc と 分裂したArduino.org 団体が統合された、Arduino IDE 1.8.0 では動作しません。
      Ethernet Shield2 は Arduino.org団体のシールドなので、一世代前のArduino.org団体バージョンの1.7.11 を使えば正常に動作すると思います。
      又は、1.8.0 のlibraries フォルダに 1.7.11 の Ethernet2 ライブラリフォルダをフォルダごとコピーすれば動くと思います。

      以上、試してみてください。
      また何かありましたらコメントください。

  2. たか より:

    丁寧にありがとうございます。
    新年おめでとうございます。
    年末年始にも関わらずすいません。
    2つのwin7PCで確認していますが、
    1.7.11ではコンパイル出来てもインストール出来ませんでした。他の簡単なライブラリーですら、インストール出来ないようでした。
    で気を取り直して、1.7.7にしたところ
    無事ネットワーク上に認識させることが出来ました。
    有難うございました。
    ホントはWi-Fiがしたいので、
    また、伺う事があるかと、思いますが
    その節はよろしくお願いいたします。

    • mgo-tec mgo-tec より:

      たかさん

      こちらこそ、あけましておめでとうございます。
      本年も何卒、当ブログをよろしくお願いいたします。

      Arduino.org サイトのIDE は最近殆ど使ってなくて、インストールできないとは知りませんでした。
      私の場合は、Windowsインストーラーを使っておりません。
      ZIPファイルをダウンロードして、解凍して、その中のarduino.exe を実行してます。
      その方が、複数の別のバージョンのIDEを起動できるので、そうしてます。

      また、以下の記事を参照してください。
      https://www.mgo-tec.com/esp8266-board-install01-html
      Windowsならば、以下のフォルダにArduino関係のフォルダがある場合は、それを削除してから再インストールすれば良いかもしれません。
      C:\Users\(ご自分の名前フォルダ)\AppData\Local

      以上、とりあえず、1.7.7 で動いたのならばそれで良いのではないでしょうか。
      また何かありましたら、コメントくださいませ。

  3. H.K より:

    初めまして、色々と参考にさせていただいておりますが、Ethernet2.hの件で情報提供させていただきます。
    Arduino IDE 1.8.0 ではライブラリの管理機能が追加されており、Ethernet2.hはそこからインストールできます。
    サードパーティ製のライブラリと同じ扱いになっているようです。

    参考:
    http://uecs.org/blog.html

    (1)IDEを起動し、スケッチ>ライブラリをインクルード>ライブラリを管理を選ぶ
    (2)ライブラリの検索画面が出るので、タイプに「全て」検索欄に「ethernet2」と入力する
    (3)Ethernet2ライブラリの概要が出るのでクリックするとインストールボタンが出るので押す
    (4)IDE1.8.0以降はライブラリのインストールフォルダがドキュメントフォルダ以下の\Arduino\librariesの中になっており、ここにEthernet2フォルダが出現していれば成功です

    • mgo-tec mgo-tec より:

      H.K さん

      バッチリ!!! です!!!
      ライブラリ管理機能でインストールできました。
      Arduino 1.8.0 でも動きました。
      記事にも早速取り入れたいと思います。
      とっても有益な情報ありがとうございました。!!!
      m(_ _)m

  4. たか より:

    皆様

    貴重な情報ありがとうございます。
    なかなか、奥が深いですね。
    親切な方がいらっしゃいますので、
    心強いです。
    また、お願いします。

    • mgo-tec mgo-tec より:

      たかさん

      再び、このコメント欄を見ていただいて良かったです。
      メールで連絡しなきゃ、と思っていたところでした。
      これでスッキリしてプログラミングができますね。

      ホントに親切な方がいらっしゃるもんです。
      Twitter でも情報掲載させていただきました。
      @mgo_tec
      悩んでいた方々に大いに助けになりますね。
      H.Kさん、改めてありがとうございました。

  5. YAMA より:

    はじめまして、こんにちは。
    私はYAMAと申します。
    Ethernetshield2を使用してwebサーバー通信したいのですが、いくら調べてためしても通信できません。半年以上たってもどうにもできず困っています。以前こちらのサイトを拝見させていただいたのを思い出してコメントしています。お手数ですが、アドバイスいただけますでしょうか。

    現在は下記の仕様で試しています
    バージョン Arduino1.8.5→最新の2.3.2でも繋がらない
    まずはコントロールパネルでEthernet(無線LAN)を有効にして、Wi-Fiを無効にする→逆にしても繋がらない

    ライブラリはEthernet2~webserverインクルード→EthernetUdp2を足しても繋がらない

    Ethernetshield2 Macアドレス  :0xA8, 0x61, 0x0A, 0xAF, 0x16, 0x66
    PCIPアドレス設定        :192,168,11,100
    デフォルトゲートウェイ      :192.168.11.50
    DNSサーバー         :192.168.11.50
    接続状況             :Ehernetshield2-PCを有線LAN、Arduino-PCをUSB

    お手数ですが、よろしくお願いいたします。

    • mgo-tec mgo-tec より:

      YAMAさん

      当ブログにお越しいただきありがとうございます。

      ただ、Ethernetshield2はこの記事(2015年6月)以降、全く使っておらず、正直よくわかりません。
      もう、この製品も廃止されたみたいですね。

      公式の以下のサイト
      https://docs.arduino.cc/retired/getting-started-guides/ArduinoEthernetShield/
      を日本語翻訳しながら、一つづつ確認していくしかないように思います。

      あとは、IDEのバージョンを2015年期に戻って、1.8.0くらいに大幅にバージョンを落として使ってみるとかでしょうか?

      お力になれず、申し訳ございません。
      m(_ _)m

      • YAMA より:

        かなり前のことを聞いてしまい申し訳ございません。
        紹介していただいたサイトを調べてみます。
        ありがとうございました。

タイトルとURLをコピーしました