Raspberry Pi Tips

INDEX

Image取得先

https://www.raspberrypi.org/downloads/raspbian/

USBポートの供給能力を1200mAに拡大する

いずれも全ポート合計の給電能力を示す。

  • RaspberryPi2 Model B
    /boot/config.txt
    max_usb_current=1
  • RaspberryPi3 Model B
    デフォルトで1200mAになっている

Bluetoothを無効にしてUARTを有効にする

/boot/config.txt

# Enable UART (without Bluetooth)
enable_uart=1
dtoverlay=pi3-miniuart-bt

詳細はこちら→ RasPi_uart

Network関係

SSHを有効化

デフォルトではSSHが無効になっているので、有効化しないといろいろ大変です。
/boot(FATパーティション)に「ssh」という空ファイルを置けば良い。
イメージ焼いた直後にやってしまうと良いでしょう。

WiFi?接続

/etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
        ssid="BWT_Net"
        psk="PASSWORD"
        key_mgmt=WPA-PSK
        priority=0
}

network={
        ssid="BWT_Net_mobile"
        psk="PASSWORD"
        key_mgmt=WPA-PSK
        priority=1
}

IPアドレスを固定にする

/etc/dhcpcd.conf

# Fixed address
interface wlan0
static ip_address=192.168.1.52/24
static routers=192.168.1.254
static domain_name_servers=192.168.1.1

MIDI関係

aconnectの使い方

  • 入力一覧
    aconnect -i
  • 出力一覧
    aconnect -o
  • 入力と出力を接続
    aconnect <入力ポート番号> <出力ポート番号>
  • スクリプト例
  • EWI-USBのMIDI信号をUM-ONEに出す
    EWIUSB_to_UMONE.sh
    #!/bin/sh
    echo "MIDI Connect : EWI-USB to UMONE"
    aconnect `aconnect -i | awk '/client.*EWI-USB/{print $2}'`0 `aconnect -o | awk '/client.*UMONE/{print $2}'`0
  • nanoPAD2のMIDI信号をEWI-5000に送る
    nanoPAD_to_EWI5000.sh
    #!/bin/sh
    echo "MIDI Connect : nanoPad2 to EWI-5000"
    aconnect `aconnect -i | awk '/client.*nanoPAD2/{print $2}'`0 `aconnect -o | awk '/client.*EWI5000/{print $2}'`0
  • UM-ONEのMIDI信号をEWI-5000に送る(フットスイッチを使う例)
    UMONE_to_EWI5000.sh
    #!/bin/sh
    echo "MIDI Connect : UM-ONE to EWI-5000"
    aconnect `aconnect -i | awk '/client.*UMONE/{print $2}'`0 `aconnect -o | awk '/client.*EWI5000/{print $2}'`0
  • M-AUDIO USB UnoのMIDI信号をEWI-5000に送る(フットスイッチを使う例)
    MAUDIO_to_EWI5000.sh
    #!/bin/sh
    echo "MIDI Connect : USB Uno to EWI-5000"
    aconnect `aconnect -i | awk '/client.*USB Uno/{print $2}'`0 `aconnect -o | awk '/client.*EWI5000/{print $2}'`0

ONECONTROL Gecko MkIIIでのコントロール

この機種はPROGRAM CHANGEだけでなくBANK情報も送ってしまいます。
したがって、EWI-5000でしようするとFACTORY PRESET(赤LED)の方になってしまい、USER PRESET(緑LED)が使えません。
これに対応するために、MIDI FILTERを導入します。

  • mididingsのインストール
    $ sudo apt-get update
    $ sudo apt-get upgrade
    $ sudo apt-get install mididings
    $ sudo reboot

使い方はこちら
http://das.nasophon.de/mididings/

  • PROGRAM CHANGEだけを通すフィルターとして動かす
    バックグラウンドで起動させます。
    $ mididings "Filter(PROGRAM)" &
  • aconnectでMIDIパッチをする(Geckoの接続先はUM-ONE)
    $ aaconnect `aconnect -i | awk '/client.*UM-ONE/{print $2}'`0 `aconnect -o | awk '/client.*mididings/{print $2}'`0
    $ aconnect `aconnect -i | awk '/client.*mididings/{print $2}'`1 `aconnect -o | awk '/client.*EWI5000/{print $2}'`0

UM-ONE→mididings(FILTER)mididings→EWI-5000

  • スクリプト例
    #!/bin/sh
    echo "MIDI Connect : UM-ONE to EWI-5000"
    aconnect -x
    mididings "Filter(PROGRAM)" &
    sleep 1
    aconnect `aconnect -i | awk '/client.*UM-ONE/{print $2}'`0 `aconnect -o | awk '/client.*mididings/{print $2}'`0
    aconnect `aconnect -i | awk '/client.*mididings/{print $2}'`1 `aconnect -o | awk '/client.*EWI5000/{print $2}'`0

Read Only ファイルシステムの構築

http://flogics.com/wp/ja/2017/10/raspbian-os%E3%81%AEsd%E3%82%AB%E3%83%BC%E3%83%89%E3%82%92%E3%83%AA%E3%83%BC%E3%83%89%E3%82%AA%E3%83%B3%E3%83%AA%E3%83%BC%E5%8C%96%E3%81%99%E3%82%8B%EF%BC%88initrd-%E7%B7%A8%EF%BC%89/

  • Super Userに移行する
    pi@raspberrypi:~$ sudo bash
    root@raspberrypi:/home/pi#
  • ディレクトリを移動
    root@raspberrypi:/home/pi# cd /usr/share/initramfs-tools
  • ファイル hook-functions を編集
    root@raspberrypi:/usr/share/initramfs-tools# nano hook-functions

497行目付近にoverlayを追加する
下記の例では4行目の末尾。

for arg in "$@" ; do
    case "$arg" in
    base)   
        modules="$modules btrfs ext2 ext3 ext4 ext4dev overlay"
        modules="$modules isofs jfs reiserfs udf xfs"
  • ディレクトリ scripts に移動する
    root@raspberrypi:/usr/share/initramfs-tools# cd scripts
    root@raspberrypi:/usr/share/initramfs-tools/scripts#
  • ファイル local を、overlay というファイルにコピー。
    さらに、local-premount、local-bottom というディレクトリをコピー。
    なお、後者のディレクトリ local-bottom は存在しない場合は無視する。
    # cp local overlay
    # cp -rp local-premount overlay-premount
    # cp -rp local-bottom overlay-bottom 
  • ファイル overlay を編集する
    root@raspberrypi:/usr/share/initramfs-tools/scripts# nano overlay

ファイル中の local_mount_root() という関数定義の中を変更する。

        local_premount

#       if [ "${readonly}" = "y" ]; then
                roflag=-r
#       else
#               roflag=-w
#       fi

        # FIXME This has no error checking
        modprobe ${FSTYPE}

        checkfs ${ROOT} root

        # FIXME This has no error checking
        # Mount root
        mkdir /upper /lower
        if [ "${FSTYPE}" != "unknown" ]; then
            mount ${roflag} -t ${FSTYPE} ${ROOTFLAGS} ${ROOT} /lower
        else
            mount ${roflag} ${ROOTFLAGS} ${ROOT} /lower
        fi
        modprobe overlay
        mount -t tmpfs tmpfs /upper
        mkdir /upper/data /upper/work
        mount -t overlay \
            -olowerdir=/lower,upperdir=/upper/data,workdir=/upper/work \
            overlay ${rootmnt}
}

コメントアウト4カ所。
「checkfs ${ROOT} root」の追加。
「mkdir /upper /lower」の追加。
「/lower」の追加2カ所。

       modprobe overlay
       mount -t tmpfs tmpfs /upper
       mkdir /upper/data /upper/work
       mount -t overlay \
           -olowerdir=/lower,upperdir=/upper/data,workdir=/upper/work \
           overlay ${rootmnt}

以上の追加。

  • まずはカーネルのバージョンを確認
    # uname -r

バージョンにv7が含まれているかどうかが重要。
含まれていなければ以下の記述で7を削除して編集を行う。

  • initrdを作る(v7含む場合)
    # update-initramfs -c -k $(uname -r)
    # cd /boot
    # mv initrd.img-$(uname -r) initrd7.img
  • initrdを作る(v7含まばい場合)
    # update-initramfs -c -k $(uname -r)
    # cd /boot
    # mv initrd.img-$(uname -r) initrd.img
  • ファイル /boot/config.txt を編集(v7を含む場合) 末尾に追加する。
    kernel=kernel7.img
    initramfs initrd7.img
  • ファイル /boot/config.txt を編集(v7を含まない場合) 末尾に追加する。
    kernel=kernel.img
    initramfs initrd.img
  • ファイル /boot/cmdline.txtを編集
    boot=overlay dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

頭に「boot=overlay」追加と、途中の「root=/dev/mmcblk0p2」を書き換える。

  • rebootして、確認する
$ mount | fgrep ' / '

こう出たら成功

overlay on / type overlay (rw,noatime,lowerdir=/lower,upperdir=/upper/data,workdir=/upper/work)

こう出たら失敗

/dev/mmcblk0p2 on / type ext4 (rw,noatime,data=ordered)
  • ROとRWの切り替え(cmdline.txtの編集で行う)
    • ROの場合は頭の「boot=overlay」が必要
    • RWの場合は頭の「boot-overlay」を削除

USB-UARTケーブル(3.3V)

USB-UART.PNG

GPIOピン配列

GPIO.png


添付ファイル: fileGPIO.png 198件 [詳細] fileUSB-UART.PNG 208件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-03-12 (火) 23:32:54 (192d)