UARDECS1.0.0について簡易説明書
2018/1/18 H.kurosaki

●動作環境
以下の機種での動作を確認しています
UARDECSの動作機種
Arduino UNO+Ethernet Shield 2
Arduino MEGA+Ethernet Shield 2
Arduino UNO+WIZ550io
Arduino MEGA+WIZ550io
※Arduino Leonardo Ethernetはコンパイル可能ですがメモリ不足により非推奨

UARDECS_MEGAの動作機種
Arduino MEGA+Ethernet Shield 2
Arduino MEGA+WIZ550io
※Arduino UNOではメモリ不足により非推奨

●開発環境の構築
(1)Arduino IDE1.8.0以降を使用します
Arduino IDEをインストールした後、マイドキュメントフォルダの中の
"Arduino\libraries"の下にUARDECSというフォルダごとコピーして下さい
UARDECS_MEGAを利用したい方はUARDECS_MEGAフォルダもコピーして下さい。

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

(3)UARDECS_MEGAについて
メモリ容量の多いArduino MEGA用に追加された機能強化バージョンです
基本的に従来のUARDECSと同じソースコードが利用でき、Web上からCCMの個別エディットとEEPROMへの保存が可能です。
このライブラリをインストールした場合、スケッチのヘッダ部分を
#include <uardecs.h> → #include <uardecs_mega.h>
に書き換えるだけで利用可能です。
UNOでも作成するCCMの数が少なければコンパイルは可能ですが、メモリに余裕が無いので非推奨です。
従来のUARDECSとの大きな違いは、CCM typeなどをweb上からユーザーが変更して保存できることです。
EEPROMにデータが書かれていない初回起動時やプログラムの変更時にCCMの登録文字列にゴミが生じることがあります。
その場合ノードを起動してブラウザでアクセスし"CCM Edit"→"Reset all type"を選んでCCMを初期化して下さい。

●サンプルスケッチ
正常にライブラリがインストールできていればIDE左上の
"ファイル"→"スケッチの例"の中にUARDECSという項目ができており、
その中からサンプルスケッチを呼び出すことができます

●WIZ550ioの使い方
これはArduinoのシールドではなく、W5500の周辺回路のみで構成されたモジュールですが、
適切に結線すればEthernet Shield2と同じことができます。
必要な結線はArduino→Wiz550ioとすると以下の7ピンで、バス電圧は5V,3.3V両用です。
D10→SCSn
(ICSP)MOSI→MOSI
(ICSP)MISO→MISO
(ICSP)SCK→SCLK
RESET→RSTn
3.3V→3V3D
GND→GND
ただし、Arduino単体では3.3Vの電力供給が不足するおそれがあるので、
3.3Vのレギュレータを増設するのをお勧めします。
※ICSPはUNOではD11(MOSI),D12(MISO),D13(SCK)に同じ端子が出ているので
 これを結線すれば問題なく動きますが、MEGAではD50(MISO),D51(MOSI),D52(SCK)端子になるので
 なるべく6pinのICSP端子を使うことをお勧めします。

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

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

●UARDECS08からの修正点
W5100のサポート終了
UARDECS_MEGAの追加
サンプルプログラムの追加
RTCを積んだ時間を送出するノードで既存のCCM送信機能を使用すると1秒のカウントにズレが生じ
不具合の原因となるため、CCM送信部分をスケッチ側にも記述できるようにスコープを変更した
</uardecs_mega.h></uardecs.h>