ラズベリーパイは、700円から5000円程度で購入できるコンピュータです。こんな価格なのに、 パソコンと同じ仕様のソフトを無料で搭載できるのがすごいです。
ラズベリーパイがあると、ネットワークやプログラムの勉強になります。ラズベリーパイの設定についてメモします。
ワコムペンタブレットのつなぎ方は「機能の追加」
関連サイト
1.OS セットアップ
ラズベリーパイのOSは、どんどん改良されています。昔の情報が使えなくなることもあります。過去にどんな問題が起こったかを知っておくと役に立ちます。
SDカード作成
- Raspberry Pi OSから、SDカードの作成は、Raspberry Pi Imagerを使うのが簡単です。(1)左側の箱でOSの種類を選ぶ(2)右側の箱でSDカードドライブを選ぶ。(3)WRITEボタン。これでネットからダウンロードしながらSDカードを作成します。
- 一度作成したSDカードを再利用する場合、SDカードをフォーマットする必要があります。
- (古い)OSのSDカードの作成は、NOOBSを使う方法と、Raspbianを使う方法の2種類あります。NOOBS は書き込みソフトが不要という利点がありますが、NOOBS自体、改良がおこなわれているため、Raspbianを直接ダウンロードし Win32DiskImage など書き込みソフトを使ってSDカードを作成する方法をお勧めします。
- (古い) NOOBS SETUP では、「下の設定を日本語にしてはいけない」という注意点があります。 この設定は日本語環境を設定するという意味ではなく、表示を日本語に変えるだけですが、日本語フォントが入っておらず読めなくなることがありました。 NOOBSは改良中で( Raspberry Piで学ぶ電子工作補足情報)が詳しいです。
- SDカードは8か16GBがお勧め。小さいほうがバックアップが簡単。いろんなアプリをいれる、もしくはフル版なら16GB。
- SDカードの容量を拡張する方法。8GBのバックアップを16GBのSDカードに復元したあと、次の命令で16GBまで使えるようになる。
$ sudo raspi-config --expand-rootfs
Raspberry Pi OS の設定
Raspberry Pi OS入りSDカードと、ディスプレイ、マウス、キーボードをラズベリーパイに接続し、電源ケーブルをつなぐと、ディスプレイに初期設定画面が表示されます。
- Next ボタンを押して設定開始
- Country > Japan (キーボードがUSキーボードならUSE US Keyboard にチェック)、Nextボタン
- パスワードを入力し、Nextを数回おして、Doneで設定完了
- 左上のラズベリーボタン>Shutdown >Reboot
これで日本語表示になりますが、まだ日本語入力はできません。日本語入力するには、下の2.日本語入力の設定を行う必要があります。
古い設定方法
- 最初の Raspbian (Wheezy) は設定画面から起動しましたが、新しいRaspberry Pi OS / Buster/ Stretch / Jessie では、メニューバー>ラズベリーパイボタン>「Preferences」>「Raspberry Pi Configuration」から画面で設定します。ターミナル(LXTerminal 黒いアイコン)から設定画面を表示するには以下の命令を入力します($ は入力を意味する記号で、sudo から入力)
$ sudo raspi-config
- もしターミナルが文字化けしている場合
$ LANG=C
-
設定画面では、以下の項目を設定(表示項目はバージョンによって違いあり、太字は必ず設定が必要)
- Expand Filesystem(SDカードを全部使うようにする)Buster/ Stretch / Jessie では不要(自動実行)
- Change User Password(パスワード設定)
- Boot Options(Desktop Autologin にしておくと起動が楽)
- Wait for Network at Boot(Fast Bootにしておくと起動が速い)
- Localisation (Internationalization Options)
- Locale (表示言語。最初は英語にしとく。日本語環境をいれたあとで変更する)
- TimeZone(Asia -- 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」
ディスプレイが小さくて「OK」が押せない場合
設定画面のOKボタンが外に出て押せないことがあります。その場合、SDカードをパソコンで開き boot フォルダのなかの config.txt の中の「framebuffer_width、framebuffer_height」の2行の # をとれば、文字が小さくなり、ボタンが押せるようになります。なお、config.txt には起動時のオプションがかかれており、起動画面が表示されなくなった場合は、全部の行に # をいれてコメントアウトすれば、初期状態に戻ります。
framebuffer_width=1280
framebuffer_height=720
アプリの取得
- アプリを取得する前に、ソフトを最新にする。ターミナルから以下を実行。
- 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.日本語入力
Raspberry Pi OS / Stretch / Jessie with PIXEL の場合の日本語入力
$ sudo apt-get install fcitx-mozc
-
$ sudo reboot
で再起動 - メニューバー左のラズベリーパイボタン>設定(Preferences) > fcitx 設定(Configuration) をクリック。
fcitxの設定画面が開きます。Mozc行がある場合、下の作業は不要です。 - 下のツールボタン「+」をクリック
- Only Show Current Language のチェックをはずす
- 下の箱に「Japanese」といれて検索(J は大文字)
- 「Keyboard - Japanese」をクリック
- 「OK」ボタンをクリック>リストの中に「Keyboard - Japanese」が追加されます。※もし英語キーボードなら6.7.8.9.の作業は不要です。
- 「Keyboard - Japanese」を選び、下のツールボタン「^」をクリックして一番上に移動させます。これで日本語キーボードからの直接入力が標準になります。
- 下のツールボタン「+」をクリック
-
下の箱に「mozc」といれて検索
-
「Mozc」を選択し「OK」ボタンをクリック
-
「Mozc」行を選択し「^」ボタンをクリックして上から2番目に移動させます。
-
これで日本語が入力できるようになります。直接入力とローマ字変換は、Ctrl+スペースで切り替えます。このキーは、メニューバー左のラズベリーパイボタン>設定(Preferences) > fcitx 設定(Configuration) から「全体の設定(Global Config)」タブ、「入力メソッドのオンオフ(Trigger Input Method)」の設定で「半角/全角」キーなどに変更できます。
3.機能の追加(ワコムタブレット、音楽、アニメなど)
3-1 タブレット、音楽再生、動画記録、イラスト集
項目 | インストール |
---|---|
ワコムペンタブレットをつなぐ |
$ sudo apt-get install xserver-xorg-input-wacom (参考 Xf86-input-wacom) ※今はこれでつながるようだ(2021) |
音楽(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 |
ハングル文字フォント追加 | $ sudo apt install -y fonts-unfonts-core |
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 プログラムの実行。こちら「OpenCV と Python を使ったアニメーション動画用紙のスキャン画像位置合わせ」を参照
-
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 」を入力し、開く。名前に「pi」、設定したパスワードを入力
RaspberryPi の home が共有されます。
<Linux との接続>
- デスクトップに接続用のフォルダを作成します。例(open-pi)
- 作成したフォルダの中に以下の mount.sh を作成します。
$ cd デスクトップの open-pi のパス
$ nano mount.sh
nano で以下のマウント命令を作成。Ctrl-O で保存。Ctrl-Xでしゅうりょう
#!/bin/sh
sudo mount -t cifs //192.168.xxx.xxx/pi /home/desktopのパス/open-pi -o user=pi,sec=ntlmssp,nounix,noperm,rw
desktop のパスは機種ごとに違います。作成したら、実行可能に設定します。
$ chmod +x mount.sh
次のようにして接続します。
- デスクトップの open-pi フォルダの中の「mount.sh」をダブルクリックします。
- Linuxのパスワードを入力
- ラズベリーパイの samba パスワードを入力
- これで、open-pi フォルダの中がラズベリーパイになります。
4-2 ターミナル
- パソコンから RaspberryPiに ログインする
- (使用例)RaspberryPi をパソコンのキーボードから操作する
Raspberry Pi OS / Buster/ Stretch / Jessie with PIXEL の場合
- ssh のアクセスを許可する設定が必要です
- Raspberryボタン>設定(Preferences)>Raspberry Pi の設定(Configuration) をクリック
設定画面が開きます - インタフェース(Interfaces) タブをクリック>「SSH:」-「有効(Enable)」をクリック>「OK」
<アドレスの取得>
- Raspberry ターミナルで ifconfig を実行
192.168.xxx.xxx 形式の ipアドレスをメモする。
<Macintosh との接続>
- アプリケーション>ユーティリティ>ターミナル を実行
ssh pi@192.168.xxx.xxx
- パスワードを入力
<Windows との接続>
-
tera term をインストール(無料)↓
http://www.forest.impress.co.jp/library/software/utf8teraterm/ -
tera term を起動し、
ホスト:192.168.xxx.xxx
TCPポート:22
SSH:SSH2
と入力し「OK」をクリック -
ユーザー名「pi」、パスワードを入力
4-3 VNC(リモートデスクトップ)
- RaspberryPiの画面をパソコンにだす
- (使用例)RaspberryPiで実行させたプログラムの結果をパソコン画面で見る
Raspberry Pi OS / Buster/ Stretch / Jessie with PIXEL の場合
- すでに VNC が入っているのでそれを使います。
- Raspberryボタン>設定(Preferences)>Raspberry Pi の設定(Configuration) をクリック
設定画面が開きます - インタフェース(Interfaces) タブをクリック>「VNC:」-「有効(Enable)」をクリック>「OK」ボタンをクリック
タイトルバーに「Vnc」アイコンが追加されます。 - タイトルバー「Vnc」アイコンをクリック>VNC設定画面が開きます
- Connectivity の下に、192.168.xxx.xxx といったアドレスが表示されます。この数値をメモしてください。
- 右上の設定ボタン「三」をクリック>「Options...」をクリック>「Close」をクリック
VNC Server オプション設定画面が開きます - 「Security」項目>「Authentication」を「Unix Password」から「VNC password」に変更
- 「Users & Permissions」項目>「Standard User(user)」>「PassWord」ボタンをクリック
パスワードを設定(2回入力してOKボタン) - 一番下の「OK」ボタンをクリック
VNC画面を大きくする方法
/boot フォルダの config.txt を修正すれば画面が大きくなります。
$ sudo nano /boot/config.txt
次の2行の先頭のコメント「#」をはずす
framebuffer_width=1280
framebuffer_height=720
- Ctrl+O で上書き保存
- Ctrl+X で「nano」を終了
- 再起動
$ sudo reboot
その他の場合 (tightvncserver をインストール)
<インストール>
$ sudo apt-get install tightvncserver
<tightvncserverの起動>
$ tightvncserver
- 最初だけ、パスワードをきかれるので設定
<アドレスの取得>
$ ifconfig
- 192.168.xxx.xxx 形式の ipアドレスをメモする
<Macintosh との接続>
- Macintosh の ファインダ>「移動」>「サーバーへ接続...」
- サーバーアドレスに
vnc://192.168.xxx.xxx:5901 (Buster/ Stretch / Jessie with PIXELの場合:5901 は不要)
と入力し、「接続」をクリック
パスワードを入力
RaspberryPi の デスクトップが画面に表示される。
<Mac OS X 10.4 (Tiger) との接続>
- VNC for Mac OS X (10.4 only) をダウンロード(無料)
https://www.realvnc.com/download/vnc/
<Mac OS X 10.3.9 (Panther) との接続>
- Chicken of the VNC for Mac をダウンロード(無料)
<Windows との接続>
-
「 RealVNC Viewer 」をインストール(無料)。
-
VNC Viewer を起動し、アドレスに
192.168.xxx.xxx:5901 (Buster/ 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 (Buster/ 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 で上書き保存
- 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 で上書き保存
- 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カードを複数枚持てば、 異なる環境を複数セット持てます。 だから失敗をおそれずになんでも試してみることができます。
- SDカードの種類についてはこちら(備忘録)を参照
ラズベリーパイで複製するのが簡単
- USB SDカードアダプタにフォーマットすみのSDカードをセットしてラズパイに接続
- ラズパイデスクトップ>アクセサリー>sdカードコピー
- 転送元は、「Internal SD card(/dev/mmcblk0)」
- 転送先は、「(/dev/sdb)」(アダプターによっては、sda, sdb など複数)
- SDカードの容量を気にせず複製できる
少しでもサイズが小さいと書き込めない(Win32DiskImager)
- Win32DiskImager を使えば SDカードの全内容をパソコンのハードデイスクに保存できます。ただし、ディスクのファイルシステムがFAT32だと、4GB以上のファイルがつくれないので注意。NTFSならOK
- それを、新しい 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カードが読めなくなったりするので 細心の注意が必要です。