RaspberryPi

Raspberry Pi 設定メモ、ワコムペンタブレットのつなぎ方

ラズベリーパイは、700円から5000円程度で購入できるコンピュータです。こんな価格なのに、 パソコンと同じ仕様のソフトを無料で搭載できるのがすごいです。

ラズベリーパイがあると、ネットワークやプログラムの勉強になります。ラズベリーパイの設定についてメモします。

ワコムペンタブレットのつなぎ方は「機能の追加」

関連サイト

1.OS セットアップ

ラズベリーパイのOSは、どんどん改良されています。昔の情報が使えなくなることもあります。過去にどんな問題が起こったかを知っておくと役に立ちます。

SDカード作成

  • OSのSDカードの作成は、、NOOBSを使う方法と、Raspbianを使う方法の2種類あります。NOOBS は書き込みソフトが不要という利点がありますが、NOOBS自体、改良がおこなわれているため、Raspbianを直接ダウンロードし Win32DiskImage など書き込みソフトを使ってSDカードを作成する方法をお勧めします。
  • (古い) NOOBS SETUP では、「下の設定を日本語にしてはいけない」という注意点があります。 この設定は日本語環境を設定するという意味ではなく、表示を日本語に変えるだけですが、日本語フォントが入っておらず読めなくなることがありました。 NOOBSは改良中で( Raspberry Piで学ぶ電子工作補足情報)が詳しいです。
  • SDカードは8GBがお勧め。容量が大きいとバックアップが大変。

設定(TimeZone、Keyboard、Wi-Fi Country)

  • 最初の Raspbian (Wheezy) は設定画面から起動しましたが、新しいOS Stretch / Jessie では、メニューバー>ラズベリーパイボタン>「Preferences」>「Raspberry Pi Configuration」から画面で設定します。ターミナル(LXTerminal 黒いアイコン)から設定画面を表示するには以下の命令を入力します($ は入力を意味する記号で、sudo から入力)
$ sudo raspi-config
  • もしターミナルが文字化けしている場合
$ LANG=C
  • 設定画面では、以下の項目を設定(表示項目はバージョンによって違いあり、太字は必ず設定が必要)

    1. Expand Filesystem(SDカードを全部使うようにする)Stretch / Jessie では不要(自動実行)
    2. Change User Password(パスワード設定)
    3. Boot Options(Desktop Autologin にしておくと起動が楽)
    4. Wait for Network at Boot(Fast Bootにしておくと起動が速い)
    5. Localisation (Internationalization Options)
      • Locale (表示言語。最初は英語にしとく。日本語環境をいれたあとで変更する)
      • TimeZoneAsia -- Tokyo
      • Keyboard(キーボード設定。正しく設定しないと記号が入力できない)
        • 日本語キーボード「Generic 105-key (Intl) PC」> 「other」> 「Japan」>「Japanese
        • 英語キーボード(ひらがなが書いていないキーボード) 「Generic 105-key (Intl) PC」> 「other」> 「English (US)」 。英語キーボードでも日本語入力できます。
      • Wi-Fi Country(JP Japan)
  • 再起動したあとのログイン名は「pi」。
    パスワード設定しなかった場合、最初のパスワードは「raspberry」

アプリの取得

  • アプリを取得する前に、ソフトを最新にする。ターミナルから以下を実行。
  • upgradeは、大きな修正になるため、実行しない方がよい場合がある。時間がかかるので、エラーがおきた場合、寝る前に実行するとよい。
$ sudo apt-get update
$ sudo apt-get upgrade 
  • アプリの取得
    • sudo apt-get install の後にアプリ名、実行してもよいか尋ねられるので 'y' キー , Enterキーを押す

その他メモ

  • SDカードに入れる OS のバージョンが古いと、起動しない場合がある。 RaspberryPi 1B/B+ でも Jessie(2016-05-27)が動作するが、旧OSWheezyを使いたい場合、 ここ( Raspbian各バージョン: raspbian-2015-05-07)から入手できる。
  • ディスプレイの設定は、/boot/config.txt 。 設定を全部コメントアウトすれば、初期状態(ビデオとHDMI両方可能)に戻ります。
  • X-Windowが起動せず 「error in locking authority file /home/pi/.Xauthority. 」 というエラーが出る場合
    $ sudo rm /home/pi/.Xauthority
    と入力し、.Xauthority を削除

  • バージョンの確認方法

$ uname -a 
$ cat /etc/devian_version

2.日本語入力

Stretch / Jessie with PIXEL の場合の日本語入力

  1. $ sudo apt-get install fcitx-mozc
  2. $ sudo reboot で再起動
  3. メニューバー左のラズベリーパイボタン>Preferences > fcitx Configuration をクリック。
    fcitxの設定画面が開きます。
  4. 下のツールボタン「+」をクリック
  5. Only Show Current Language のチェックをはずす
  6. 下の箱に「Japanese」といれて検索(J は大文字)
  7. 「Keyboard - Japanese」をクリック
  8. 「OK」ボタンをクリック>リストの中に「Keyboard - Japanese」が追加されます。※もし英語キーボードなら6.7.8.9.の作業は不要です。
  9. 「Keyboard - Japanese」を選び、下のツールボタン「^」をクリックして一番上に移動させます。これで日本語キーボードからの直接入力が標準になります。
  10. 下のツールボタン「+」をクリック
  11. 下の箱に「mozc」といれて検索
  12. 「Mozc」を選択し「OK」ボタンをクリック
  13. 「Mozc」行を選択し「^」ボタンをクリックして上から2番目に移動させます。
  • これで日本語が入力できるようになります。直接入力とローマ字変換は、Ctrl+スペースで切り替えます。このキーは、左下のXボタン>Preferences > fcitx Configuration から「Global Config」タブ、「Trigger Input Method」の設定で「半角/全角」キーなどに変更できます。

日本語環境のおまかせインストール (時間がかかります)

$ sudo apt-get install task-japanese task-japanese-desktop
$ sudo reboot

3.機能の追加(ワコムタブレット、音楽、アニメなど)

3-1 タブレット、音楽再生、動画記録、イラスト集

項目 インストール
ワコムペンタブレットをつなぐ $ sudo apt-get install xserver-xorg-input-wacom
(参考 Xf86-input-wacom)
音楽(MP3)の再生 $ sudo apt-get install mpg321
音楽(MIDI)の再生 $ sudo apt-get install timidity
$ sudo apt-get install fluid-sound-font-gm fluid-sound-font-gs
Flash の再生 $ sudo apt-get install gnash browser-plugin-gnash
動画の作成 $ sudo apt-get install libav-tools
アニメーション作成 ここから 9va-pi きゅうべえをダウンロード
9va-piは2種類あるのでラズベリーパイ版をダウンロードすること
画面操作を動画で記録 $ sudo apt-get install gtk-recordmydesktop

メニューバー>「サウンドとビデオ」から実行
領域を設定してから「録音」ボタン。
終了はメニューバーのアイコン■をクリック。
ホームディレクトリに、out.ogv ができる。 このまま、Youtubeにアップロード可能
openclipart-svg
フリーイラスト集
$ sudo apt-get install openclipart-svg

データサイズ 174MB
データの場所
/usr/share/openclipart/svg
削除は、sudo apt-get remove openclipart-svg

3-2 スリープしないようにする

  • 初期設定ファイルをひらく
$ sudo nano ~/.config/lxsession/LXDE-pi/autostart
  • 以下の4行を最後に追加
@xset s 0 0
@xset s noblank
@xset s noexpose
@xset dpms 0 0 0
  • Ctrl+O で上書き保存
  • Ctrl+X で「nano」を終了
  • 再起動

(参考 スクリーンのスリープを防ぐ)

3-3 画像処理

  • OpenCV のインストール(ターミナルから $ より後ろを入力)
$ sudo apt-get update
$ sudo apt-get install  libopencv-dev python-opencv
$ python 
Python 2.7.9
>>> import cv2
>>> cv2.__version__
'2.4.9.1'
>>> quit()

この例では、python 2.7.9 OpenCV 2.4.9.1 でした。

4.機能の追加(プログラム開発)

9VAeきゅうべえの開発に次のソフトを使っています。

4-1 samba(ファイル共有)

  • パソコンから RaspberryPi のファイルを読み書きする
  • (使用例)パソコンからRaspberryPiにデータを転送する。

<インストール>

$ sudo apt-get install samba samba-common-bin

<設定ファイルの修正>

  • 念のためオリジナルをコピー
$ sudo cp /etc/samba/smb.conf smb.conf.org`
  • 設定ファイルをエディタ「nano」で編集
$ sudo nano /etc/samba/smb.conf
  • [global]の下に max protocol を1行追加(Windows10で見えるようにするため)
[global]
max protocol = SMB2 
  • ファイルの途中の[homes]の下にある
    read only = yes

    read only = no
    に修正する。

  • ファイルの最後に次の[share]を追加。

[share]
comment = pi share
writable = yes
path = /home/pi
force user = pi
  • Ctrl+O で「smb.conf」を上書き保存
  • Ctrl+X で「nano」を終了

<samba パスワードの設定>

$ sudo smbpasswd -a pi

パスワードを2回入力する 

<samba 再起動>

$ sudo service smbd restart

※Failed to restart smbd と表示された場合
$ sudo service samba restart 

<Macintoshとの接続>

  • LANが接続されると、ファインダの共有に「raspberrypi」が表示されるのでクリック。
  • 「別名で接続...」ボタンをクリック
    名前:pi
    パスワード:smbpasswd で設定したパスワード
  • 「接続」ボタンをクリック
    RaspberryPi の home が共有されます。

上の操作で接続できない場合

  • Macintosh の ファインダ>「移動」>「サーバーへ接続...」
  • サーバーアドレスに
    smb://192.168.xxx.xxx
    と入力し、「接続」をクリック
  • OKをクリックし、名前に「pi」、設定したパスワードを入力

<Windows との接続>

  • Raspberry Pi で「ifconfig」を実行。
    192.168.xxx.xxx 形式の ipアドレスをメモする。

  • Windows を LAN に接続

  • Windows エクスプローラで、アドレス「\192.168.xxx.xxx 」を入力し、開く

    RaspberryPi の home が共有されます。

4-2 ターミナル

  • パソコンから RaspberryPiに ログインする
  • (使用例)RaspberryPi をパソコンのキーボードから操作する

Stretch / Jessie with PIXEL の場合

  • ssh のアクセスを許可する設定が必要です
  1. Raspberryボタン>Preferences>Raspberry Pi Configuration をクリック
    設定画面が開きます
  2. Interfaces タブをクリック>「SSH:」-「Enable」をクリック>「OK」

<アドレスの取得>

  • Raspberry で ifconfig を実行
    192.168.xxx.xxx 形式の ipアドレスをメモする。

<Macintosh との接続>

  • アプリケーション>ユーティリティ>ターミナル を実行
ssh pi@192.168.xxx.xxx
  • パスワードを入力

<Windows との接続>

4-3 VNC(リモートデスクトップ)

  • RaspberryPiの画面をパソコンにだす
  • (使用例)RaspberryPiで実行させたプログラムの結果をパソコン画面で見る

Stretch / Jessie with PIXEL の場合

  • すでに VNC が入っているのでそれを使います。
  1. Raspberryボタン>Preferences>Raspberry Pi Configuration をクリック
    設定画面が開きます
  2. Interfaces タブをクリック>「VNC:」-「Enable」をクリック>「OK」ボタンをクリック
    タイトルバーに「Vnc」アイコンが追加されます。
  3. タイトルバー「Vnc」アイコンをクリック>VNC設定画面が開きます
  4. Connectivity の下に、192.168.xxx.xxx といったアドレスが表示されます。この数値をメモしてください。
  5. 右上の設定ボタン「三」をクリック>「Options...」をクリック>「Close」をクリック
    VNC Server オプション設定画面が開きます
  6. 「Security」項目>「Authentication」を「Unix Password」から「VNC password」に変更
  7. 「Users & Permissions」項目>「Standard User(user)」>「PassWord」ボタンをクリック
    パスワードを設定(2回入力してOKボタン)
  8. 一番下の「OK」ボタンをクリック

その他の場合 (tightvncserver をインストール)

<インストール>

$ sudo apt-get install tightvncserver 

<tightvncserverの起動>

$ tightvncserver 
  • 最初だけ、パスワードをきかれるので設定

<アドレスの取得>

$ ifconfig 
  • 192.168.xxx.xxx 形式の ipアドレスをメモする

<Macintosh との接続>

  • Macintosh の ファインダ>「移動」>「サーバーへ接続...」
  • サーバーアドレスに
    vnc://192.168.xxx.xxx:5901 (Stretch / Jessie with PIXELの場合:5901 は不要)
    と入力し、「接続」をクリック
    パスワードを入力
    RaspberryPi の デスクトップが画面に表示される。

<Mac OS X 10.4 (Tiger) との接続>

<Mac OS X 10.3.9 (Panther) との接続>

  • Chicken of the VNC for Mac をダウンロード(無料)

<Windows との接続>

  • 「 RealVNC Viewer 」をインストール(無料)。

  • VNC Viewer を起動し、アドレスに
    192.168.xxx.xxx:5901 (Stretch / Jessie with PIXELの場合:5901 は不要)
    と入力し、「OK」をクリック
    パスワードを入力
    RaspberryPi の デスクトップが画面に表示されます。

  • VNCサーバーの設定は、/home/pi/.vnc (隠しフォルダ)の中に書かれます。 このフォルダを削除すれば、初期化されます。

<tightvncserver の自動実行>(Jessie with PIXELの場合は不要)

  • 以下の自動実行ファイルを、/etc/init.d/vncboot に作成。
$ sudo nano /etc/init.d/vncboot
  • 以下をコピーし、nano の編集画面に貼り付ける(Edit>Paste)
#! /bin/sh
### BEGIN INIT INFO
# Provides: vncboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time
# Description: Start VNC Server at boot time.
### END INIT INFO

# /etc/init.d/vncboot

USER=pi
HOME=/home/pi

export USER HOME

case "$1" in
    start)
        echo "Starting VNC Server"
        #Insert your favoured settings for a VNC session
        su $USER -c '/usr/bin/vncserver :1 -geometry 1016x708 -depth 24'
        ;;

    stop)
        echo "Stopping VNC Server"
        su $USER -c '/usr/bin/vncserver -kill :1'
        ;;

    *)
        echo "Usage: /etc/init.d/vncboot {start|stop}"
        exit 1
        ;;
esac
exit 0

※ 上のファイルの途中にある -geometry の後ろの 1016x708 を変更すれば、 vnc のウィンドウサイズを変更できる。
※Jessie では「#! /bin/sh」を先頭におかないと動作しなくなった。

  • Ctrl+O で上書き保存
  • Ctrl+X で「nano」を終了
  • 上のファイルを実行可能に設定し、自動実行するように登録する。
$ sudo chmod 755 /etc/init.d/vncboot 
$ sudo update-rc.d vncboot defaults 

次回から tightvncserver が自動的に立ち上がります。

  • 動作しない場合、
$ /etc/init.d/vncboot

を実行し、エラーが出ないか確認。(Usage:が表示されればOK)
行末コードのエラーの場合、nano でファイルを開き、 Ctrl+X で上書き保存するときに、Alt+D などを押して 保存時の行末コードを変更できます。

4-4 固定IPアドレス

  • パソコンと Raspberry Pi を LANケーブル1本でつなぐ
  • ※LANケーブルはクロスでもストレートでもよい(自動判別)

  • パソコンとケーブル1本でつなぐ場合、パソコンとRaspberry Pi の IPアドレスの上位3つの数字を共通にした固定アドレスにする必要があります。

  • 上位3つの値は家のネットワークと共通にしておくと便利。

  • 最後の1つは機器によって異なる数値にします。

以下の例は上位アドレスを「192.168.99」にした例です。★環境に応じて変更してください

固定IPアドレスの設定(Raspbian (Stretch / Jessie) の場合)

<設定ファイルの修正>
- 念のためオリジナルをコピー

$ sudo cp /etc/dhcpcd.conf dhcpcd.org
  • 設定ファイルをエディタ「nano」で編集
$ sudo nano /etc/dhcpcd.conf
  • 一番最後に以下の4行を加える。
    ※固定アドレス192.168.99.100に設定する例です。★環境に応じて変更
    ※/24 は、ネットマスク 255.255.255.0 のかわり(24=8bitx3)
    ※3、4行目の最初の数字3つは固定アドレスと同じ、最後は1
interface eth0
static ip_address=192.168.99.100/24
static routers=192.168.99.1
static domain_name_servers=192.168.99.1
  • Ctrl+O で「interfaces」を上書き保存
  • Ctrl+X で「nano」を終了
  • 再起動
$ sudo reboot

固定IPアドレスの設定(Raspbian (Wheezy) の場合)

<設定ファイルの修正>
- 念のためオリジナルをコピー

$ sudo cp /etc/network/interfaces interfaces.org
  • 設定ファイルをエディタ「nano」で編集
$ sudo nano /etc/network/interfaces

変更前

auto lo 
iface lo inet loopback 
iface eth0 inet dhcp #---- dhcp(自動取得)または manual を static + アドレスに変更 

変更後↓

auto lo 
iface lo inet loopback 
iface eth0 inet static 
address 192.168.99.100 #---- 固定アドレス192.168.99.100 に設定する場合 
netmask 255.255.255.0 
gateway 192.168.99.1 #---- 最初の3つは固定アドレスと同じ、最後は1
  • Ctrl+O で「interfaces」を上書き保存
  • Ctrl+X で「nano」を終了
  • 再起動
$ sudo reboot
  • パソコンとRaspberry Pi をケーブル1本でつなぐ場合は、 パソコンのIPアドレスの上位3つの数字が、 Raspberry Pi のIPアドレスと同じである必要がありますが、パソコン側のIPアドレスは、ネットワークアダプタごとに設定されます。 新しいUSB-LAN変換ケーブルや、新しいWiFiを導入によって、 今まで接続できていた Raspberry Pi に接続できなくなったときは、新しく導入したネットワークアダプタの上位のIPアドレスを確認してください。

4-5 開発環境

geany

  • エディタ、開発環境
$ sudo apt-get install geany geany-plugins

GTK ライブラリ

  • アプリ開発に必要なライブラリ
$ sudo apt-get install libgtk-3-dev

5.SD カードの複製

  • ラズベリーパイは、SDカードに OS とデータが全てはいります。
  • SDカードを複数枚持てば、 異なる環境を複数セット持てます。 だから失敗をおそれずになんでも試してみることができます。ただし、以下の点には注意

少しでもサイズが小さいと書き込めない

  • Win32DiskImager を使えば SDカードの全内容をパソコンのハードデイスクに保存できます。
  • それを、新しい SDカードに戻せば複製できるわけですが、 転送先の SDカードの容量が少ないと 「Not enough space on disk」エラーが出ます。
  • 同じSDカードに書き戻すのならよいのですが、8GB のマイクロSDは、8GB の標準サイズの SDカードよりもサイズが小さいです。 同じ種類の SDカードでも、微妙にサイズが違うことがあります。すこしでも容量がたらないと書き込めません。
  • これを解決するには、ハードディスクに保存する前に、SDカードのパーティションサイズを 少し小さくすればよいです。 それができるのが、Gparted CD です。

パーティションサイズを小さくする方法

  • Gparted は、CD から起動する Linux で、 http:://gparted.sourceforge.net/download.php から iso ファイルをダウンロードして CD を作成します。 これを、Windows 入れて起動すれば、 パーティションのサイズを変更できます。 ただし、操作を間違えると、 ハードディスクや、SDカードが読めなくなったりするので 細心の注意が必要です。

関連記事

ラズベリーパイ・Linux 資料

  1. Raspberry Pi 設定メモ、ワコムペンタブレットのつなぎ方
  2. ラズベリーパイを使ったWiFiローカルサーバーの作り方
  3. Raspberry Piとペンタブレットで毛筆描画アプリを作る
  4. Xtra-PCを日本語化して使ってみた
  5. OpenCV と Python を使ったアニメーション動画用紙のスキャン画像位置合わせ