ArduinoでWiFiを使いたいのだけど、目的であるIoTのデモがArduino社製のWiFiシールドでの動作が前提となっており、プログラム変更が面倒だったので、おもいきって購入した。
Arduino WiFi Shield
http://www.arduino.cc/en/Main/ArduinoWiFiShield
純正なんだからIDEのライブラリも追加せずにさくっとつながるのかな..と思っていたら、なんとファームウェアの更新を先にしないとダメなことがわかった。
※先のリンクの先頭の方にかかれた文章と翻訳
The firmware for the WiFi shield has changed in Arduino IDE 1.0.4.
It is strongly recommended to install this update per these instructions
Arduino IDE 1.0.4以降、WiFiシールドのファームウェアが更新されています。
手順どおりに最新版をインストールすることを強く推奨します。
なおPCにはArduino IDE最新版がインストールされている前提とする。
以下、更新手順である。
- PC上でブラウザを起動する
- ブラウザで「http://www.atmel.com/tools/FLIP.aspx」を開く
- Windowsを使用している場合、「FLIP 3.4.7 for Windows (Java Runtime Environement included)」をダウンロードしてインストールする
- すでにWiFiシールドをArduino本体と接続しているのであればはずしておく
- PCとArduino本体を接続しているのであればはずしておく
- WiFiシールド上の唯一の繋がっていない状態のジャンパ(J3というらしい)を付属のショートプラグでショートさせる
- miniUSBケーブルでPCとWiFiシールドを接続する(Arduino本体は外しておく)
- ドライバインストールでエラーが出たら、Flipをインストールした先の「C:\Program Files (x86)\Atmel\Flip 3.4.7\usb」にあるドライバをインストールする(手順省略)
- DOSプロンプトを開き「cd C:\Program Files (x86)\Atmel\Flip 3.4.7\bin」を実行して、batchisp.exe のあるフォルダに入る
- DOSプロンプトから「batchisp.exe -device AT32UC3A1256 -hardware usb -operation erase f memory flash blankcheck loadbuffer <Arduino IDEインストール先>\hardware\avr\firmwares\wifishield\\wifi_dnld\Release\wifi_dnld.elf program verify start reset 0」を実行する
- DOSプロンプト上に黄色い文字で「Summary: Total 11 Passed 11 Failed 0」と出て、WiFiシールド上のDATA LEDが青点灯するまで待機する
- DOSプロンプトは後でもう一度使用するので立ち上げたままにしておく
- WiFiシールドからmicroUSBケーブルをはずす
- WiFiシールド上のJ3ジャンパのショートプラグを抜いて、入手時の状態(片側だけに挿しておく)に戻す
※FTDI変換アダプタをつかってFTDI接続してシリアル接続ツールでバージョンを確認する (オプション、省略)
- WiFiシールドのジャンパ(J3)を付属のショートプラグで再度ショートさせる
- WiFiシールドとPCmini USBケーブルで接続する
- DOSプロンプトに戻り「batchisp.exe -device AT32UC3A1256 -hardware usb -operation erase f memory flash blankcheck loadbuffer <Arduino IDEインストール先>\hardware\avr\firmwares\wifishield\\wifiHD\Release\wifiHD.elf program verify start reset 0」を実行する
- DOSプロンプト上に黄色い文字で「Summary: Total 11 Passed 11 Failed 0」と出るまで待機する
- WiFiシールドおよびPCとからmini USBケーブルをはずす
- WiFiシールド上のJ3ジャンパのショートプラグを抜いて、入手時の状態(片側だけに挿しておく)に戻す
ここまで。
上記手順は、以下のサイトを参考にした。
http://www.binarytaskforce.com/Weblog/2013/09/21/arduino-wifi-firmware-update/
FTDI変換アダプタは、あったほうが手順がうまくいってるか確認できるので、本当はやったほうがいいのだろうけど、Arduino社サイトにはかかれていないんだよなあ..
FTDI USB変換アダプタの使い方は以下の記事を参考のこと:
Arduino WiFI Shieldの動作を表示させつつArduino IDEで開発する
http://fight-tsk.blogspot.jp/2015/05/arduino-wifi-shieldarduino-ide.html
p.s.
ファームウェアを導入しないで(1.0.4より前のバージョンのママ)WiFiシールドを使おうとしたが、ルータ接続まででそれ以降のWiFiClientのconnection(domain, port)がtrue(1)にならなかった。
できるだけ、更新したほうが良さそうだ。
0 件のコメント:
コメントを投稿