Raspberry Pi覚書。
シングルボードコンピューター「Raspberry Pi」の専用OS「Raspbian」の覚書。バージョンは4.14 (Stretch) を使用。
ここではあえてWindowsXPを使って導入してみる。
MODEL | CPU | GPU | RAM | USB | wifi | Bluetooth | Idling | |||
---|---|---|---|---|---|---|---|---|---|---|
B | 1B | ARMv6 (armel) | 1core | 700MHz | 250MHz | 256M/512M | 2.0 | - | - | 360mA |
2B | ARMv7 (armhf) | 4core | 900MHz | 400MHz | 1G | 2.0 | - | - | 230mA | |
3B | ARMv8 (arm64) | 4core | 1.2GHz | 400MHz | 1G | 2.0 | 2.4G | 4.1 | 230mA | |
3B+ | 4core | 1.4GHz | 400MHz | 1G | 2.0 | 2.4G/5G | 4.2 | 400mA | ||
4B | 4core | 1.5GHz | 500MHz | 1G/2G/4G | 2.0/3.0 | 2.4G/5G | 5.0 | 575mA | ||
A | 1A | ARMv6 (armel) | 1core | 700MHz | 250MHz | 256M/512M | 2.0 | - | - | 140mA |
3A+ | ARMv8 (arm64) | 4core | 1.4GHz | 400MHz | 512M | 2.0 | 2.4G/5G | 4.2 | 240mA | |
Z | ZeroW | ARMv6 (armel) | 1core | 1GHz | 250MHz | 512M | 2.0 | 2.4G | 4.1 | 120mA |
事前準備
- WindowsPC上で、microSDカードを「FAT32」でフォーマットする
- microSDの容量が32GByte未満の場合は、何も考えずにフォーマットでOK
- microSDの容量が32GByte以上で、ラズパイ用に使用したことがない場合
- SD card Formatter 4.0を起動
- ボリューム名がそのままホスト名になるので、「RaspberryPi」とかにしておくと良い
- オプション設定 → 消去方法を「イレースフォーマット」、論理サイズ調整を「ON」 → フォーマット
- microSDの容量が32GByte以上で、ラズパイ用に使用したことがある場合
- Windows10(^^;の管理ツールで全パーティションを削除
- FAT 32 Formatterでフォーマット※リンク先の画像をクリックでDL
- Raspbianを入手し、解凍する
- microSDにイメージを焼く
- Win32 Disk Imager v0.9を起動※XPはこれしか動かない
- Image FileへRaspbianのimgファイルをドラッグ&ドロップ、DeviceはmicroSDカードを挿したドライブを選択 → Write
- RaspiにmicroSDを挿して電源投入
初期設定
とりあえず初期設定にはマウスとキーボードが必須。マウスは有線のものを。ないとBluetoothマウスのペアリングが出来ないのでw
キーボードはBluetoothでも可だが、すぐにスリープモードになったり何かと不便なので、個人的には有線をオススメする。
- USBポートに有線マウスを接続
- キーボードがBluetoothの場合は、タスクバーのBluetoothアイコンをクリックし、「Add Device」でBluetoothキーボードを追加
- 「Welcome」ウィンドウにて、適宜、初期設定を施す
- リブート…
- ネットワーク共有の設定
- Sambaのインストール
$ sudo apt install samba
- smb.confを編集
$ sudo nano /etc/samba/smb.conf
- smb.confの赤字部分を "MSHOME" に書き換え
#====================== Global Settings ======================
[global]
## Browsing/Identification ###
# Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = WORKGROUP - ~中略して、smb.confの最下行に下の6行を追加。
# My Settings
[SharedDocs]
comment = Raspbian Shared Folder
path = "/home/pi/Public"
writable = yes
guest ok = yes
create mask = 0644
directory mask = 0755
force user = pi
- smb.confの赤字部分を "MSHOME" に書き換え
- Sambaのインストール
- 電源ランプの挙動変更※RaspiZeroは除く
-
$ sudo nano /boot/config.txt
- config.txtの最下行?に下の2行を追加
# Blink power led
dtparam=pwr_led_trigger=heartbeat
- config.txtの最下行?に下の2行を追加
-
- USB OTGに対応させる
-
$ sudo nano /boot/cmdline.txt
- cmdline.txtの該当箇所に黄色字部分を追加
rootwait modules-load=dwc2,g_ether quiet
- それでもUSB機器が認識されないときは、USBを強制的にLow Speedにする?
dwc_otg.speed=1
- それでもUSB機器が認識されないときは、USBを強制的にLow Speedにする?
- cmdline.txtの該当箇所に黄色字部分を追加
-
$ sudo nano /boot/config.txt
- config.txtの最下行?に下の1行を追加
dtoverlay=dwc2
- config.txtの最下行?に下の1行を追加
-
- 壁紙の追加
$ cd /usr/share/rpd-wallpaper
$ sudo cp 草原.bmp .※XPの壁紙であるw
$ sudo chmod 644 草原.bmp - デスクトップアイコンのサイズ変更
- 「ファイルマネージャ」を起動
- 「編集(E)」 → 「設定(N)」 → 「ディスプレイ(D)」 → 「大きなアイコンのサイズ(B)」
「Claws Mail」でGmailを送受信
Basic | Protocol: IMAP | Auto-configure |
---|---|---|
Server for receiving | imap.gmail.com | |
SMTP server (send) | smtp.gmail.com | |
SSL/TLS | IMAP | 🔘Use SSL/TLS |
Send (SMTP) | 🔘Use STARTTLS command to start encrypted session | |
Advanced | SMTP port | ☑587 |
IMAP port | ☑993 |
3.5mmヘッドホンジャックで音を聞く
- タスクバーのスピーカーアイコンを右クリック
- チェックを「Hdmi」から「Analogue」に変更
その後は
- ソフトウェアのアップデート
$ sudo apt update # リポジトリ一覧を更新
$ sudo apt upgrade -y # パッケージ構成を変えない範囲でアップグレード
$ sudo apt full-upgrade# パッケージ構成の変更に追随してアップグレード
$ sudo apt autoremove # 更新に伴い必要なくなったパッケージを削除
$ sudo apt autoclean # キャッシュされているが、インストールはされていないdebファイルを削除
$ sudo reboot- あるいは?
$ sudo rpi-update
- あるいは?
- エラーの出たアップデートをやり直す
$ sudo apt --fix-broken install
- 接続デバイスの一覧表示
$ lsblk
- SDカードのフォーマット等
$ sudo apt install gparted
$ gparted
wi-fi設定をUIを使わず直接書き換え
$ sudo nano /etc/wpa_supplicate/wpa_supplicant.conf
コマンドラインからbluetooth操作
$ bluetoothctl
# paired-devicesペアリング済デバイスを表示
# scan onスキャン開始
# pair <MACアドレス>ペアリング
# connect <MACアドレス>接続
# remove <MACアドレス>ペアリング解除
# exitBluetoothコントロール終了
CPU温度
$ vcgencmd measure_temp
電圧
$ vcgencmd measure_volts
ラズパイのUSBにSDカードをマウントする
- SDカードが認識されているか確認
$ sudo fdisk -l
- mmcblk0は起動用のSDカード
- mmcblkp1, mmcblkp2…はパーティションを表す
- USBに挿したSDカードがちゃんと認識されていれば、sda1, sda2…と表示されるはず
- SDカードのマウント先を作成
$ sudo mkdir /media/tmp
- USBに挿したSDカードをマウント
$ mount /dev/sda1 /media/tmp
/etc/rc.localの記述を間違えてラズパイが起動しなくなった場合の対処法
シングルユーザモードで起動する。
- ラズパイのmicroSDをWin10に挿す
- cmdline.txtを編集する
init=/bin/sh※行末ではなく「行頭」に追記し、半角スペースで空ける!
- microSDをラズパイに戻して起動
- 書き込み不可でマウントされているmicroSDを再マウントする
$ umount /
$ mount -o remount,rw /dev/mmcblk0p2 / - 誤った/etc/rc.localを修正する
- 再びmicroSDをWin10に挿し、cmdline.txtを元に戻す
ラズパイでZoom
ラズパイにはマイクがないので、USBオーディオアダプタを購入した。
- USB端子にUSBオーディオアダプタ(CTIA規格)を挿入
- 余談だが、使用した古いXperiaのヘッドセットはOMTP規格なので、CTIA規格のアダプタで使うには変換アダプタが必要
- $ lsusb
- 一覧に「~Audio Controller」等があればOK
- $ aplay -l
- 一覧に「USB Audio」等があればOK
- $ cat /proc/asound/modules、でUSBオーディオの優先順位を確認
0 snd_bcm2835
1 snd_usb_audio←これ - $ sudo nano /etc/modprobe.d/alsa-base.conf、で設定ファイルを新規作成する
options snd slots=snd_usb_audio,snd_bcm2835
options snd_usb_audio index=0
options snd_bcm2835 index=1 - $ sudo reboot
- $ cat /proc/asound/modules
0 snd_usb_audio←優先順位があがった
1 snd_bcm2835 - マイクから録音してみる
- $ arecord -f S16_LE -r 44100 aaa.wavCTRL+Cで終了
- 再生してみる
- $ aplay aaa.wav
- ChromiumからZoomを起動
Kuman製3.5インチLCDの解像度変更
- ドライバを入手
- ファイル構成
~/LCD-show/
┣boot/
┃┣config-5.txt※以下5ファイルがconfig.txtに差し替わる
┃┣config-5.txt-90
┃┣config-5.txt-180
┃┣config-5.txt-270
┃┣config-normal.txt
┃┗mark
┣etc/
┃┣X11/xorg.conf.d/
┃┃┣99-calibration.conf-5-90
┃┃┣99-calibration.conf-5-180
┃┃┣99-calibration.conf-5-270
┃┃┗99-calibration.conf-35H
┃┗rc.local
┣rpi-fbcp/※フォルダごと
┣usr/share/X11/xorg.conf.d/
┃┣45-evdev.conf
┃┗99-fbturbo.conf-HDMI
┣cmdline.txt
┣dtc.sh
┣inittab
┣LCD-hdmi
┣LCD35-HDMI-800x480-show※「LCD-show」にリネーム
┗xinput-calibrator_0.7.5-1_armhf.deb - パーミッション変更
$ cd ~/LCD-show
$ chmod 755 LCD* - コマンド
- 表示をLCDに切り替え※config.txtが書き換えられてしまうので、バックアップしておくこと
$ cd ~/LCD-show
$ sudo ./LCD-show 180 - 表示をHDMIに戻す
$ cd ~/LCD-show
$ sudo ./LCD-hdmi
- 表示をLCDに切り替え※config.txtが書き換えられてしまうので、バックアップしておくこと
- タッチパネルのキャリブレーション
- LCDを有効化後、ソフトウェアのアップデート → リブート
- 設定 → 「Calibrate Touchscreen」
- 画面の4隅のマークをタッチ
- LXTerminalに表示された「X座標の小さい値と大きい値」、「Y座標の小さい値と大きい値」を覚えておき…
- calibration.confを編集
$ sudo nano ~/LCD-show/etc/X11/xorg.conf.d/99-calibration.conf-5-180
- 該当箇所に、LXTerminalに表示された数値を入れていく※5インチLCDを使う場合の書き換え箇所は、元ファイルの参照でOK
Option "Calibration" "X小 X大 Y小 Y大"
Option "SwapAxes" "1" - 画面0°回転 (99-calibration.conf-35H)
Option "Calibration" "X大 X小 Y大 Y小"
Option "SwapAxes" "1" - 画面90°回転 (99-calibration.conf-90)
Option "Calibration" "X小 X大 Y小 Y大"
Option "SwapAxes" "0" - 画面270°回転 (99-calibration.conf-270)
Option "Calibration" "X小 X大 Y大 Y小"
Option "SwapAxes" "0"
- 該当箇所に、LXTerminalに表示された数値を入れていく※5インチLCDを使う場合の書き換え箇所は、元ファイルの参照でOK
- 再び同じLCD切り替えコマンドを入力
- Chromiumをタッチ操作でスクロール出来るようにする
- タッチスクリーンのidを取得する
$ xinput list
- 赤字部分がidなのでメモ
| ↳ ADS7846 Touchscreen id=6 [slave pointer (2)]
- 赤字部分がidなのでメモ
- スタートメニュー → 「インターネット」 → 「Chromium ウェブ・ブラウザ」 → 長押し → 「プロパティ」
- 「デスクトップエントリ(D)」
- 「コマンド(M):」に黄色字を追加
chromium-brouser --touch-devices=6 %U
- 「OK(O)」
- タッチスクリーンのidを取得する
X68000ラズパイケース覚書
X68000ラズパイケースのPOWERランプとHD BUSYランプを点灯させる。
- /etc/rc.localを編集する※本体赤LEDを消灯
fi
# X68k leds
echo none | sudo tee /sys/class/leds/led1/trigger
echo 0 | sudo tee /sys/class/leds/led1/brightness
exit 0 - /boot/config.txtの最下行に下の3行を追加する
# X68k leds
dtoverlay=pi3-act-led,gpio=18※本体緑LEDを外付けに
enable_uart=1※GPIO14に通電
Bluetooth+UARTを両立したい場合は裏技が必要だが、UARTは電源ランプとしてしか使わないのでこのままでOK。
LED基板側PIN | GPIO | 本体側PIN |
---|---|---|
HDBUSY | GPIO18 | 12(2列目6番目) |
POWERON | GPIO14(TXD0) | 8(2列目4番目) |
POWEROFF | 3.3V | 1(1列目1番目) |
GND | GND | 6(2列目3番目) |
Helmetsテーブル筐体ケース覚書
board | GPIO | Pin No. | ||
---|---|---|---|---|
Class-D AMP | Vin | 5V | 4 | |
GND | GND | 6 | ||
DIN | 21 | 40 | ||
BCLK | 18 | 12 | ||
LRC | 19 | 35 | ||
1.3inch LCD Module | VCC | 3.3V | 17 | |
GND | GND | 20 | ||
DIN | 10 | 19 | ||
CLK | 11 | 23 | ||
CS | ||||
DC | 25 | 22 | ||
RST | 27 | 13 | ||
BL | 24 | 18 | ||
1.3inch LCD HAT | LCD | GND | GND | ? |
VCC | 3.3V | 17 | ||
SCLK | 11 | 23 | ||
MOSI | 10 | 19 | ||
DC | 25 | 22 | ||
CS | 8 | 24 | ||
RST | 27 | 13 | ||
BL | 24 | 18 | ||
Stick | ↑ | 6 | N/A | |
↓ | 19 | N/A | ||
← | 5 | N/A | ||
→ | 26 | N/A | ||
Thumb | 13 | N/A | ||
Button | KEY1 | 21 | N/A | |
KEY2 | 20 | N/A | ||
KEY3 | 16 | N/A |
参考→240x240, 1.3inch IPS LCD display HAT for Raspberry Pi、Adafruit MAX98357 I2S Class-D Mono Amp
- 1.3inch LCD HAT or Waveshare 1.3inch LCD Moduleの設定
- SPIを有効にする
$ raspi-config
- Interface Options → SPI → Yes
-
$ git clone https://github.com/juj/fbcp-ili9341.git
$ cd fbcp-ili9341
$ mkdir build
$ cd build - RPiZ + 1.3inch LCD HAT用の引数を付けてビルドする※6とあるのがRPiZ用のクロック
$ cmake -DSTATISTICS=0 -DDISPLAY_BREAK_ASPECT_RATIO_WHEN_SCALING=ON -DSPI_BUS_CLOCK_DIVISOR=6 -DWAVESHARE_ST7789VW_HAT=ON ..
- おまけ:RPi + 1.44inch LCD HATの場合※40とあるのがRPi用のクロック
$ cmake -DSTATISTICS=0 -DDISPLAY_BREAK_ASPECT_RATIO_WHEN_SCALING=ON -DSPI_BUS_CLOCK_DIVISOR=40 -DWAVESHARE_ST7735S_HAT=ON ..
- おまけ:RPi + 1.44inch LCD HATの場合※40とあるのがRPi用のクロック
-
$ make -j
$ sudo install fbcp-ili9341 /usr/local/bin/fbcp-ili9341 - /etc/rc.localを編集する
fi
fbcp-ili9341 &
exit 0 - /boot/config.txtを編集する
hdmi_group=2※HDMIアウトプットグループをDMTに
hdmi_force_hotplug=1※HDMIモニタが検出されなくてもHDMIで出力 - Waveshare 1.3inch LCD Moduleを使用し、画面を回転させて縦画面ゲームを起動したい場合
- /boot/config.txtを編集する
display_rotate=3
- /opt/retropie/configs/mame-libretro/retroarch.cfgを編集する
aspect_ratio_index = "23"
custom_viewport_width = "400"
custom_viewport_height = "640"
custom_viewport_x = "40"
- /boot/config.txtを編集する
- SPIを有効にする
- Adafruit MAX98357 I2S D級アンプの設定
- $ sudo nano /etc/asound.conf
pcm.speakerbonnet {
type hw
card 0
}
pcm.dmixer {
type dmix
ipc_key 1024
ipc_perm 0666
slave {
pcm "speakerbonnet"
period_time 0
period_size 1024
buffer_size 8192
rate 44100
channels 2
}
}
ctl.dmixer {
type hw
card 0
}
pcm.softvol {
type softvol
slave.pcm "dmixer"
control.name "PCM"
control.card 0
}
ctl.softvol {
type hw card 0
}
pcm.!default {
type plug
slave.pcm "softvol"
} - $ sudo nano /boot/config.txt
#dtparam=audio=on
dtoverlay=hifiberry-dac
dtoverlay=i2s-mmap - emulationstationの「MAIN MENU」 →
- 「SOUND SETTINGS」 → 「AUDIO DEVICE」 → 「PCM」
- $ sudo nano /etc/asound.conf
- (emulationstationの文字を大きくする)
- /etc/emulationstation/themes/carbon/carbon.xmlを編集する
<view name="basic">
<textlist name="gamelist">
<selecgtorColor>1c1c1c</selecgtorColor>
<selectedColor>8b0000</selectedColor>
<primaryColor>969696</primaryColor>
<secondaryColor>7a6161</secondaryColor>
<fontPath>./art/Cabin-Bold.ttf</fontPath>
<fontSize>0.0300.045</fontSize>※かなり巨大
- /etc/emulationstation/themes/carbon/carbon.xmlを編集する
FDX68
GIMONS氏が開発した素晴らしいハードウェア、FDX68でFM-77AVの2Dゲームを吸い出す!
- RaspberryPi 3
- Raspbian 4 (Stretch)
- FDX68
- FDX68用バイナリ
- 3MODE対応FDD (D353M3D)
- FDD用5V電源
- 3.5インチ用34ピンフラットケーブル※クロスケーブルは使えないので、ストレートに作り直すこと
- 2DフォーマットFDのダンプ
$ sudo ./fddump -i 1 -c 40 -d double -s 2 任意.FDX
- FDX形式→D77形式へ変換
$ sudo ./fdxconv -i 元ファイル.FDX -o 任意.D77
余白
3.5mmジャックは、ステレオ音声+ビデオ出力。ただし、CTIA規格のものを使うこと。OMTP規格のものは使えない。