My life is a normal life

だから何かしてみようと...

Firebase関連の記事

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

huskworks.work

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


Firebaseを試してみる

Firebaseを試してみたかったので、vue.js + Firebaseで自作ブログを作成してみました。

huskworks.work


作成して分かったこと、躓いたことなどはせっかくなので自作ブログに書いていこうかと思います。


このブログと自作ブログの使い分けは・・・考え中。

【ラズパイ】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カードを差し込めば起動する