picを使いはじめて、システム構成のうえで、シリアル通信の仕組みが非常に重要だと気がつきました。
チップ間はi2cなど優れたシリアル通信の仕様が整備されていますが、長距離伝送はあまりそのような
ものは見あたりませんでした。電気的仕様はRS422/485が広く利用されていますが、その上でのやりとりは
実装ごとにバラバラで、i2cのような汎用性は実現されていません。
長距離にこだわったのは、農業などパソコンを置けない(置きたくない)フィールドで、リアルタイム監視や
ログ収集などが念頭にあったからです。
イーサネットはコスト、汎用性、性能、入手性など優れた点が多数ありますが、デメリットもあります。
・接続距離が原則100m以内に制約される。(延長する場合、接続点に電源確保が必要)
・クライアントにtcp/ipや物理層を実装するのは大変
長い距離の先にある簡素なマイコンセンサーを読み出したり、100Vのオンオフ制御をする程度であれば
イーサネットほど高度な仕組みを使わなくても、RS422/485のシリアル転送でも十分対応可能と思われます。
クライアントを簡素化する代わり、ホストPCを必須にして、サーバー・クライアント方式を採用しました。
サーバーはidの配布やログの保存、バスの利用許可、データの検証などを行います。必要ならば
データベースを稼働させて、クライアントごとの精密なログ管理を行うことも出来るでしょう。
どこまで具体化できるか分かりませんが、オープンな開発を進めていければと思います。
チップ間はi2cなど優れたシリアル通信の仕様が整備されていますが、長距離伝送はあまりそのような
ものは見あたりませんでした。電気的仕様はRS422/485が広く利用されていますが、その上でのやりとりは
実装ごとにバラバラで、i2cのような汎用性は実現されていません。
長距離にこだわったのは、農業などパソコンを置けない(置きたくない)フィールドで、リアルタイム監視や
ログ収集などが念頭にあったからです。
イーサネットはコスト、汎用性、性能、入手性など優れた点が多数ありますが、デメリットもあります。
・接続距離が原則100m以内に制約される。(延長する場合、接続点に電源確保が必要)
・クライアントにtcp/ipや物理層を実装するのは大変
長い距離の先にある簡素なマイコンセンサーを読み出したり、100Vのオンオフ制御をする程度であれば
イーサネットほど高度な仕組みを使わなくても、RS422/485のシリアル転送でも十分対応可能と思われます。
クライアントを簡素化する代わり、ホストPCを必須にして、サーバー・クライアント方式を採用しました。
サーバーはidの配布やログの保存、バスの利用許可、データの検証などを行います。必要ならば
データベースを稼働させて、クライアントごとの精密なログ管理を行うことも出来るでしょう。
どこまで具体化できるか分かりませんが、オープンな開発を進めていければと思います。