×

Raspberry Piをシリアルで制御しWi-Fiを設定する

2015-12-18

12月に公開したRaspberry Piのダウンロードファイルから、シリアル出力でコンソール出力が可能な設定に変更しました。
今回はPCとRaspberry Piをシリアルケーブルで接続して立ち上げを行い、Wi-Fiの設定をするまでの説明をします。

Raspberry Piはモニターやキーボードを接続してコンピューターとして使用するだけではありません。Gatewayとして使用するのであればモニターやキーボードは不要です。

今回はシリアルケーブルでPCからRaspberry Piを制御する方法と、その方法を用いてWi-Fiの設定を行う方法の紹介を行います。

 

■準備するもの

Raspberry Pi2
Wi-Fiドングル (Raspberry Pi2と接続済)
Lazurite Pi Gateway(Raspberry Pi2と接続済)
マイクロUSBケーブル 2本
Raspberry Pi用電源(1A以上)
FTDI USBシリアル変換アダプタ(5V/3.3V切り替え機能付き)
ジャンパワイヤ(オス~メス)

IMG_0301[1]

 

■接続方法

FTDI USBシリアル変換アダプタのジャンパを3.3Vにしてください。

次に、Raspberry PiとFTDI USBシリアル変換アダプタをジャンパワイヤを接続します。
Raspberry Pi側     <—–>  FTDI USBシリアル変換アダプタ
6pin    GND                                     GND
8pin    TX(送信)                             RX(受信)
10pin   RX(受信)                            TX(送信)

Raspberry Pi側

IMG_0302[1]

FTDI USBシリアル変換アダプタ側

IMG_0303[1]

FTDI USBシリアル変換とPCをマイクロUSBケーブルで接続します。

 

■PC側の設定

Raspberry Piにtera termを使用してシリアル接続します。

1)tera term をダウンロードします。

tera term ダウンロード

tera_term_download1

 

tera_term_download2

 

2) tera termを起動します。

起動すると接続方法を聞かれるので「シリアルポート」を選択してください。
tera_term_serialport3

 

3) 通信速度の設定

メニューバーの「設定」から「シリアルポート」を選択し、ボーレートを[115200]にします。
tera_term_serialport

tera_term_serialport2

 

 

■Raspberry Piの起動

Raspberry PiにUSB電源を挿し、起動するとtera termの画面に起動画面が表示されるようになりました。

console_login

ログインは通常は以下の通りで行います。

login: pi
Password: raspberry

 

■ディスク容量の拡張

SDカードにイメージファイルを書き込んでから初めてRaspberry Piを起動したときは、Raspi-configでディスクイメージを拡張してください。

・raspi-configの起動
pi@raspberrypi:~$ sudo raspi-config 
・「1 Expand Filesystem」を選択
・「finish」を選択すると「Would you like to reboot now?」と聞かれるので<はい>を選択して再起動してください。

 

■Wi-Fiの設定

1) 以下のコマンドを入力します。

pi@raspberrypi:~$ sudo wicd-curses

2) 以下の画面が出たら、使用するWi-Fiルーターを上下キー(↑↓)で選んでください。
wifi-rooter

3) 右矢印キー(→)で設定画面になりますので、[このネットワークに自動的に接続する]にチェックをつけて、Wi-Fiの[キー]を入力してください。
wifi-rooter2
※チェックはスペースキーでつけられます。

4) F10[はい]で抜けて、キーで終了します。
wifi-rooter3

5) 以下のコマンドを入力して、内部ファイルを更新します。

pi@raspberrypi:~$ sudo apt-get update
pi@raspberrypi:~$ sudo apt-get upgrade

これが正常に動作すれば、Wi-Fiの設定は成功しています。

 

■Sub-GHzの準備

1.Lazurite Sub-GHzに無線モジュールを接続し、起動します。
LazuriteSubGHz_buildup

 

2.サンプルプログラムWelcome_SubGHzの起動

1)LazuriteIDE を起動すると、ファイルを選択する画面が立ち上がるので
[Welcome_SubGHz.c] を選択し、[開く] ボタンをクリックします。
welcome_subGHz

2) 出てきたコードの中の「HOST_ADDRESS」のアドレス部分を、送信先のアドレスに変更します。(0x+下四桁)
welcome_subGHz3

myAddr
↑送信先(RaspberryPi側)の無線モジュールのアドレスになります。

3)ライブラリ内の「SPI」「Wire」にチェックが入っていることを確認して、
    [マイコンボードに転送ボタン] をクリックします。
welcome_subGHz2

4)[マイコンボードに転送ボタン] をクリックすると、1秒に1回、青色のLEDが点灯し920MHz帯の周波数で”Welcome to Lazurite Sub-GHz”というメッセージを送信します。
welcome_subGHz4

 

3.サンプルプログラム「Welcome_SubGHz」をRaspberryPiで受信

1)以下のコマンドを入力して、ドライバを有効化します。

$ sudo insmod ~/driver/sub-ghz/DRV_802154.ko

 

2)rubyのフォルダに移動し、SerialMonitorを起動します。

$ cd ruby⏎

$ sudo ./SerialMonitor.rb⏎

次のようなメッセージを受信したら成功です。CTRL+c(CTRLボタンを押しながら、cを押す)でアプリケーションを終了することができます。

※sudo は管理者権限でプログラムを実行するためにつけるコマンドです。
ドライバからデータを読み込むために管理者権限が必要になります。

※受信機の青色LEDが点灯していると受信はできている状態です。
受信機のオレンジLEDが点灯していると正常にデータを受け取りACK信号を
返している状態となります。

 青色だけ点灯している場合には、「HOST_ADDRESS」が間違っていないか
 確認してみてください。

 

3)アプリケーションの終了

Ctrl + Cを押してアプリケーションを終了します。

 

4)ドライバの無効化

 Lazurite Sub-GHzから信号を出した状態のままアプリケーションを終了して放置すると、
メモリーに受信データが保存され続けてしまい、システムが不安定になる可能性があります。

そのため、使用しない場合はドライバーを一度、uninstallしてください。

ドライバ無効化する方法 sudo rmmod DRV_802154⏎
ドライバを有効化する方法 sudo insmod ~/driver/sub-ghz/DRV_802154.ko⏎

 

 

 

■補足事項

既にお手持ちのRaspberry Piでシリアルコンソールを有効にするのは以下の手順で行えます。
1) pi@raspberrypi:~$ sudo raspi-config
2) 「8 Advanced Options」を選択
3) 「A8 Serial」を選択
4) 「 Would you like a login shell to be accessible over serial?」と聞かれるので「はい」「Yes」を選択