週末副業記

土日は副業エンジニアのブログです。副業に関することを投稿します。

Arduino UNOにkeyestudioのEthernet Shieldを接続し、Tweetする。


f:id:aisakakun:20180923174524p:plain:w500

ArduinoにEthrnet(イーサネット)シールドを接続し、最終的にはTwitterにてTweetできるようになります。

Arduinoイーサネット通信

準備

Arduino UNO
・W5100 Ethernet Shield ks0156 ( keyestudio )
・LANケーブル
・PC( Mac )

Arduino Software(IDE)のインストール

下記サイトにおける「Download the Arduino IDE」の所有PCのOSに応じて選択し、インストールしてください。
Arduino - Software

ネットワーク設定

ネットワークが繋がっていない限り、LANケーブルで繋がっていても通信はできません。
以下の手順に従ってネットワーク設定を完了させましょう。

PCのIPアドレスサブネットマスクの設定

「システム環境設定」→「ネットワーク」→「Wi-Fi」を選択し、IPアドレスを確認してください。図では、「192. 1**. ***. ***」 (*は任意)というところがIPアドレスです。今回の例ではPCのIPアドレス「192.168.100.1」とします。
f:id:aisakakun:20190314224133p:plain:w500

 

コード

コードはスケッチ例を使用します。スケッチ例を使用するには以下の手順に沿ってください。

1. Arduino IDEを起動

2. 以下の図に従い、「WebServer」を選択してください
f:id:aisakakun:20180923184517p:plain:w500

3.コード中のIPアドレス部分を通信可能な任意のIPアドレスに変更してください
例:

IPAddress ip(192, 168, 100, 177);

今回、PCのネットワーク設定を
IPアドレス:192.168.100.1
サブネットマスク:255.255.255.0
に設定しているので、通信可能な任意のIPアドレスの範囲は
192.168.100.1〜192.168.100.255です。
サブネットマスクは特にいじっていませんが、デフォルトでこのような設定になっているはずです。

プログラムの実行

コードはこれ以上書き換える必要がないので実行に移ります。

1. Arduino IDEの「検証」ボタンを押してください
f:id:aisakakun:20180923190923p:plain:w300

2. Arduino IDEの「マイコンボードに書き込む」ボタンを押してください
f:id:aisakakun:20180923190929p:plain:w300

この過程でマイコンボードにコードが書き込まれ、
MACアドレス
IPアドレス

が書き換えられました。

実行結果の確認

今回、ArduinoイーサネットシールドのIPアドレス
192. 168. 100. 177
と設定したのでWebブラウザにおけるURL部分に上記IPアドレスを入力すると以下のような画面が出力されれば成功です。
f:id:aisakakun:20180923191251p:plain:w300

その他

MACアドレスはなんでも良い

個人でネットワークを構築する上で使用する分にはMACアドレスはなんでも良いので自由に設定してください。厳密にいうと、ネットワーク内に存在するPCのMACアドレスと重複しないように設定する必要があります。しかし、MACアドレスの設定パターンは何パターンもあるので適当に設定しても重複はしないでしょう。
ただし、どこかのシステムの一部として導入する場合は、ネットワーク接続しなくなったPCのMACアドレスを使用するなどしてMACアドレスの重複が起こらないように注意を払いましょう。

接続できない場合

もし私と同じ設定や機材を使用してEthernet通信ができない場合は、イーサネットシールドとArduinoがしっかりと接続されているかを確認してください。壊れない程度に上から押してピンのハマり具合をしっかりとみましょう。

中間まとめ

今回は
Arduinoイーサネットシールドを接続しPCとの通信
を行いました。
イーサネットシールドとしてkeyestudioのものを使用して手順を紹介している記事は少ないと思います。しかし、正規のイーサネットシールドを使用するときと手順は一緒でしたので、普通の正規品のものを使用したサイトを参考に色々と実験ができるのではないかと思います。

ArduinoTweet

イーサネット通信が上記の方法で正常に行うことができれば、下記サイト通りに行えばTweet可能です。

makers-with-myson.blog.so-net.ne.jp

f:id:aisakakun:20190314225214p:plain:w300

質問あれば気軽にどうぞ!

イーサネットシールド

keyestudio W5100 ネットワーク拡張ボード Arduino用

keyestudio W5100 ネットワーク拡張ボード Arduino用