Download - SFC デザイン言語WS(電子工作)第10回「無線通信」
4
無線規格の比較
Wi-Fi Bluetooth 802.15.4/ZigBee
IEEE規格 802.11a/b/g/n 802.15.1 802.15.4
周波数帯 2.4GHz/5GHz 2.4GHz 866MHz/915MHz/2.4GHz
通信距離 最大100m程度 最大100m程度 100以上
通信速度 最大300Mbps 最大3Mbps 最大250kbps
接続ノード数 32 7 65535
主な用途 無線LAN モバイル機器 セキュリティ機器
7
シリーズ
Series1(802.15.4)
ZigBeeを簡略化した独自プロトコルを使用している。設定が簡略化されている
ので、1対1の通信をするだけの場合はこちらの方が適している。
Series2(ZigBee)
ZigBeeプロトコルで通信を行う。1対1だけでなく、1対複数やメッシュ接続が
可能。設定が複雑。
8
その他のバリエーション
RegularとPro
Series1とSeries2それぞれにRegularとProの2種類がある。Proの方が通信距
離が長く、価格が高い。
アンテナの種類
Wireアンテナタイプ、PCBアンテナタイプ、チップアンテナ、RPSMAなど。
電波の指向性の違い。Wireアンテナは全方位均等、PCBとチップアンテナは後
方に届きにくい型。RPSMAは別のアンテナに接続できる。
9
Arduino UNOとPCをXBeeで繋ぐ
XBeeシールド USBインターフェースボード
2.4GHz
XBeeモジュール
PC
USB
ArduinoUNO
XBeeモジュール
無線である事を意識せずに、
シリアル通信できる。
XBeeシールド
ArduinoUNO
XBeeモジュール
10
Arduino UNO同士をXBeeで繋ぐ
XBeeシールド
2.4GHz
ArduinoUNO
XBeeモジュール
無線である事を意識せずに、
シリアル通信できる。
11
ArduinoFio
Arduino Fio
XBeeモジュール
USBインターフェースボード
XBeeモジュール
PC
USB
XBeeソケット,リチウムイオン電池コネクタ、
充電ICを搭載したXBeeの使用に特化したArduino。
2.4GHz
12
最小限の構成
XBeeZBモジュール(PCBアンテナタイプ)2台
http://akizukidenshi.com/catalog/g/gM-06195/
XBee USBインターフェースボードキットhttp://akizukidenshi.com/catalog/g/gK-06188/
Arduino用XBeeシールドhttp://akizukidenshi.com/catalog/g/gM-07030/
16
XBee設定ソフトの準備
設定ソフトXCTU をメーカーのサイトからダウンロード
http://www.digi.com/support/productdetail?pid=3352
自分の環境にあった
ものをダウンロード
23
Arduino側で使うXBeeの設定
ICのアイコンをクリックすると、
ファームウェアを書き換えるウィンド
ウが開く。
• XB24-ZB
• ZigBee Router AT
• ****(Newest)
を選択しUpdate。
24
Arduino側で使うXBeeの設定
通信モードについて
1対1のXBee間の通信を行う「ATモード」と1対複数の通信を行うことができ
る「APIモード」がある。今回は「ATモード」で設定を行う。
25
Arduino側で使うXBeeの設定
PAN ID設定
PAN IDは、XBeeが互いに通信
するグループ名のようなもの。
後で設定するPC側のXBeeにも
同じ値を使う。
好きな数字を16進数で入力。
ここでは1234(10進数では
4660)。
28
Arduino側で使うXBeeの設定
設定の書き込み
鉛筆アイコンをクリックする
と設定を書き込む。
完了したら、XBeeをUSBイ
ンターフェース基板から取り
外す。硬いのでピンの足が曲
がらないように注意。
31
PC側で使うXBeeの設定
ファームウェアを書き換える。
先ほどは「ZigBee Rooter AT」
だったが、今回は親機なので
「ZigBee Coordinator AT」を
選択。
• XB24-ZB
• ZigBee Coordinator AT
• ****(Newest)
32
PC側で使うXBeeの設定
Arduino側と同じように設定して、最後に鉛
筆アイコンを押して、XBeeに書き込む。
PAN IDの設定
Arduino側と同じ数字を使う。
DH、DLの設定
Arduino側XBeeの番号を入力。
BDの設定
シリアル通信の速度57600に設定する。
33
接続テスト
シールドのスイッチが「USB」になっ
ていることを確認。
Arduinoのメニュー[ファイル]-[スケッ
チの例]-[Firmata]-[StandardFirmata]
をArduinoUNOに書き込む。
書き込み終わったら、スイッチを
「XBEE」にする。
通信モードと書き込みモードを
切り替えるスイッチ
34
接続テスト
Processing のメニュー[ファイル]-
[Examples]-[Contributed Libraries]-
[Arduino(Firmata)]-[arduino_input]を
実行。
Arduinoライブラリを導入していない場
合は、第6回授業資料を参考に。
37
Wifi Shield
CC3000 WiFi シールド(sparkfun)
https://www.switch-science.com/catalog/1694/
Arduino WiFi Shield(Arduino)
http://www.arduino.cc/en/Main/ArduinoWiFiShield
HUZZAH CC3000 WiFi Shield(Adafruit)
http://www.adafruit.com/product/1491 CC3000 WiFi シールド
39
ライブラリのインストール
下記からライブラリをダウンロード。
http://github.com/sparkfun/SFE_CC3000_Library/archive/master.zip
SFE_CC3000_Library
SFE_CC3000_Library-master
Documents/Arduino/libraries/ に移動。解凍して、フォルダ名を変更。
40
ボードの確認
Arduinoを再起動。Arduinoメニューの[ファイル]-[スケッチの例]-
[SFE_CC3000_Library]-[BoardTest] を書き込む。
シリアルモニタを開き、ボーレートを115200に設定。
ファームウエアのバージョン、MACアドレスが表示されれば正常に動作してい
る。
43
data.sparkfun.com
タイトル、説明文などを入力。
Fieldsには、収集するデータ名を入力。
今回は、明るさ(light)、音量(sound)、
温度(temprature)の3つを登録。
44
data.sparkfun.com
登録完了すると、ストレージのキーが発行される。
Public URL:ブラウザで見るURL
Public Key:データを投稿する時に使用
Private Key:設定の変更などで使用
Delete Key:ストレージを削除する時に使用
45
サンプルスケッチ
char ap_ssid[] = "SSID"; // SSID of network
char ap_password[] = "Password"; // Password of network
unsigned int ap_security = WLAN_SEC_WPA; // Security of network
授業資料のObservation.inoを開く。
オレンジの箇所にそれぞれの環境にwifiの名前、パスワード、セキュリティの
種類を設定。
46
サンプルスケッチ
オレンジの箇所に発行されたキーを入力。
const String publicKey = "Public Key";
const String privateKey = "Private Key";
50
Google Charts
Google Chartsを利用し、データをグ
ラフにする。
下記のサイトを参考
http://phant.io/graphing/google/2014/07/07/
graphing-data/
作成したhmltファイルをサーバーに
アップする。
51
グラフ表示
http://makotohirahara.main.jp/data/150618_observation/index.html
53
konashi
ラピッドプロトタイピングを目的として、スマートフォンと連動させることを
前提に設計されたマイコンボード。国内で使用できるBLE(Bluetooth Low
Energy)モジュールを搭載し、簡単にスマートフォンと繋ぐことができる。
http://konashi.ux-xu.com/