【製品の種類】
マイクロチップが提供している旧Roving Network社のWi-Fiモジュールには
下記のような2種類があります。単体のモジュールは表面実装ですので
はんだ付けは無理ですが、それぞれに開発用のツールとして基板に実装済み
のモジュールが用意されています。
【2種類の接続形態とSoftAPモード】
Wi-Fiの接続形態には大きく2通りあります。
・アドホックモード
ゲーム機などで使われている1対1で直接接続する形態です。
・インフラモード
アクセスポイントが中心となって中継してネットワークを構成する形態です。
しかし、MicrochipのWi-Fiモジュールでは新バージョンからアドホックモード
の形態のサポートがなくなりました。
代わりにSoftAPモードというWi-Fiモジュール自身がアクセスポイントになる
形態がサポートされましたので、直接接続することができます。
しかも7台までのDHCPアドレスをサポートしますので、1対n構成の接続形態
ができます。特徴をまとめると下記となります。
@ Androidスマートホンやタブレットなどアドホックモードをサポートしていない
機器との直接接続ができます。
A DHCPサーバとして最大7台のデバイスを接続できます。
B ルーティングをサポートするので、接続機器同士の通信ができます。
【モジュールの転送モード】
これらのWi-FiモジュールのUARTインターフェースは、無線LANでデータを送受信する
データ転送モードと、各種設定を行うためのコマンドモードの2種類のモードを持っています。
《モードの切り替え方》
コマンドモードに切り替えると多くの動作設定や、設定確認ができるようになっています。
その切り替えは下図のようになります。
マイコンなどのUART側から「$$$」という文字コードを送るとモジュールがコマンドモード
になります。
コマンドモード中に「exit」か「reboot」を送るとデータ転送モードに戻ります。
rebootコマンドは初期化スタートで、電源オン時と同じ動作をします。
「$$$」は単独で3文字連続したデータとする必要があり、下図のように$$$の前後250ms内
には他のデータ送信が無いようにする必要があります。
この250ms内に他のデータ送信があると、$$$も通常の送信データとして扱われます。
【コマンド種類と設定内容】
Wi-Fiモジュールにマイコン側から機能内容を設定する場合に、コマンドモードを使います。
このコマンドには非常に多くの種類がありますが、大別するとSet、Get、Status、Action、
File I/Oの5種類となります。
いずれのコマンドも 英単語をそのまま使って行います。この中で、通常使うのは設定用の
Setコマンドと動作を直接制御するActionコマンドだけですので、この内容を説明します。
SetコマンドとActionコマンドの代表的なものには下表のような種類があります。
これ以外にもありますが、通常使用しているものに限定しています。
すべてのコマンドには最後に復帰コード(\r)が必要です。(改行コード\nは不要です)
(1) Setコマンドの種類
コマンド種別 設定内容と設定例 broadcast UDPの一斉同報の設定 (heartbeat用)
《例》
set broadcast interval 0\r // 一斉同報を禁止
set b i 0\r // 同上(略号形式)comm 転送メッセージ設定
《例》
set comm open 0\r //オープン時メッセージ出力禁止
set comm closed 0\r //クローズ時メッセージ出力禁止
set comm remote 0\r //リモートへのメッセージ送信禁止ip IPアドレス、ポートなどIP関連の設定
《例》
set ip dhcp X\r // DHCP制御 、Xの値で下記制御
(0:禁止 1:許可 4:SoftAPでDHCPサーバ有効化)
set ip host 192.168.1.25\r //相手IPアドレス設定
set ip local 2000\r //自身のポート番号設定
set ip remote 3000\r //相手のポート番号指定
set ip proto X\r //プロトコル指定 Xの値で下記
(1:UDP 2 :TCP 3:TCP/UDP 18:TCP/HTTP Client)
set ip address 1.2.3.5\r //自身のIPアドレスの設定
set ip net 255.255.255.0\r //自身のネットマスクの設定
set ip gaetway 1.2.3.5\r //自身のゲートウェイとしてのアドレス設定wlan SSID、PINコードなどの設定
《例》
set wlan auth X\r // 認証方式の設定 Xの値で下記
(0:Open 1:WEP-128 3 :WPA1/WPA2-PSK 4:WPA2-PSK)
set wlan join X\r // 自動接続指定 Xの値で下記
(0:手動 1 :指定SSIDで自動 2 :ANYで接続
7 :SoftAPモードを指定SSIDで構成)
set wlan ssid 000A79E7FA65\r //SSIDを設定
set wlan pass 45673829\r //ネットワークキーの設定
set opt deviceid MyLan\r // デバイスの名称付与
(2) Actionコマンドの種類
コマンド種別 設定内容と設定例 $$$ コマンドモードとする
復帰改行は不要だが連続して入力が必要、また前後に250msecの無送信時間が必要reboot\r 初期化スタート、無線LAN動作開始
データ通信モードとなるclose\r TCPのセッションを終了する factory RESET\r 工場出荷時の設定に戻す
《例》 factory R\r //省略形save\r 設定内容を内蔵フラッシュメモリに保存する
【インフラモードの設定例】
実際のインフラモード用の設定例は下記リストのようになります。
前半はコマンドを定数として定義している部分で、後半部がプログラムで設定している
部分です。
ここでは使用するアクセスポイント(AP)のSSIDとネットワークキー(PINコード)、
さらにクライアント側IPアドレスつまりホストとなるタブレット等のIPアドレスを使用する
環境に合わせて変更する必要があります。
PCやタブレット等のIPアドレスは、タブレットの設定アイコンから調べます。
「設定」→「Wi-Fi」→「接続先アクセスポイント」で表示されるダイアログにIPアドレスが
表示されますのでこれを指定します。
この設定例では電源オン後直ぐ、設定されたアクセスポイントと接続し、指定相手との
通信ができる状態となります。
設定の最後でUARTの初期設定をやり直していますが、これはWi-Fiモジュールの
リブートにより通信が初期化され通信ができない状態となってしまうため、
再設定して通信ができる状態にする必要があるためです。
【ソフトAPモードの設定例】
ソフトAPモードの初期設定例が下記リストとなります。
この場合には自分で自身のIPアドレスを設定して1.2.3.5というアドレスにしています。
このアドレスを変更する必要が無ければ同じ設定のままで特に変更する箇所はありません。
これで電源オン後直ぐ、自身がアクセスポイントとなってDHCPサーバとなりますので、
タブレットやPCのWi-Fi接続設定で、このアクセスポイント(名称がMyAudioとなっています)を
指定して接続すればWi-Fi通信の準備が完了します。
この後、IPアドレスで1.2.3.5を指定して接続すればアプリケーションが使えるようになります。
この場合にもリブートしていますので、最後でUARTの再初期化が必要になります。