LoginSignup
1
1

More than 5 years have passed since last update.

Fogのノード間通信の実現方法調査(Bluetoothまわり)(2017/11/02)

Last updated at Posted at 2017-11-02

Fogコンピューティングのネットワーク層の実現方法について、調査した内容を順次記していく。(2017/11/02)

調査しながらなので、間違いがあるかもしれない。また、もっといいやり方があるよ、というのをご存じの方がいらっしゃったらぜひご教授下さい。

Fogにおけるネットワーク層の必要機能(要件)

* ノード間でのメッセージ交換
* ノードの発見
* 複数ノード間でのメッセージのルーティング

全部が最初から必須なのではなく、やりたいことに合わせて揃えていく、という想定。まずは最も基本的なメッセージ交換から調査に着手する。

前提とする条件

基本的には以下を想定する。ノウハウあるしLinuxベースOSが動くので。

  • ハードウエア : ラズパイ(Raspberry Pi3 or Raspberry Pi Zero W) (WiFi/Bluetoothがビルトインなので)
  • OS : Raspbian or Ubuntu
  • OS Version : Raspbian Jessie

ノード間でのメッセージ交換方法

BLEのアドバタイズメントを利用する方法(iBeacon)

iBeaconは、ビーコンの名前の通り、基本的にはペリフェラル側からセントラル側に向けてアドバタイズメントを送りつける一方向通信だが、短時間でペリフェラルとセントラルを切り替えれば擬似的には双方向でのメッセージ交換が可能になるのではないか(仮説)。

この記事が参考になる。
Raspberry PiでiBeaconを検知する
およびその記事内で参照されている
Raspberry Pi で iBeacon を試してみよう!

こちらも参考になる。内容は上記とほぼ同じ。
Raspberry Pi 3に Bluetooth BlueZ Version 5.42 BLE

記事ではbluez(フリーののBluetoothプロトコルスタック実装)をインストールする様に書いてあるが、raspy3/jessieではフルパッケージを手動で入れる必要はなく、

$ sudo apt-get install bluetooth libbluetooth-dev libudev-dev

でOK。

ペリフェラルになる場合(コマンドライン実行)

ペリフェラル(電波吹く方)になるには「bluez-ibeacon」というソフトウエアを入れる、ということ。

セントラルになる場合(コマンドライン実行)

セントラル(受信する方)になるのは、「hcidump -R」を起動したまま「hcitool lescan」を実行すれば見られる。hcidumpはsudoしないと受信したメッセージが見えないので注意。

Pythonから制御する

これから、Pythonから制御する方法を調査する。Pybluezか?

BLEでちゃんと通信する場合

参考URL。
Check! Raspberry Pi で Bluetooth 経由のセンサーデータを取得する 〜 準備編

6LoWPANとか

Bluetooth 5とか

Bluetooth全般の基礎知識

【BLEを使う】GAP(Generic Access Profile)概要
Bluetooth Low Energy リンクレイヤの解説
Bluetoothl-Low-Energy入門講座-part1
20140922 ble bootcamp

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1