株式会社インデペンデンスシステムズ横浜システム開発エンジニアの西田五郎が運営しております。その他新規開発案件のご依頼をお待ちしております。Ethernetシールド(旧製品)を使ってみました。Arduinoと接続した状態が以下です。2~3年前ぐらいに買ったものだと思います。自宅以外で有線LANが気軽に使える場所もあまりないかなといった理由で使わなかったと思います。イーサネットシールド2という製品も販売されていますので購入される場合はご注意下さい。用途としてはもちろん、Ethernetシールドなので有線LAN経由でインターネットに接続して通信が出来ます。プログラミングとしてはライブラリがあるのでそのライブラリを利用すればネットワークプログラムが記述出来ます。プログラムの前にTCP/IPについてTCP/IPとはですが、以下から引用させて頂きました。ありがとうございます。–TCP/IPとは、機種やOSの違いに関係なく、どんなコンピュータでもネットワークに参加させることができる通信プロトコル(通信規約)のこと。TCP/IPとは、機種やOSの違いに関係なく、どんなコンピュータでもネットワークに参加させることができる、インターネットで標準的に使われている通信プロトコル(通信規約)のことです。この通信プロトコルに従うことで、機器間での物理形態やOSが異なっていても相互に通信を行うことが可能になります。Protocol)の略で、通信が失敗した時に再送信を試みて回復に努めたり、データを順番に届ける役割を果たします。要するにインターネットの通信プロトコル(通信規約)のことです。今回のEthernetシールドもこのTCP/IPで通信を行います。大きな特徴として、他の類似の通信プロトコル(osi参照モデルとよく比較されます)と同様に「階層構造」になっていることです。TCP/IPの階層構造は以下です。階層の構成としては下位の階層が上位へ機能を提供するということと、上位の方がよりユーザに近いということです。階層を提供するということは、上位からすれば下位の構成に関係なく上位の機能を利用することが出来るということです。パソコンで電子メールを送受信するということを考えると有線LANの接続であろうが、Wifiでの接続であろうがメーラを利用してメールを送受信する動作は変わりません。Ethernetシールドでのプログラミングでは、この階層構造がよく見えるかなと思ったからです。Windows等でのOS上でのプログラミングでは特に最近ではより上位層でのプログラミングが出来ると思います。それは便利なことですがわざわざTCP/IPのことは意識しないです。Ethernetシールドのサンプルスケッチで少しでもTCP/IP(の階層)を意識しようかと思ったというこです。サンプルプログラムの実行ほぼサンプルプログラムのままですが、より単純にシンプルなサイトにHTTPのGETで通信してレスポンスを表示するというプログラムです。http://www.example.comというURLにアクセスしています。普通にPCのブラウザで表示すると以下のような表示になります。以下がこのように表示されるレスポンスを取得するプログラム(Arduinoではスケッチですね。clientというサンプルスケッチでコメントはほぼそのままです。}}これを実行すると以下のようにシリアルモニタで確認出来ました。information...</a></p></div></body></html>disconnecting.IPアドレスの情報とHTTPのレスポンス、それから処理経過を表示しています。上記の実行結果とスケッチとをTCP/IPの各層を2階層ずつに分けて、下位層、上位層と位置付けて、それぞれ対比して確認したいと思います。address)を指定して、Ethernet.begin()でEthernet接続を開始しています。MACアドレスはEthernetシールドの裏側に1台ごとに付与されています。これでDHCPが有効であれば、IPアドレスが割り当てられて、DHCPが有効でなければ指定したIPアドレスでEthernet接続を開始しようとします。DHCP”が表示されていないのでDHCPが有効で(IP4の)IPアドレスが割り当てられた状態になりました。これで下位層まで確立出来たから「上位層で通信出来ますよ」の状態と考えていいでしょうか。実行結果では、以下のようにIPアドレス関連が表示されました。Protocol)通信(トランスポート層)のクラスで信頼性の高いコネクション型の通信方法です。大きな流れは以下のようになると思います。最後にそのTCP通信で何をやりとりしているかというのが、最上位のアプリケーション層ですが、ここではHTTPというアプリケーションプロトコルに従って通信しています。以下のあたりの送信している内容がHTTPです。close”);これで、client.read()でindex.htmlのドキュメント(テキスト)を受信して表示しています。以上、サンプルスケッチをTCP/IPの各層と合わせて確認しました。※TCP/IPのより詳細が必要な場合は他のサイトや関連する書籍等を参照して頂ければと思います。その他のサンプルスケッチもう一つだけですが、試したサンプルスケッチについてです。WebServerというサンプルスケッチですが、これは私はArduinoらしいと思いました。いう処理かというと、Analog入力の値をHTTPのレスポンスとして返す処理です。Analog入力の値をネットワーク経由で確認出来るということです。そのまま実行しただけなので、実行結果だけ表示します。Analogに何も接続していないので不定値が表示されただけです。Ethernetシールドを使ってみたというところですが、また何か出来たら書きたいと思います。Ethernetシールドの旧製品版を使ってみました。シールドを使ってみました。DIPを使ってみました。Uno2台で通信ArduinoでのSPI通信についてです。「温度管理システム的なものを作ってみる」の2回目です。前回は全体的な内容についてでした。今回はArduinoでの温度取得とスマホへの送信についてです。LeafonyでRCカーを作ってコントロールしてみるというテーマで書いています。Energy(ここからはBLEと表記します。株式会社インデペンデンスシステムズ横浜システム開発エンジニアの西田五郎が運営しております。その他新規開発案件のご依頼をお待ちしております。