HUSKING - kotteri

技術系Note

Firebase関連の記事

Vue.js + Firebaseで作成した自作サイト

huskworks.work

で掲載してみたFirebase関連記事のリンクを載せておきます。


【ラズパイ】OS再インストール時のSSHエラーについて

ラズパイのOSを再インストールした場合に以下のようなエラーが発生した

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The ECDSA host key for raspberrypi.local has changed,
…(省略)
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
…(省略)

ホスト名(raspberrypi.local)が同じだが、以前保存した接続情報と一致していないため、発生した模様。
以下のコマンドで接続情報を消したらいけた

ssh-keygen -R raspberrypi.local

【ラズパイ】「Pi Zero W」wifiに接続する(ラズパイ初回起動後)

husk.hatenablog.com

上記だけではラズパイ本体はインターネットに接続することが出来ない
SSH接続完了後、別途wifi設定を行う

1. wifiパスフレーズを暗号化する

ラズパイのコマンド上にて以下を実行

$ sudo wpa_passphrase SSID パスフレーズ

SSIDとパスワードは接続したwifi親機のものを使用する
すると64バイトのランダム文字列がコマンド上に出力される

2. wpa_supplicant.confにwifi設定を追記する

$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

最後に以下を追記

network={
  ssid="xxxxxx"
  psk=xxxxxxxxxxxxx
}

ssidは手順1で使用したSSID
pskは手順1で生成した64バイトの文字列

3. ラズパイを再起動

$ sudo reboot

【ラズパイ】「Pi Zero W」wifiに接続する(ラズパイ初回起動前)

ラズパイの初回起動前に、WIFI接続も済ませてみる

事前にラズパイとUSB経由でSSH接続できるようにしておく
husk.hatenablog.com

※注意点
これからの作業は上記の手順5までを済ませてから行うこと
手順6以降でラズパイに接続してしまうと出来ないかも

1. MACにてターミナルを起動して、SDカードのルートディレクトリへ移動

$ cd /Volumes/boot/

2. wpa_supplicant.confというファイルを作成する

$ touch wpa_supplicant.conf

3. wifiのパスワードを暗号化する
以下のサイトでSSIDとパスワードを入力し、暗号化したパスワードを取得する
WPA key calculation: From passphrase to hex

4. 先ほど作成したファイルを編集する

$ vim /Volumes/boot/wpa_supplicant.conf

最後に以下を追加

network={
  ssid="xxxxxx"
  psk=xxxxxxxxxxxxx
}


ラズパイの標準のVIコマンドは使いづらい為、ラズパイ起動後、ラズパイ側でwifi設定するよりもこちらで事前にやっておいたほうが楽かも

【ラズパイ】「Pi Zero W」をUSB接続だけで動作させる

事前にPC <=> ラズパイ間をUSB一本で接続できるようにし、別途電源やキーボード等を用意しなくていいようにする

1. OSの準備まで済ませる

husk.hatenablog.com

※注意点
SDカードをラズパイに挿して、起動をしていないこと!!

2. MACターミナルを開いてSDカードのルートディレクトリへ移動

$ cd /Volumes/boot/

3. sshという空のファイルを作成

$ touch ssh

このファイルがあることでラズパイ起動時にSSH接続を有効化してくれるらしい

4. 同じルートディレクトリにある「config.txt」を編集する

$ vim config.txt

ファイルの一番最後に以下を追記

dtoverlay=dwc2

5. 続いて、同じルートディレクトリにある「cmdline.txt」を編集する

$ vim codlin.txt

「modules-load=dwc2,g_ether」を”rootwait”と”quiet”の間に追記
以下、修正後(参考)

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether quiet init=/usr/lib/raspi-config/init_resize.sh

6. ラズパイ起動

SDカードをアンマウントして、MACから取り外す
MACとラズパイをUSBケーブルで接続する
Raspberry Pi Zero WのUSBポートは内側を使用すること

MACの「システム環境設定」>「ネットワーク」に"RNDIS/Ethernet Gadget"が表示され、少し待つと自動で接続される
lpv4の設定:DHCPサーバを使用

7. ラズパイへSSH接続してみる

$ ssh pi@raspberrypi.local

「yes/no」を聞かれたらyes
パスワードを聞かれたら初期パスワードの「raspberry」と入力

ここまで正しく出来ていれば接続できるはず


ちなみにこれは MAC <=> ラズパイ間の接続ができるようになっただけで、ラズパイをWifiに接続する場合には別途設定が必要
<参考>
【ラズパイ】「Pi Zero W」wifiに接続する(ラズパイ初回起動前) - My life is a normal life
【ラズパイ】「Pi Zero W」wifiに接続する(ラズパイ初回起動後) - My life is a normal life


【ラズパイ】OSのインストール(MACの場合)

1. 公式よりOSイメージをダウンロード

RASPBIAN STRETCH LITEの[Download ZIP]

www.raspberrypi.org

ミラーサイトからもダウンロードできる(こっちの方が速いかも)
Index of /pub/raspberrypi/raspbian_lite/images

2. SDカードに書き込み

  • カードリーダ経由でSDカードをMACに接続
  • ターミナルを開いて先ほどダウンロードしたOSイメージファイルがあるディレクトリへ移動
$ cd /Users/{ユーザ名}/Downloads/
  • 解凍
$ unzip 2017-09-07-raspbian-stretch-lite.zip

解凍が終わると「2017-09-07-raspbian-stretch-lite.img」のような名前のファイルが出来ている

  • SDカードのマウント先を確認
$ diskutil list

↓結果例

/dev/disk3 (external, physical):
   #:     TYPE NAME                    SIZE        IDENTIFIER
   0:     FDisk_partition_scheme       *7.9 GB     disk3
   1:     Windows_FAT_32 NO NAME        1.5 GB     disk3s1
  • SDカードをフォーマット

MACに標準で入ってる「ディスクユーティリティ」を開く
外部のトップ階層を選択し、[消去]をクリック
・名前:PZW(任意。但し大文字じゃないとダメかも)
・フォーマット:MS-DOS[FAT]
・方式:マスター・ブート・レコード

  • フォーマットされたかの確認
$ df -h

↓結果例

/dev/disk3s1   7.4Gi  832Ki  7.4Gi     1%       0          0  100%   /Volumes/PZW
  • SDカードのアンマウント(何故必要なのかわかりません・・・)
$ sudo diskutil unmount /dev/disk3

再度「df -h」を行い、「/dev/disk3s1」が消えていることを確認

  • SDカードへの書き込み
$ sudo dd bs=1m if=2017-09-07-raspbian-stretch-lite.img of=/dev/disk3

↓結果例

1768+1 records in
1768+1 records out
1854590976 bytes transferred in 209.047253 secs (8871635 bytes/sec)

ここまでが正しく出来ているとMAC上にbootというディスクがマウントされている

この段階でラズパイにこのSDカードを差し込めば起動する