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切り替え機能付き)
ジャンパワイヤ(オス~メス)
■接続方法
FTDI USBシリアル変換アダプタのジャンパを3.3Vにしてください。
次に、Raspberry PiとFTDI USBシリアル変換アダプタをジャンパワイヤを接続します。
Raspberry Pi側 <—–> FTDI USBシリアル変換アダプタ
6pin GND GND
8pin TX(送信) RX(受信)
10pin RX(受信) TX(送信)
Raspberry Pi側
FTDI USBシリアル変換アダプタ側
FTDI USBシリアル変換とPCをマイクロUSBケーブルで接続します。
■PC側の設定
Raspberry Piにtera termを使用してシリアル接続します。
1)tera term をダウンロードします。
2) tera termを起動します。
起動すると接続方法を聞かれるので「シリアルポート」を選択してください。
3) 通信速度の設定
メニューバーの「設定」から「シリアルポート」を選択し、ボーレートを[115200]にします。
■Raspberry Piの起動
Raspberry PiにUSB電源を挿し、起動するとtera termの画面に起動画面が表示されるようになりました。
ログインは通常は以下の通りで行います。
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ルーターを上下キー(↑↓)で選んでください。
3) 右矢印キー(→)で設定画面になりますので、[このネットワークに自動的に接続する]にチェックをつけて、Wi-Fiの[キー]を入力してください。
※チェックはスペースキーでつけられます。
5) 以下のコマンドを入力して、内部ファイルを更新します。
pi@raspberrypi:~$ sudo apt-get update
pi@raspberrypi:~$ sudo apt-get upgrade
これが正常に動作すれば、Wi-Fiの設定は成功しています。
■Sub-GHzの準備
1.Lazurite Sub-GHzに無線モジュールを接続し、起動します。
2.サンプルプログラムWelcome_SubGHzの起動
1)LazuriteIDE を起動すると、ファイルを選択する画面が立ち上がるので
[Welcome_SubGHz.c] を選択し、[開く] ボタンをクリックします。
2) 出てきたコードの中の「HOST_ADDRESS」のアドレス部分を、送信先のアドレスに変更します。(0x+下四桁)
↑送信先(RaspberryPi側)の無線モジュールのアドレスになります。
3)ライブラリ内の「SPI」「Wire」にチェックが入っていることを確認して、
[マイコンボードに転送ボタン] をクリックします。
4)[マイコンボードに転送ボタン] をクリックすると、1秒に1回、青色のLEDが点灯し920MHz帯の周波数で”Welcome to Lazurite Sub-GHz”というメッセージを送信します。
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」を選択