Skip to content
This repository has been archived by the owner on Aug 15, 2024. It is now read-only.

Raspberry PI 3 の設定

Yasuo Hayashibara edited this page Dec 29, 2017 · 35 revisions

内部のメンバ向けの情報です.
外部の方は一部データにアクセスできません.
(公開バージョンを現在開発中,2018年公開予定)

■準備するもの

必須
1)Rapberry PI 3 (もしくはそれを内蔵したロボット本体)
2)16GB以上のmicroSD(class10), SDカードに変換するアダプタ
3)電源 (microUSB, 2A) 通常のUSBは0.5Aであるので気をつける
4)SDカードスロットのあるPC
5)HDMIのケーブル,ディスプレイ
6)USBマウス,キーボード

あった方が良いもの
7)(LANケーブル)
8)(Raspberry PI用カメラ)

■手順

・起動用microSD作成

1)Raspbian 2016/09/28(1.4GB)をダウンロード
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/raspbian-2016-09-28/

2)2016-09-23-raspbian-jessie.zipを解凍
  2016-09-23-raspbian-jessie.imgが生成される

3)microSDカードをフォーマット

4)DD for windowsを使用して2016-09-23-raspbian-jessie.imgを書き込み

5)microSDカードをRaspberry PI 3に挿入
  HDMIケーブル,USBキーボード,マウスを接続
  電源用microUSBを接続して起動

・キーボードの設定(必要に応じて)

6)[Preferences]->[Mouse and Keyboard Settings]でキーボードレイアウトを変更

・Rasberry PIの設定

7)sudo raspi-configと入力
[4 Localization Options]->[Change Locale]->[ja_JP.UTF-8]を選択
[4 Localization Options]->[Change Timezone]->[ASIA]->[Tokyo]を選択
[4 Localization Options]->[Change Wi-fi Country]->[JP]を選択
[5 Interfacing option]->[P5 I2C]->[Yes]を選択
[6 Enable Camera]->[Yes]を選択

・無線LANの接続

8)右上のアイコンをクリックして接続できるようであれば9)は無視する.

9)無線LANの手動設定

sudo iwlist wlan0 scan

でアクセスポイントのリストが表示される.


/etc/wpa_supplicant/wpa_supplicant.conf

にアクセスポイントの情報を記載する.

sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

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

network={
        ssid="ESSIDのアドレス"
        key_mgmt=NONE
        wep_key0="パスワード"
}

10)エディタのインストール(後の作業を行いやすくするため)

sudo apt-get install vim

11)IPアドレスの固定 /etc/dhcpcd.confの末尾に以下を追記

interface eth0
static ip_address=192.168.100.161/24

※161は機体番号に従い変更する

12)IPv6の無効化

/etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

ネットワークを再起動

sudo reboot

・ユーザの追加と自動ログイン

13)ユーザの追加

sudo adduser cit
sudo vi /etc/sudoers

以下を文末に追加

cit ALL=(ALL) NOPASSWD: ALL

14)rootのパスワードを設定

sudo passwd root
cit161 (ロボットの番号)

15)自動ログイン

sudo vi /etc/lightdm/lightdm.conf

以下を記述 デフォルトではpiが自動ログインになっている.検索して書き換え.

autologin-user=cit
autologin-user-timeout=0

16)再起動

sudo reboot

・VINO(VNCサーバ)の設定

17)VINOのインストールと設定

sudo apt-get install vino dconf-editor

DISPLAY=:0.0 dconf-editor

dconfEditor の左側のツリーの画面で [org]->[gnome]->[desktop]->[remote-access]をクリック
[prompt-enabled]のチェックを外す
[require-encryption]のチェックを外す

mkdir -p /home/pi/.config/autostart/
vi /home/cit/.config/autostart/vino.desktop

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=VINO
Comment=
Exec=/usr/lib/vino/vino-server
StartupNotify=false
Terminal=false
Hidden=false

18)解像度の変更

sudo vi /boot/config.txt

コメントアウトされているので,以下に変更

framebuffer_width=1280
framebuffer_height=1024

・カメラの設定

19)video0を起動時に認識
/etc/modules に bcm2835_v4l2 を追加

20)カメラの向きを反転
/etc/rc.localのexit 0の前に以下を追加

v4l2-ctl --set-ctrl horizontal_flip=1
v4l2-ctl --set-ctrl vertical_flip=1

・シリアル通信の設定

21)GPIOのシリアル設定
(カーネルパニックを起こすことがあるので,その場合はSDカードをWindowsに挿して書き換えて下さい) /boot/config.txtの末尾にこの行を追記

dtoverlay=pi3-disable-bt

/boot/cmdline.txtを編集

dwc_otg.lpm_enable=0 rpitestmode=1 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait fsck.repair=yes plymouth.ignore-serial-consoles

・ビルドに必要なソフトウェア・ライブラリのインストール

22)eigen3の環境設定

/etc/profileに下記の行を追記

export EIGEN3_INCLUDE_DIR="/usr/include/eigen3"

23)インストール(時間がかかります)


sudo apt-get update

sudo apt-get upgrade

sudo apt-get install build-essential cmake-gui cmake-curses-gui swig zeroc-ice35 libboost-all-dev libv4l-dev screen libeigen3-dev libqt4-dev python2.7-dev libopencv-dev python-espeak python-pygame libsdl1.2-dev ruby git libusb-dev libftdi-dev xdg-user-dirs-gtk-update libyaml-cpp-dev

ただし,ディレクトリ名は英語にする

LANG=C xdg-user-dirs-gtk-update

・実行ファイルの作成

24)ファイルの取得
(内部のみアクセスできます.公開できるバージョンを現在開発中)

git clone https://github.com/citbrains/citbrains_humanoid

25)ブランチの切替(暫定)

git branch shimoyoshi_robot2 origin/shimoyoshi_robot2
  1. ビルド,設定ファイルのコピー

  2. vimの設定(好みに応じて)

vi ~/.vimrc

set encoding=utf-8
set fileencodings=iso-2022-jp,cp932,sjis,euc-jp,utf-8
set tabstop=4
set shiftwidth=4
set softtabstop=4
set autoindent
set smartindent

動作確認終了(17/01/28)

ーーーーー

170103 暫定バージョン (最低限の動作確認ずみ)

作業

1)最低でも16GBのmicroSD(class10)を用意
  SDカードスロットのあるPC,microSDをSDカードに変換するアダプタを用意する

2)Raspbian 2016/09/28(1.4GB)をダウンロード
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/raspbian-2016-09-28/

3)2016-09-23-raspbian-jessie.zipを解凍
  2016-09-23-raspbian-jessie.imgが生成される

4)microSDカードをフォーマット

5)DD for windowsを使用して2016-09-23-raspbian-jessie.imgを書き込み

6)microSDカードをRaspberry PI 3に挿して起動

■エディタのインストール(後の作業を行いやすくするため)
sudo apt-get install vim

■ユーザの追加

sudo adduser cit
sudo vi /etc/sudoers
・以下を文末に追加
cit ALL=(ALL) NOPASSWD: ALL

■rootのパスワードを設定

sudo passwd root
cit161 (ロボットの番号)

■自動ログイン

sudo vi /etc/lightdm/lightdm.conf
以下を記述 デフォルトではpiが自動ログインになっている
autologin-user=cit
autologin-user-timeout=0

■VINOの設定
以下に従って設定 http://fishrimper.blogspot.jp/2016/04/raspberry-pi-3-vino-vnc.html

sudo apt-get install vino
sudo apt-get install dconf-editor

DISPLAY=:0.0 dconf-editor
dconfEditor の左側のツリーの画面で org -> gnome -> desktop -> remote-access をクリック
prompt-enabled のチェックを外す
require-encryption のチェックを外す

mkdir -p /home/pi/.config/autostart/
vi /home/cit/.config/autostart/vino.desktop

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=VINO
Comment=
Exec=/usr/lib/vino/vino-server
StartupNotify=false
Terminal=false
Hidden=false

■解像度の変更

sudo nano /boot/config.txt

framebuffer_width=1280 framebuffer_height=1024

■後はロボカップのインストール手順に従う https://github.com/citbrains/citbrains_humanoid/wiki/Ubuntu%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E9%96%A2%E9%80%A3

raspberryp piの設定
https://www.ramuda.co.jp/techlabo/archives/537

■ビルドエラーへの対処
CMakeList.txtの以下の記述をコメントアウト

SET (CMAKE_CXX_FLAGS "-march=native")

■カメラの接続及び設定
https://www.raspberrypi.org/documentation/usage/camera/README.md

sudo raspi-config  
5 Interfacing optionを選択  
P1 CameraをEnableに変更  

■以下に基づきカメラを通常のデバイスのように使用できるようにする.
https://goo.gl/5QiX12

■libftdiのインストール

sudo apt-get install libftdi-dev

■無線LANの接続

sudo iwlist wlan0 scan

でアクセスポイントのリストが表示される.

/etc/wpa_supplicant/wpa_supplicant.conf

にアクセスポイントの情報を記載する.

sudo reboot

/etc/dhcpcd.confに以下を追記

interface wlan0
static ip_address=192.168.100.161/24

■時計合わせ

sudo vi /etc/ntp.conf

以下を追加

pool ntp.nict.jp iburst

■GPIOのシリアル設定(注OSバージョンによってはカーネルパニックを起こします) 1./boot/config.txtを編集する

末尾にこの行を追記

dtoverlay=pi3-miniuart-bt

2./boot/cmdline.txtを編集する

内容を書き換え

dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair ↑ここらへんの設定で起動しなくなることがある.もう少し検討の余地あり.

■カメラのチェック用ソフト sudo apt-get install luvcview ※一度実行するとデバイスが開放されない.

■video0を起動時に認識
/etc/modules に bcm2835_v4l2 を追加

■カメラの向きを反転
/rc.localのexit 0の前に以下を追加

v4l2-ctl --set-ctrl horizontal_flip=1
v4l2-ctl --set-ctrl vertical_flip=1

・WiringPiのインストール

■GPIOを制御するには必要

$ git clone git://git.drogon.net/wiringPi
$ cd wiringPi
$ ./build

■以下を打ってエラーが出ずにバージョンが出てきたら成功

$ gpio -v

■スイッチの確認方法

GPIO_NUMをプルアップ

$ gpio -g mode ${GPIO_NUM} up

状態確認

$ gpio -g read ${GPIO_NUM}

初期状態ではcitユーザはGPIOの権限がないため制御ができず、root権限を使わないと出来な。 citユーザにGPIOの権限を渡すには以下の通りにやる。

$ sudo gpasswd -a cit gpio
$ sudo reboot