ArduinoのWiFiシールド(CC3000)でWiFiのセットアップ
ArduinoでWiFiが使える、かつTELEC取得済みのCC3000 WiFiシールドを入手したので、セットアップしてみました。
まずはハンダ付け
スイッチサイエンスから購入したのですが、ブツがビニールに入ってるだけで特に説明書らしきものはありません。Arduinoシールドとはいえ、ピンソケットも付属していないので、一緒にピンソケットも購入しておいたほうがいいでしょう。
このようなWiFiシールドだとさらに重ねる可能性があるので、ピンソケットをこのようにハンダ付けしておきます。なおこのシールドはSPIを使用していますので、重ねる場合は注意して下さい。
WiFiのセットアップ
WiFiのセットアップはsparkfunのページのCC3000 Hookup Guideを見ながら行えば問題ありません。
CC3000のライブラリのダウンロード
ライブラリのコードはGithubにありますが、リポジトリのmasterをココからzipファイルで落としてきて展開した方が楽です。落として展開したフォルダを「SFE_CC3000_Library-master」→「SFE_CC3000_Library」のようにちょっと修正して、ライブラリフォルダの中に放り込みます。Macだと~/Documents/Arduino/librariesになると思います。
WebClientで動作確認
ライブラリにファイルを置いたら、ArduinoIDEを起動します。動作確認はArduino Uno R3で行いました。
ファイル→スケッチの例→SFE_CC3000_Library→WebClientでサンプルスケッチをオープンします(※Macの場合)
// Constants char ap_ssid[] = "SSID"; // SSID of network char ap_password[] = "PASSWORD"; // Password of network unsigned int ap_security = WLAN_SEC_WPA2; // Security of network unsigned int timeout = 30000; // Milliseconds char server[] = "www.example.com"; // Remote host site
SSIDとPASSWORDの部分を、接続したいSSID名とパスワードに変更するだけです。serverは接続確認を行う先のURLです。このスケッチは起動時にクライアントのIPアドレスを設定して、"http://www.example.com/index.html"をGETで取ってくるようになっています。書き換えたらArduinoに書き込みます。書き込みが終ったらシリアルモニタを起動します。この時通信速度は115200に設定します。
正常にIPアドレスを取得し、www.example.comからデータを取得できると下記のようにGETで取得したログが流れます。
このスケッチをベースにスケッチを書けば通常のEthernetと同じように使えるようになります。
SmartConfigを使ったセットアップ
このCC3000のウリは、スマートフォンでSSIDとパスワードを設定できることのようなので、そちらも試してみます。
ファイル→スケッチの例→SFE_CC3000_Library→SmartConfigでサンプルスケッチをオープンします(※Macの場合)
ここでスマートフォンアプリを用意しておきます。iOS版とAndroid版があるのですが、iOS版はiTunesからダウンロードできるのに対し、Android版はなぜかTIにアカウントを登録してapkを自分でインストールする必要があります。今回はapkインストールするのが面倒だったので、iOS版でセットアップしましたが基本的には同じようです。
- SSID : 接続するアクセスポイント
- Password : パスワード
- Key : オプションなので特に設定する必要はありません
ここまで設定を入力したら、Aeduinoにスケッチを書き込んでシリアルモニタを起動します。Arduinoが起動すると"Starting SmartConfig"とメッセージが出たら、スマートフォンの"start"ボタンをタップします。成功すると、下記のようにsparkfunのサイトにpingを打って動作確認してくれます。
うまく設定ができない(Arduinoがタイムアウトする)と下記のようになります。スマートフォンのアプリの"start"のタイミングに気をつけてください
FastConnect
SmartConfigでの設定は、毎回起動時にSSIDの設定しなければならず面倒ですが、実は一度SmartConfigでSSIDとパスワードを設定しておけば、CC3000内部に記憶されるので、このFastConnetが利用できるようになります。(電源を外しても記憶しているようなので、内部Flashに記憶しているのかな)
ファイル→スケッチの例→SFE_CC3000_Library→FastConnetでサンプルスケッチをオープンします(※Macの場合)
SmartConfigで設定済みなら、何の問題もなく下記のように動作するはずです。
このSmartConfigは結構便利ですね。