55
Makoto Hirahara 第10回 無線通信 6.19 2015 DIY ELECTRONICS デザイン言語ワークショップ(電子工作)

SFC デザイン言語WS(電子工作)第10回「無線通信」

Embed Size (px)

Citation preview

Makoto Hirahara

第10回 無線通信

6.19 2015

DIY ELECTRONICSデザイン言語ワークショップ(電子工作)

2

今日の内容

• XBee

• Wifiシールド

• Konashi

WIRELESS

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 モバイル機器 セキュリティ機器

XBee

6

XBee(ジグビー)とは

短距離無線通信規格ZigBee(ジグビー)に基づいて通信を行ってくれるモジュー

ル。

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/

13

作業手順

1. USBインターフェースキットの組み立て

2. XBeeの準備

3. XBee設定ソフトの準備

4. Arduino側で使うXBeeの設定

5. PC側で使うXBeeの設定

14

USBインターフェースキットの組み立て

ピン、DCプラグソケットを基板にハンダ付けする。

15

XBeeの準備

設定のためにXBee裏側に印字され

ている個体情報が必要となる。シー

ルなどに書き写し、表に貼っておく

と便利。

Arduino側 PC側

16

XBee設定ソフトの準備

設定ソフトXCTU をメーカーのサイトからダウンロード

http://www.digi.com/support/productdetail?pid=3352

自分の環境にあった

ものをダウンロード

17

Arduino側で使うXBeeの設定

USBインターフェース基板にArduino側

のXBeeを取り付ける。アンテナが外側

になるよう向きに注意。

USBでPCと接続する。

アンテナ

18

Arduino側で使うXBeeの設定

先ほどダウンロードしたXCTUをイ

ンストールして起動。

USBでつないだXBeeを認識するた

めに、虫眼鏡アイコンをクリック。

19

Arduino側で使うXBeeの設定

接続しているUSBにチェックを入れ、

Nextボタンをクリック。

20

Arduino側で使うXBeeの設定

検索対象を絞る画面。

すべての項目にチェックを入れると非

常に時間がかかる。通常は標準の状態

でよい。

21

Arduino側で使うXBeeの設定

しばらく待ち、見つかったデバイスに

チェックを入れてAdd select devices

をクリック。

検索中

22

Arduino側で使うXBeeの設定

デバイスが左側に追加され、

クリックすると右側に現在の

設定が表示される。

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)。

26

Arduino側で使うXBeeの設定

DH、DLの設定

通信する相手の個体番号を入力。

先ほど控えたPC側XBeeの番号

PC側XBee

27

Arduino側で使うXBeeの設定

BD

シリアル通信の速度(BaudRate)を

Firmataと合わせて57600に設定する。

28

Arduino側で使うXBeeの設定

設定の書き込み

鉛筆アイコンをクリックする

と設定を書き込む。

完了したら、XBeeをUSBイ

ンターフェース基板から取り

外す。硬いのでピンの足が曲

がらないように注意。

29

Arduino側で使うXBeeの設定

XBeeをシールドに載せ、Arduino Unoに取り付ける。

30

PC側で使うXBeeの設定

PC側の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回授業資料を参考に。

35

接続テスト

左端のボタンをクリックすると、ArduinoUnoの基板上のLEDが点灯する。

WIFI SHIELD

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 シールド

ピンソケット4つ(別売)を基板にハンダ付けし、Arduinoに載せる。

38

組み立て

裏 表

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アドレスが表示されれば正常に動作してい

る。

41

環境データを集めるデモ

data.sparkfun.com

ArduinoUno

WifiShield

CdS TempSensor

html

Google Charts

ブラウザ

42

data.sparkfun.com

sparkfunが運営するオンラインデータストレージサービス。

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";

47

サンプル回路

5VA0

A1

A2

GND

ArduinoUnoにスタックした

Wifi Shieldのピンに接続する

48

サンプル回路

49

データの蓄積

Public URLのアドレスをブラウザで開

くと、センサーから入力された値とタ

イムスタンプが確認できる。

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

BLUETOOTH

53

konashi

ラピッドプロトタイピングを目的として、スマートフォンと連動させることを

前提に設計されたマイコンボード。国内で使用できるBLE(Bluetooth Low

Energy)モジュールを搭載し、簡単にスマートフォンと繋ぐことができる。

http://konashi.ux-xu.com/

TOUR

55

秋葉原電子部品屋ツアー

秋葉原の主要な電子部品店、工具店な

どを回ります。参加は任意です。

日時:6/19(土) 13:00 - 15:00

場所:JR秋葉原駅電気街口を出て右側の広場。

参加希望者はfacebookで連絡ください。

イベントページに招待します。