LoginSignup
2
4

More than 3 years have passed since last update.

Raspberry Pi Zero W のインストール及びUSBによるSSH(シリアルコンソール)接続、Meshネットワークの構築まで(Serial console over USBをそえて)

Last updated at Posted at 2019-07-16

0. 概要

Raspberry Pi Zero Wに母艦 (windows 10)から接続するまでに思いの外、時間が掛ったので備忘録として残しておく。

1. Installation

Raspberry Pi Zero Wが焼かれたSDカードの作成までをここで行う

必要なもの

RaspberryのIMG:
https://www.raspberrypi.org/downloads/raspbian/

SDカードにIMGを焼く(DDコマンド的なもの):
https://sourceforge.net/projects/win32diskimager/

色々と試したがWin32Diskimagerが一番エラーが出ずにうまくいった。

作業

1)RaspberryのIMGファイルを公式サイトからダウンロードする

2)SDカードを母艦のマシンに指して、ドライブの番号を覚えておく

3)Win32Diskimagerを使って、ダウンロードしたRaspberryのIMGを指定、SDカードのドライブを指定してWriteを押す。

後は1時間ほど待てばSDカードが出来あがる。
基本的には、この作業のみでRaspbbery Piは立ち上げることができる。

その後、Raspberry Pi上で作業を行うにあってRaspberry PiのI/Fから作業するのは面倒なので、Raspberry Piをネットワークに接続してSSH接続をし、母艦から操作する必要がある。

なお、ネットワークも環境が変わればいつでも接続できるわけではないので、シリアルコンソールで扱いたいと考える。GPIOのシリアルをUSBに変換してくれる市販のツールもあるが、非常に面倒なのでRaspberryのUSBから直接シリアルコンソールを使えるようにしたい。

2. Setup SSH

SDカードに焼いた後、SDカードのbootパスを開き、
以下の設定を行いSSH接続およびUSB経由でシリアルコンソール接続を行う

2.1. Lunch up SSH

SSHの接続について説明する。

1) SDカードのbootパスをく
2) 空ファイルのsshを作成する

これで起動時にssh接続ができるようになる。
このファイルがない場合はConnection refuseというエラーが出る。

2.2. Network Configuration

ワイヤレス接続の設定について説明する。

1) SDカードのbootパスをく
2) wpa_supplicant.confファイルを作成する
3) 以下をファイルに書き込む

country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="SSID"
    psk="Passphrase"
}

これで起動時にネットワーク接続の設定ファイルがコピーされて、起動時に自動接続されるようになる。

2.3. SSH over USB

なお、2.2.の設定を終えたところで、インターネットに自動接続されないことが多々ある。このため、USBのインタフェースを通してRaspberry piと母艦マシンをシリアル接続したいと考える。

1) SDカードのbootパスを開く
2) config.txtを開き以下を入力する

dtoverlay=dwc2

入力個所はEnable Audioあたりに入れておくのが一般的らしい。

3) cmdline.txtファイルを開き、以下を入力する。

modules-load=dwc2,g_serial, g_ether

入力個所はrootwaitに次ぎ位に入れるのが一般的らしい

これでシリアル接続が可能になる。また、G_etherを入れることで、ネットワークインターフェースとしても使える

4) Raspberry piを起動した後に以下をシェルに入力してUSBをシリアル接続化させる。

$sudo systemctl enable getty@ttyGS0.service

3. Mesh network

おまけでメッシュネットワークを構築する。

adhoc

まず/etc/network/interfaceを開き、以下を末尾に入力する

auto wlan0
iface wlan0 inet static

address 192.168.6.2
netmask 255.255.255.0
wireless-channel 11
wireless-mode ad-hoc
wireless-essid testadhoc
wireless-key 12367890

そして、Rebootする。

ノード化

以下でノード化するアプリケーションをインストールする

$ sudo apt-get install olsrd

以下で起動
$ sudo olsrd -i wlan0 -d 1

これで、Ad-hocでOpen Shortest Path First(OSPF)的なルーティングを可能とする。
例えば2-3が接続断でも2が1を介して3に接続するなんていうことができる。

2
4
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
2
4