0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RaspberryPiで遊んでみる #1(環境作り)

Last updated at Posted at 2019-12-29

嫁から少し古めのラズパイを貰いました。興味はあったのですが一度も触ったことがなかったので、年末年始休みの機会にちょっと遊んでみようと思います。

1. 必要なものを用意します。

  • Raspberry Pi 2 ModelB (「2」とか「モデル」とかなにがあるのかさえよく知りません…)
  • 手持ちのPC(Mac)
  • ラズパイに刺さってた32GBのMicroSD(つまり元々嫁が使っていたやつ)
  • MicroSDをMacに接続できるようななにか

RaspberryPi用のOSをダウンロード

まずはOSをMicroSDに焼く必要があるみたいです。
公式サイトを見てみると、OSはNOOBS,Raspbianの2種類があるようです。
スクリーンショット 2019-12-28 19.32.39.png
NOOBSは色々なOSがインストール時に選べるようなのですが、よくわからないので、シンプルそうなRaspbianを使うことにします。

またRaspbianにも三種類ありました。withDesktopとかはGUIなのかな?とりあえずCLIが動けばよいので、シンプルで軽いLiteというやつをダウンロードすることにしました。
スクリーンショット 2019-12-28 19.34.00.png
ダウンロードしたファイルは2019-09-26-raspbian-buster-lite.zipという名前で、約450MB、解凍すると2019-09-26-raspbian-buster-lite.imgという1ファイルだけでした。容量は約2.25GBでした。

MicroSDのフォーマット(初期化)

MicroSDには嫁が使ってたOSが入っているはずですが、導入を最初からやってみたいのでMicroSDをフォーマットしちゃいます。
フォーマットはGUIでもディスクユーティリティで「消去」→「フォーマット(MS-DOS)」で初期化できますが、慣れ親しんだCLIでやっちゃいます。

ディスクの確認

MicroSDをMacに接続した状態でdiskutil listを実行すると、私のMacではMicroSDが/dev/disk6にマウントされていることが確認できました。

macOS
$ diskutil list
# ※略disk1〜disk5は関係ないので省略
/dev/disk6 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *32.0 GB    disk6
   1:             Windows_FAT_32 boot                    45.0 MB    disk6s1
   2:                      Linux                         32.0 GB    disk6s2

ディスクのフォーマット

確認が済んだので、次は本番のフォーマットです。上記で確認した/dev/disk6 に対してフォーマットを行います。
ディスクのフォーマットはdiskutil eraseDiskコマンドです。フォーマット形式ディスクの名前フォーマット対象ディスクの順に指定します。

macOS
$ diskutil eraseDisk MS-DOS RPI disk6
Started erase on disk6
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk6s2 as MS-DOS (FAT) with name RPI
512 bytes per physical sector
/dev/rdisk6s2: 62077280 sectors in 1939915 FAT32 clusters (16384 bytes/cluster)
bps=512 spc=32 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=411648 drv=0x80 bsec=62107648 bspf=15156 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk6

これでフォーマット完了です。

RaspberryPiのOSをMicroSDに書き込む

これまたCLIでやってしまいます。GUIでもできるのかも知れませんが、残念ながらやり方知りません…

MicroSDのアンマウント

imgファイルを書き込むにはddコマンドを使用しますが、マウントされていると出来ないので一旦アンマウントします。

macOS
$ diskutil unMountDisk /dev/disk6
Unmount of all volumes on disk6 was successful

MicroSDへ書き込む

disk6じゃなくてrdisk6って指定すると書き込み速度が早くなります。なんでかは知らないです。

macOS
$ sudo dd if=/Users/tomohiro.b.sasaki/Downloads/2019-09-26-raspbian-buster-lite.img of=/dev/rdisk6 bs=1m
2144+0 records in
2144+0 records out
2248146944 bytes transferred in 51.164256 secs (43939795 bytes/sec)

完成!
※まだMicroSDはMacに接続したままにしてください。

SSHログインができるように設定する

ラズパイは、初期設定だとsshログインが許可されていないようです。sshログインできるようにするには、microSDのルートであるbootにsshという名前の空ファイルを作ればよいようです。

macOS
$ touch /Volumes/boot/ssh

wifiの設定をしてみる

ラスパイと無線で通信するために、ラズパイにWi-Fiの設定を書き込みます。
Wi-FiのSSID(ネットワーク名)がhogehoge、パスワードがfugafugaのとき、下記のようなファイルを作成しMicroSDのルートディレクトリbootに配置します。

macOS
$ vim /Volumes/boot/wpa_supplicant.conf
wpa_supplicant.conf
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="hogehoge"
    psk="fugafuga"
}

※ こうやればできるらしいのですが、僕のラズパイは無線機能が無さそうです…。なので家に転がってたBuffaloの無線子機を接続することで無線化しました。

RaspberryPiとMacを物理的に繋ぐ

RaspberryPiのOSを書き込んだMicroSDをMacから引っこ抜いて、RaspberryPi本体にぶっ刺します。あとはなんとかしてLANケーブルでRaspberryPi本体とMacを接続して電源を入れます。

Macからラズパイにsshでアクセスしてみる

ラズパイにsshでログインするために必要な情報は、初期では以下のようになっているようです。

項目
ホスト名 raspberrypi.local
ユーザー名 pi
パスワード raspberry

ということでさっそくログインしてみます。

macOS
ssh pi@raspberrypi.local
pi@raspberrypi.local's password:

パスワードを聞かれるので、初期パスワードであるraspberryと入力してreturnキーを押すと
すると下記のように表示され、ラズパイに接続されたことが確認できました。

Raspbian

Linux raspberrypi 4.19.75-v7+ #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Sep 26 01:25:13 2019 from fe80::2b:e4a3:d9a7:df66%eth0

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.

pi@raspberrypi:~ $

ちょっと調べて見る

rootになれる

初期ユーザーのpiでrootになれました。

Raspbian
pi@raspberrypi:~ $ sudo su -

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.

root@raspberrypi:~#

ipを調べる

普通にip addrでいけます。まあdebianですからね。

pi@raspberrypi:~ $ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:e4:b4:9f brd ff:ff:ff:ff:ff:ff
    inet 169.254.60.194/16 brd 169.254.255.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::7609:ae7c:ea60:d924/64 scope link
       valid_lft forever preferred_lft forever

debianのバージョンを調べる

Raspbian
cat /etc/debian_version
10.1

pythonのバージョンを調べる

Raspbian
pi@raspberrypi:~ $ python --version
Python 2.7.16
pi@raspberrypi:~ $ python3 --version
Python 3.7.3

ちゃんと3系もはいっているようです。

細かめの設定をする

パッケージ類のアップデート

なにはともあれ、はいっているものをアップデートします。

Raspbian
$ sudo apt-get update
$ sudo apt-get upgrade

timezoneの変更

ラズパイ専用のコマンドでもできるようなのですが、今後の設定自動化を考えて非対話式のやり方で実施します。

まずは今のtimezoneを確認

Raspbian
$ sudo timedatectl
               Local time: Sun 2019-12-29 05:01:04 GMT
           Universal time: Sun 2019-12-29 05:01:04 UTC
                 RTC time: n/a
                Time zone: Europe/London (GMT, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

timezoneのAsia/Tokyoをセット

Raspbian
$ sudo timedatectl set-timezone Asia/Tokyo

timezoneの再確認

Raspbian
$ sudo timedatectl
               Local time: Sun 2019-12-29 14:16:34 JST
           Universal time: Sun 2019-12-29 05:16:34 UTC
                 RTC time: n/a
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

pipのインストール

Raspbian
# インストール
$ sudo apt-get install python3-pip

# 最新化
$ sudo pip3 install --upgrade pip

# バージョン確認
$ sudo pip3 install --upgrade pip

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?