konchangakita

KPSを一番楽しんでいたブログ 会社の看板を背負いません 転載はご自由にどうぞ

ラズパイ4 GPIO覚え書き

ラズパイ4は赤いやつにしました

ラズパイ温度計を新しく 3b+ から 4b に乗り換えた時に、少々癖が変わって(?)いたのでメモ

組み立て編

MarStudy Raspberry Pi 4 スターターkitAmazonで購入

なんとなく赤いのに惹かれたのです
f:id:konchangakita:20200705165533p:plain

CPUがFANがついてました
f:id:konchangakita:20200705165925p:plain

4番(5V)と6番(GND)にCPUファンを接続
f:id:konchangakita:20200705170037p:plain


ラズパイのOSのインストールは、新しく公式で imager というイメージ書き込みツールがリリースされていました
Raspberry Pi Downloads - Software for the Raspberry Pi
f:id:konchangakita:20200705172646p:plain
このツールを通して、OSをダウンロードして書き込みもしてくれますし、別途ダウンロードしておいて zipファイルを書き込みも出来ます

バージョン確認
$ cat /proc/device-tree/model 
Raspberry Pi 4 Model B Rev 1.2

$ uname -a
Linux raspberrypi 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l GNU/Linux

===
Raspberry Pi 4 Model B
Raspbian kernel 4.19
===


GPIOの初期設定

ラズパイ 3b+ では、Raspbian をインストールした直後に gpioコマンドが使えたのですが、ダメでした

$ gpio readall
Oops – unable to determine board type… model: 17

GPIO のバージョンを新しくしないといけないようなので、本家サイト(?)参考に更新してみます
(参考URL)
http://wiringpi.com/wiringpi-updated-to-2-52-for-the-raspberry-pi-4b/


管理ユーザーになり、インストールファイルをダウンロードしつつ、一気にインストールします

$ sudo wget https://project-downloads.drogon.net/wiringpi-latest.deb
$ sudo dpkg -i wiringpi-latest.deb

実行結果

raspberrypi:~$sudo  wget https://project-downloads.drogon.net/wiringpi-latest.deb
--2020-06-22 14:30:49--  https://project-downloads.drogon.net/wiringpi-latest.deb
project-downloads.drogon.net (project-downloads.drogon.net) をDNSに問いあわせています... 188.246.205.22
project-downloads.drogon.net (project-downloads.drogon.net)|188.246.205.22|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 52260 (51K) [application/x-debian-package]
`wiringpi-latest.deb' に保存中

wiringpi-latest.deb                       100%[====================================================================================>]  51.04K   106KB/s 時間 0.5s     

2020-06-22 14:30:51 (106 KB/s) - `wiringpi-latest.deb' へ保存完了 [52260/52260]

raspberrypi:~$ dpkg -i wiringpi-latest.deb
(データベースを読み込んでいます ... 現在 157545 個のファイルとディレクトリがインストールされています。)
wiringpi-latest.deb を展開する準備をしています ...
wiringpi (2.52) で (2.50 に) 上書き展開しています ...
wiringpi (2.52) を設定しています ...
man-db (2.8.5-2) のトリガを処理しています ...


これで GPIO系のコマンドが使えるようになりました
(ここ以外はPythonの温度計プログラムも問題なく)

pi@raspberrypi:~ $ gpio readall
 +-----+-----+---------+------+---+---Pi 4B--+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   2 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5v      |     |     |
 |   3 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 0 | IN   | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 1 | IN   | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 |   IN | 0 | 11 || 12 | 0 | IN   | GPIO. 1 | 1   | 18  |
 |  27 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
 |   0 |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  | 1   |
 |   5 |  21 | GPIO.21 |   IN | 1 | 29 || 30 |   |      | 0v      |     |     |
 |   6 |  22 | GPIO.22 |   IN | 1 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
 |  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
 |  19 |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
 |  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | IN   | GPIO.28 | 28  | 20  |
 |     |     |      0v |      |   | 39 || 40 | 0 | IN   | GPIO.29 | 29  | 21  |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+---Pi 4B--+---+------+---------+-----+-----+

f:id:konchangakita:20200622143440p:plain


ディスプレイ設定

GPIOの設定かどこかの設定をいじった後、リブートするとディスプレイが真っ暗なままで、起動してくる症状に遭遇しました
SSHとかはできるので、起動はしているようなのですが。。。
このままではVNCで接続なんかもできないので、完全に画面出力をやめてしまったようです
困ります

このあたりを参考に
Video options in config.txt - Raspberry Pi Documentation

$ sudo vi /boot/config.txtで下記をいじってみたらなんとか映るように
コメントアウトされていたのを外しました

hdmi_safe=1

hdmi_group=1
hdmi_mode=1