Software_Raspbian

☆Raspbian Tips

◆NOOBS

一つのイメージファイル内にファイルシステムを構築する。
保存したファイルが増えればファイルサイズが大きくなる

_◇複数OS選択
複数のOSをインストールした場合、起動直後に選択できる

_◇再インストール
Raspberry Pi起動時にShiftキーを押したままにするとインストール画面が表示される。

_◇raspi-config
初期設定ツール

再度設定する場合は

$ sudo raspi-config

※ロケール
国_言語.文字コード
ja_JP.UTF-8

※キーボード配列
Generic 105-key (Intel) PC

※キーボードレイアウト
Japanese – Japanese (OADG 109A)

※オルタネートグラフィックキー
ユーロ記号などの入力用

※コンポーズキー
アルファベットのアクセント記号入力用キー

_◇Rastrack

◆終了

_◇終了と再起動

※終了
$ sudo halt

※再起動
$ sudo reboot

_◇プロセスの強制終了

$ kill -9 プロセスID

◆管理

_◇sudoers

piは初期状態でsudoersに登録されている。

_◇管理者権限でのShellの実行

$ sudo -s
⇒プロンプトが#に変わる。exitすると一般ユーザに戻る

_◇ネットワークの設定

※/etc/network/interfaces
│ iface eth0 inet dhcp    DHCPでIPアドレス得る
│ iface eth0 inet static    固定IPアドレス

│ address    IPアドレス
│ netmask    ネットマスク
│ gateway    デフォルトゲートウエイ

※/etc/resolv.conf
│ nameserver  DNSサーバのIPアドレスを与える

※ネットワーク設定の適用
$ sudo /etc/init.d/networking reload

_◇WiFi設定

※GUIツール WiFi Configを使用

※/etc/wpa_supplicant/wpa_supplicant.conf
│ ssid      SSID(“SSID”)
│ psk        パスフレーズ(“passwd”)
│ proto      プロトコル(WPA2など)
│ key mgmt    鍵交換方式(WPA-PSKなど)
│ pairwise    鍵の種類(TKIPなど)

※パスフレーズの暗号化
$ wpa_passphrase SSID パスフレーズ

※Wifiの再設定
$ sudo ifdown wlan0
$ sudo ifup wlan0

※無線LAN情報の表示
$ iwconfig

_◇ディスプレイ設定

※GUIでの確認
設定>モニタの設定

※設定変更 /boot/config.txt

①HDMIからのディスプレイ情報を使用しない
hdmi_ignore_edid=0xa5000080

②over_scan(黒い外枠部)を表示しない
disable_overscan=1

③hdmiの接続規格選択
CEA…1
DMT…2
例)
hdmi_group=2

④画面解像度の設定
⇒選択した規格により設定番号は異なる
hdmi_mode=設定番号

⑤NOOBSの自動設定項目
$ NOOBS Auto-generated Settings:
以下に項目が並んでいるのでこれらを
#
でコメントアウトする

⑥sudo rebootで再起動

_◇パッケージのインストールとアンインストール

※APT
Advanced Packaging Tool

①apt-cache
パッケージの検索と詳細表示

apt-cache search “キーワード”
│ パッケージを検索する

apt-cache show パッケージ名
│ パッケージの詳細情報の表示

②apt-get
パッケージのインストール、削除、アップデート

apt-get update
│ パッケージ情報を取得する
│ 管理者権限必要

apt-get install パッケージ名
│ パッケージをインストールする
│ 管理者権限必要
⇒apt-get -y installとすると問い合わせ事項にすべてyで答える。

apt-get remove パッケージ名
│ パッケージを削除する
│ 管理者権限必要

apt-get upgrade パッケージ名
│ パッケージを更新する
│ 管理者権限必要

※Synaptic
APTのGUIフロントエンド
⇒要インストール
$ sudo apt-get install synaptic

◆リモートアクセス、ネットワーク

_◇SSHサーバー

※sshサーバーの起動
$ sudo /etc/init.d/ssh start

※sshサーバーの自動起動の設定
$ sudo update-rc.d ssh defaults

※SSHサーバーを立ち上げればリモートからTCPポート22でSSH接続が可能
SSH2 UNSPEC
⇒初回セキュリティ認証がでるが、known hostsリストに追加し接続

※Tera Term使用の場合、画面にファイルをドラッグ&ドロップでファイル転送可能

※File転送
⇒Windows側 FileZilla

_◇VNCサーバー

※TightVNC
インストール
$sudo apt-get install tightvncserver

実行
例)
$ tightvncserver :1 -geometry 1280×800 -depth 24

:1の1はディスプレイ番号、ビューワー側と合わせる
-geometry は解像度
-depth は色数

終了
$ tightvncserver -kill :1

⇒VNCサーバーを自動起動する場合には、なんらかの起動スクリプトを仕込む事が必要。

※Windows側 realVNCを利用

_◇Webサーバー

※nginx
インストール
$sudo apt-get install nginx

スタート
$sudo /etc/init.d/nginx start

初期状態の公開フォルダ(管理者権限必要)
/usr/share/nginx/www/

再起動
$sudo /etc/init.d/nginx restart

_◇PHP

※php5-fpm
インストール
$sudo apt-get install php5-fpm

※nginxでのPHPの使用
⇒/etc/nginx/sites-available/default (要管理者権限)
⇒index項目
初期設定では、index.html index.htmのみにindex.phpを追加
⇒location項目
fastcgi_pass項目以外のコメントアウトを外す

⇒/etc/php5/fpm/php.ini(要管理者権限)
cgi.fix_pathinfo=1を0に変更

再起動
$sudo /etc/init.d/php5-fpm restart
⇒nginxも再起動する

※確認

_◇MySQL

インストール
$ apt-get install mysql-server php5-mysql
⇒mysqlへの管理者パスワード設定が必要

mysqlへのログイン
$mysql -u root -p

_◇Samba
CIFS(Common Internet File System)互換
⇒Microsoft独自のSMB(Server message Block)を規格化したもの。NetBIOS不要。

インストール
$ sudo apt-get install samba samba-common-bin

共有フォルダの作成
$ sudo mkdir /var/samba

※Samba用に新規ユーザを追加する場合は
$ sudo useradd ユーザ名
$ sudo passwd ユーザ名
⇒パスワードを入力

※共有ホルダの所属ユーザをユーザ名に変更
$ sudo chown ユーザ名:グループ名 /var/samba
⇒ユーザ名=グループ名

$ sudo pbdedit -a ユーザ名
⇒パスワードを入力
⇒pbdeditはSambaユーザのデータベースであるSAMデータベースを管理する

※共有ホルダの公開設定
/etc/samba/smb.conf
⇒末尾に加える

[Share]
    comment = ~
    browseable = yes
    path = /var/samba
    writable = yes
    valid users = ユーザ名
    force user = ユーザ名

※Sambaの再起動
$ sudo /etc/init.d/samba restart

◆日本語環境

_◇GUI

※ibus-anthyをインストール
$ sudo apt-get install ibus-anthy

設定>IBusの設定>インプットメソッド(タブ)
インプットメソッド選択>日本語>Anthyを選択して「追加」
⇒設定閉じる
⇒半角全角キーにより日本語入力が可能となる

_◇CUI

※jfbtermとuimをインストール
$ sudo apt-get install jfbterm uim uim-anthy

※/usr/share/uim/generic-key-custom.scm
ファイル(管理者権限要)のgeneric-on-key, generic-off-keyの定義で
スペースをスペースに変更
⇒こうしないと日本語への切り替えがうまくいかない

※ログイン時にjfbtermとuimを起動するようにする
⇒.bashrc編集(管理者権限要)
.bashrcの末尾
RUNTTY=`/usr/bin/tty | cut -c 6-8`

if [ $RUNTTY = ‘tty’ ]
then
jfbterm -q -e uim-fep -u anthy
fi

◆ハードウエアインタフェース

_◇GPIO端子

+3.3V       1   2    +5V
I2C_SDA/G2    3   4    +5V
ISC_SCL/G3    5   6    GND
GPCLK0/G4     7   8    G14/UART_TXD
GND        9  10    G15/UART_RXD
G17       11  12    G18/PCM_CLK
PCM_DOUT/G27   13  14    GND
G22       15  16    G23
+3.3V      17  18    G24
SPI_MOSI/G10   19  20    GND
SPI_MISO/G9   21  22    G25
SPI_SCLK/G11   23  24    G8/SPI_CE0
GND       25  26    G7/SPI_CE1

_◇制御ライブラリ

※scratch
cymplecy(simplesi)よりダウンロード
$ sudo wget http://goo.gl/dANpKr -o isgh.sh
$ sudo bash isgh.sh

>Scratch GPIO4をダブルクリック>遠隔センサ接続有効

※python

GPIOライブラリの読み込み
import RPi.GPIO as GPIO

①GPIOの初期化
│ GPIO.cleanup()

②GPIOの端子配列の設定
Broadcomチップ準拠配列
│ GPIO.setmode(GPIO.BCM)
ボード上の端子番号配列
│ GPIO.setmode(GPIO.BOARD)

_◇GPIO制御例

#! /usr/bin/env python

import RPi.GPIO as GPIO
import time

GPIO.setwarnings(False)
GPIO.cleanup()
GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.OUT)

counter = 0

while True:
    GPIO.output(4, GPIO.HIGH)
    time.sleep(1)
    GPIO.output(4, GPIO.LOW)
    time.sleep(1)
    counter += 1
    print(counter)