ワイヤレス接続のためにRaspberry Pi 3とBeagleBoardを構成する方法
DigiKeyのヨーロッパ担当編集者の提供
2016-06-24
低コストのRaspberry Piシングルボードコンピュータは驚異的な成功を収めてきており、業界標準のDebianのLinuxでプログラムすることができる手頃な価格のコントローラボードとシステム設計を提供します。 Piにこれまで欠けていたことは、統合されたワイヤレス機能でした。 Raspberry Pi AとB、およびPi2のすべては、ワイヤレスリンクを作成するために外部のWi-FiやBluetoothドングルを必要としていました。 このボードの最新バージョンであるRaspberry Pi 3は、周波数を1.2GHzまで増加した64ビットクワッドコアARM® Cortex®-A53プロセッサを追加し、以前のボードと同様の価格でWi-FiとBluetooth Smart 4.0の両方を追加します。 ボードは発売前に何ヶ月もプリプロダクションされ、Seeedなどのサプライヤから入手可能です。
これはモノのインターネット(IOT)でボードを使用するための大きな機会をもたらし、センサからのデータを配信したり、スマートフォンやインターネットに接続された端末からの制御を提供するために、ルータやゲートウェイに簡単に接続します。 クアッドコアプロセッサはまた、ローカルにデータを解析し、ローカルに広範囲な制御アルゴリズムを実行するだけでなく、より高速な応答を提供するために、より多くの処理能力を提供します。
これらのIoTアプリケーションの多くは画面を使用しないので、これらのボードは「ヘッドレス」アプローチを介して設定されています。 これは、端末またはシリアルコンソールケーブルへのEthernet接続を使用します。 この接続を行うためのソフトウェアは、ボードに差し込まれるSDカード上のRaspbianオペレーティングシステムに含まれる標準ソフトウェアイメージに含まれています。
RaspbianはDebian Linuxをベースとし、定期的にRaspberry Pi Foundationからのライブラリを使用して更新され、ボード上のNOOBSインストーラアプリケーションを介してインストールされます。 しかし、Foundationは他のオペレーティングシステムを使用することができるように、他のARM LinuxディストリビューションでSDカード上のルートパーティションを交換することを意図的に容易にしました。 これらは、接続が行われる前にボードで使用できるように、PCまたはノートパソコンからカードにダウンロードすることができます。

図1:Raspberry Pi 3ボードは、1.2GHzのクワッドコアARM Cortex-A53プロセッサと同じボードに、Wi-FiとBluetooth Smartを追加します。
Raspbianでは、ワイヤレスリンクを設定するための最初のステップは、ローカルネットワークをスキャンすることです。 これはsudoコマンドを使用して、次の形式で行われます。
: sudo iwlist wlan0 scan
これは、すべてのWi-Fiネットワークのリストだけでなく、セキュリティ接続およびその他の詳細を返します。
ボードを接続するために、選択されたWi-Fiネットワークの名前がESSID(拡張サービスセット識別子)の下に一覧表示されます。 これにはまた、WEP、WPAまたはWPA2などの、使用されている認証方法を含みます。
これは構成ファイルに必要なデータを提供します。 これは次のコマンドを使用してアクセスされます:
: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
ファイルの一番下には、ローカルネットワークに変更する必要があるWi-Fi設定があります。
network= blockで、ssid=""エントリはローカルネットワークに変更する必要があり、psk=""はWi-Fiのパスワードに変更する必要があります。
次に、構成ファイルはキーボードのCTRL+Xを押すと保存され、続いてYキーを押すと確定します。 構成ファイルは通常は数秒以内に更新され、Wi-Fiネットワークに接続しようとします。 Wi-Fiに接続しない場合は、sudo rebootで再起動が多分必要となります。 接続が成功すると、ifconfigコマンドで確認することができます:
: ifconfig wlan0
inet addrフィールドがIPアドレスを返した場合、接続は成功し、IPアドレスはリモートでボードを接続する場合に利用可能です。
Bluetooth周辺機器の接続
Raspberry Pi 3の利点の1つは、内蔵Bluetooth機能です。 これにより、IoTネットワークを構築するためにBluetooth周辺機器を簡単にボードに接続することができます。
Bluetoothデバイスを接続するための最良の方法は、Raspbianオペレーティングシステムに含まれているコマンドラインインターフェースからbluetoothctlコマンドを使用することです。
他のオペレーティングシステムでは、Bluetoothモジュールは次のコマンドを使用してインストールすることができます:
: sudo apt-get install pi-bluetooth
bluetoothctlを実行するには、次でBluetoothチップをスイッチオンする必要があります:
: power on
これは以前にボードに接続されたデバイスのリストをもたらします。 次の
: scan on
コマンドを使用して、近傍のBluetoothデバイスを見つけるためにディスカバリモードに移行します。
ボードと周辺機器のペアリングを処理するために、エージェントをオンにすることが必要です:
: agent on
周辺装置のMACアドレスはペアリングを行うために必要で、これは通常、周辺機器に印刷され、次のコマンドを使用して入力されます:
: pair MAC Address
また、Bluetoothキーボードなどの周辺機器のためのパスワードを求めるプロンプトがあるかもしれません。
周辺装置が定期的に使用される場合、次のコマンドで信頼できるデバイスのリストに追加することができます:
: trust MAC address
そして接続が次のコマンドで行われます
: connect MAC address
BeagleBoneグリーン
BeagleBoneグリーンのような他の人気のある低コストのシングルボードコンピュータは、ボードに埋め込まれたワイヤレスを持っていないので、Wi-Fi接続を提供するように構成するためにアダプタまたはドングルが必要です。 これは、使用するドングルに応じて変わります。 しかし、これらは一般的にオペレーティングシステムを介して処理され、BeagleBoneグリーンの場合は、Debian Linuxディストリビューションのバージョン3.8です。

図2:BeagleBoneグリーンボードは、ARM Cortex-A8コアを使用した1GHzのSitaraプロセッサを使用
ボード上のWi-Fi接続に伴う1つの問題は、グローブポートの接地プレーンと電源プレーンがWi-Fiアダプタが接続されるUSBポートの隣にあるということです。 これは信号を減衰し、接続不良につながります。 多くのヘッドレス組み込みアプリケーション向けには、これらのポートを必要とせず、デバイスツリーを使用してスイッチオフすることができます。 このためのコマンドはuEnv.txファイルに含まれています。
別のアプローチは、問題を回避するためにWi-Fiアダプタをボードから短い距離離れて配置することができるように、短いUSB延長ケーブルを使用することです。
ボードはまたWi-Fiアダプタのために十分な電力を持っている必要があり、これは少なくとも1Aの電流を持つ5V電源を必要とします。
いずれの場合も、最初のステップはSSHを使用してPCにボード上のUSBポートを接続することで、カーネルのアップグレードは、最新のライブラリがWi-Fiアダプタのために利用可能であることを保証します。
: cd /opt/scripts/tools/
: ./update_kernel.sh
カーネルイメージがダウンロードされ、自動的にインストールされ、次に再起動します。
ボードが起動した時に自動的にアダプタをスイッチオンするための小さなスクリプトを追加することは、すべての異なるアダプタを使用することができることを保証するのに役立ちます。 これは次のようにして処理されます
: cd ~
: ntpdate -b -s -u pool.ntp.org
: apt-get update && apt-get install git
: git clone https://github.com/adafruit/wifi-reset.git
: cd wifi-reset
: chmod +x install.sh
: ./install.sh
このスクリプトはボードの起動時に自動的にアダプタをスイッチオンし、その後iwconfigコマンドの実行で、適切な接続を指定するための/etc/network/interfacesファイルに必要な、利用可能なネットワークおよびESSIDのリストが表示されます。
ファイルの構成にはナノエディタコマンドを使用します:
: nano /etc/network/interfaces
これは、Wi-Fiのためのコメント構成ブロックを表示します:
# WiFi Example
#auto wlan0
#iface wlan0 inet dhcp
# wpa-ssid "essid"
# wpa-psk "password"
コメントを削除し、関連するネットワーク名とパスワードを使用してESSIDとパスワードを交換すると、アダプタが構成されます。 接続は、リモートでボードにアドレスするのに役立つ接続のIPアドレスを返すifup wln0コマンドを使用して、手動で試験することができます。 ボードの再起動は、アダプタをスイッチオンし、ネットワーク接続を構成するためのスクリプトをもたらします。
結論
Raspberry Pi 3ボードへのWi-FiとBluetooth Smartの追加は、簡単な設定プロセスで開発者のために、組み込みのヘッドレスアプリケーションの新しい範囲をもたらします。 これにより、ボードはPC、スマートフォンやクラウドサービスからリモートで簡単にアクセスすることができます。 しかし、他のボードのユーザーは同じレベルの能力を提供するために、ワイヤレスアダプタを使用することもできます。
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。


