UARDECS0.8.0について簡易説明書
2017/1/6 H.kurosaki

●動作環境
以下の機種での動作を確認しています
Arduino UNO+Ethernet Shield 2 (W5500)
Arduino MEGA+Ethernet Shield 2 (W5500)
Arduino UNO+Ethernet Shield R3 (W5100)
Arduino MEGA+Ethernet Shield R3 (W5100)
Arduino Ethernet R3 (W5100)

●開発環境の構築
(1)Arduino IDE1.8.0を使用します
W5100搭載機種(Ethernet Shield R3など)ではW5100フォルダのファイルを使用して下さい
W5500搭載機種(Ethernet Shield 2など)ではW5500フォルダのファイルを使用して下さい
(違いはヘッダファイルの部分だけです)
Arduino IDEをインストールした後、マイドキュメントフォルダの中の
"Arduino\libraries"の下にUARDECSというフォルダごとコピーして下さい

(2)Ethernet Shield R3またはArduino Ethernet R3で開発を行う場合、
W5100ライブラリのプログラムにパッチを当てる必要があります
IDE1.8.0がインストールされているフォルダ"Arduino"の中の、
"libraries\Ethernet\src\utility"内にある、"socket.cpp"ファイルを、
このUARDECSの"W5100用Ethernetパッチ"フォルダにある、"socket.cpp"に置き換えます
※"libraries\Ethernet2"フォルダではないので注意して下さい

(3)Ethernet Shield 2で開発を行う場合、IDE1.8.0では初期状態でライブラリがインストールされていません
IDEインストール後に以下の方法で追加インストールを行います
①IDEを起動し、スケッチ>ライブラリをインクルード>ライブラリを管理を選ぶ
②ライブラリの検索画面が出るので、タイプに「全て」検索欄に「ethernet2」と入力する
③Ethernet2ライブラリの概要が出るのでクリックするとバージョン(1.0.3を選択)と
インストールボタンが出るので押す
④IDE1.8.0以降はライブラリのインストールフォルダがドキュメントフォルダ以下の
"\Arduino\libraries"の中になっており、ここにEthernet2フォルダが出現していれば成功です

●サンプルスケッチ
正常にライブラリがインストールできていればIDE左上の
"ファイル"→"スケッチの例"の中にUARDECSという項目ができており、
その中からサンプルスケッチを呼び出すことができます
ただし、InAirTemp_ADT7410、InAirTemp_SHT7xは実際のセンサや追加ライブラリを必要とします

機種によってインクルードするファイルを書き換える必要があります
W5100搭載機種(Ethernet Shield R3など)ではEthernet.h(必要であればEthernetUdp.hも)を使用して下さい
W5500搭載機種(Ethernet Shield 2など)Ethernet2.h(必要であればEthernetUdp2.hも)を使用して下さい
もし、間違ったファイルを使用するとエラーが出るか、たとえコンパイルを通っても
ネットワーク関係の機能が全く使用できなくなります。

●Wiz550io用任意パッチについて
このパッチは現時点でWiz550ioまたはioShield-A専用で他の機種では効果がありません。
ドキュメントの中のフォルダ"Arduino"の中の、
"libraries\Ethernet2\src"以下の同名のファイルを上書きすることで、
MACアドレスの設定が不要になります。
ソースコード内で宣言したMACアドレスは、W5500のチップに工場出荷時に内蔵された
MACアドレスで上書きされます。
毎回ソースコード内に記述していたMACアドレスの設定ミスを防ぐのに有効ですが、
利用できる機種が限定されるため、任意パッチになっています。
Ethernet Shield 2で使用した場合、メモリの消費量が少し増えるだけで
パッチを使用しない時と挙動が変わりません。

●UARDECS07からの修正点
Arduino IDE 1.8.0対応、警告が出る箇所を修正、パッチのアップデート
WebのNode Status画面で設定完了後にURLの文字列を初期化するようになった
SafeMode時に設定されるサブネットマスクの値を修正
不具合の原因になりやすいオプション(ATTRFLAG_ALLOW_ABRIDGE_TYPE)の廃止
WebのNetwork Config画面に不要な文字列が出力されていたのを修正
アプリケーションガイドの文書およびサンプルプログラム追加