はじめに
以前は Raspberry Pi OS でやってみたのですが今回は Ubuntu でやってみました(Vapor が Ubuntu でしか動かないようなので。。。)。
必要なもの
今回必要なものは下記です。
- microSD カード
- Raspberry Pi 3 Model
なんとなく3買いましたが4の方がいいと思います(4の場合電源は USB-C です)。 - マイクロ USB 電源コード
- 10 K の抵抗×1
- LED×1
- オスーメスジャンバ線×2
- ブレッドボード
- SD カードリーダー(Mac だと SD 直接挿せないので)
ディスプレイで表示してラズパイを設定する場合下記も必要(ディスプレイなしでやりたかったけどむりだった。。。)
- マウス
- キーボード
- ディスプレイ
- HDMI ケーブル
購入したのは下記(他は持ってるやつ使いました)。抵抗とかはセットであったのでそれを購入しました。
ラズベリーパイ 開発ボード 無線通信実現─Raspberry Pi 3 Model B 【正規品】 新品価格 |
Samsung EVO Plus 32GB microSDHC UHS-I U1 95MB/s Full HD Nintendo Switch動作確認済 MB-MC32GA/ECO 国内正規保証品 新品価格 |
新品価格 |
新品価格 |
SD 準備
SD に必要なものを入れます。
-
SD フォーマット (FAT32) する。
下記のコマンドで disk を確認してフォーマットします。12345# 対象のdisk確認$ diskutil list# 対象のdiskをフォーマット$ diskutil eraseDisk MS-DOS RPI /dev/disk2私の環境では disk2 が SD でしたが適宣書き換えてください。しっかり確認しましょう!(他の消してしまうとめんどくさいことになります。。。)
-
Raspberry Pi Imager を Mac にインストールする。
-
Raspberry Pi Imager を起動する。
-
CHOOSE OS Ubuntu Server 20.04.1 LTS (32-bit) を選択する。
-
CHOOSE SD CARD でフォーマットした SD カードを選択する。
-
WRITE で書き込む。
SD が system-boot という名前になっているはずです。 -
SD カードを挿し直します。
-
ルートディレクトリに ssh という空ファイルを作成する。
1$ touch /Volumes/system-boot/ssh -
network-config の wifis の部分を下記のように書き換える(Wifi 設定)。
123456789101112version: 2ethernets:eth0:dhcp4: trueoptional: truewifis:wlan0:dhcp4: trueoptional: trueaccess-points:"SSID":password: "パスワード"
ラズパイ設定
ラズパイの設定をしていきます。
- ラズパイに SD を挿す。
- ラズパイにディスプレイ、マウス、キーボードを接続する。
- ラズパイに電源ケーブルを接続する。
- login で ID とパスワードを入力する(ubuntu/ubuntu)。
- パスワードを変更する。
- reboot する(初回は Wifi につながらない?)。
-
起動後下記コマンドで IP アドレスを確認する。
1$ ip a
うまく起動せずに何回か OS 入れ直しました。。。(根気よくやりましょう!)あとなぜかディスプレイサイズが合わずはみ出してました。
SSH 接続
Mac からラズパイに SSH 接続します!!
-
ターミナルで下記コマンドを実行する。
1$ ssh ubuntu@調べたIPアドレス -
下記のように出たら /.ssh/known_hosts を修正する。
12345@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$ ssh-keygen -f "/Users/ユーザー名/.ssh/known_hosts" -R "調べたIPアドレス" -
ラズパイ設定で設定したパスワードを入力し Enter。
成功すると下記のような表示になる。1ubuntu@ubuntu:~ $ -
接続できたらとりあえずパッケージをアップデートしておきます。
1234$ sudo apt update && sudo apt upgrade -y# E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. て出たらそのとおり実行しておく$ sudo dpkg --configure -a
SSH 接続を終了したい場合は下記コマンド。
1 |
$ exit |
ラズパイをシャットダウンする場合は下記コマンド(電源をいきなり切ってはいけません!)。
1 |
$ sudo shutdown -h now |
IP アドレスの固定
再起動するたびに IP アドレスが変わると困るので固定しておきます。
-
SSH 接続する。
-
下記コマンドで 99_config.yaml を作成する。
12$ sudo touch /etc/netplan/99_config.yaml$ sudo vim /etc/netplan/99_config.yaml -
i と入力し入力モードにする。
-
下記のように編集する。
1234567891011network:version: 2renderer: networkdethernets:eth0:dhcp4: falsedhcp6: falseaddresses: [固定するIP/24]gateway4: ルーターIPnameservers:addresses: [ルーターIP, 8.8.8.8, 8.8.4.4]DNS サーバーは google のやつ設定してます。
-
下記コマンドを実行する。
1$ sudo netplan apply
たぶんこれで固定されたはず。
配線
いよいよ配線していきます。
- ブレッドボードの j30 にジャンバ線1のオスを挿す。
- ブレッドボードの j26 にジャンバ線2のオスを挿す。
- 抵抗をブレッドボードの h30 と h27 に挿す。
- LED の + をブレッドボードの f27 に挿す。
- LED の - をブレッドボードの f26 に挿す。
- ジャンバ線1のメスをラズパイの GPIO2 に挿す。
- ジャンバ線2のメスをラズパイの 5V 横の GND に挿す。
これでラズパイの電源を入れると LED が光ります。
Lチカ
L をチカチカさせてみます。
- SSH 接続する。
-
下記コマンドを実行する。
1234567891011121314# gpio2作成$ echo 2 | sudo tee /sys/class/gpio/export# 入出力設定$ echo out | sudo tee /sys/class/gpio/gpio2/direction# LED点灯$ echo 1 | sudo tee /sys/class/gpio/gpio2/value# LED消灯$ echo 0 | sudo tee /sys/class/gpio/gpio2/value# gpio2削除$ echo 2 | sudo tee /sys/class/gpio/unexport
下記だと権限がないと言われたので上記のようにしました(参考))。
1 |
$ echo 2 > /sys/class/gpio/export |
おわりに
これで Ubuntu で L チカができるようになりました!
参考
- Ubuntu 20.04 LTSで固定IPアドレスの設定
- Raspberry PiでUbuntu 20.04 LTSを使う
- Raspberry Pi 4にUbuntu Serverを入れて初期設定をするまで【簡単なセキュリティを添えて】
- RaspberryPiでよく使うLinuxコマンド集
コメント
[…] 前回入れた Ubuntu 20.04.1 LTS (32bit) だとうまく Swift が入れれなかったので Ubunt 20.10 (64bit) を入れてみました(Ubuntu 20.04.1 LTS (64bit) は何回チャレンジしても Wifi につながらなかったのであきらめました。。。)。 […]