極楽とんぼのロボット製作記

情報工学系大学院生がロボットとその周辺技術や身の回りの出来事について紹介するブログ

Githubでdotfilesを管理して、環境構築を一瞬で終わらせる

「プログラミングは環境構築が9割だ」
とプログラマーの方が言ってました。私は卒業研究中に操作ミスでPCのHDを吹き飛ばし、環境構築をはじめからやり直すことになったことがあります。dotfilesはPCが吹き飛ぶ恐怖と戦うための精神安定剤になること間違えなしです!これでムカついた友人があなたのPCを叩き割ってもあっという間に別のPCで環境構築できます。さあ、覚悟を決めてdotfilesを作りましょう!

dotfilesとは

dotfilesとは.vimrcや.profileといった'.'で始まる設定ファイルのことです。
dotfilesリポジトリにてこうしたdotfileを管理することで、現状の環境をすぐにマシンにコピーできるので、いつPCが飛んでも大丈夫だという圧倒的安心感が得られます。さらにdotfilesリポジトリによく使うソフトなどをまとめてインストールするシェルスクリプトなどをまとめて管理して、このリポジトリ1つですべての環境構築ができるようになります。
参考までに私のdotfilesです。
github.com
さらにもっともっと参考になる諸先輩方のdotfilesです。私にはまだ理解が及びません...。
github.com
github.com

dotfilesリポジトリの作成

Githubにdotfilesリポジトリを作成します。作り方は下記記事を参考にしてください。
www.g104robo.com
他人の目に触れるのはちょっとという方は非公開リポジトリも作成できます(下記参照)
Gitのための非公開リポジトリを作成する(Googleドライブ編) - 極楽とんぼのロボット製作記
Gitのための非公開リポジトリを作成する(Bitbucket編) - 極楽とんぼのロボット製作記


homeにdotfilesリポジトリをcloneしておきます。

ex)
$ git clone git@github.com:username/dotfiles.git

管理するファイルをdotfilesへ移動

管理したい設定ファイルをdotfilesに移動します。

$ mv ~/.vimrc ~/dotfiles/
$ mv ~/.vim/ ~/dotfiles/

# .config以下のdotfileを管理する場合はディレクトリを作成します
$ mkdir ~/dotfiles/.config/terminator/
$ mv ~/.config/terminator/config ~/dotfiles/.config/terminator/

シンボリックリンクを貼る(link.sh)

アプリケーションごとに設定ファイルの読み込み先を変更するのは大変なので、シンボリックリンク(ショートカットのようなもの)を貼ってあたかもこれまで通りのディレクトリにあるかのようにします。
1つ1つコマンドで

$ ln -snfv ~/dotfiles/.vimrc ~/.vimrc

のように設定しても良いのですが、今後管理したいファイルが増えてきた時に同じ作業をしなければならず、"dotfilesの環境構築"なる作業ができてしまうので、シェルスクリプトを作成します。

link.sh
8〜15行目で.configを除いた設定ファイルのリンクを生成しています。
dotfiles内に入っていながら設定ファイルから除きたいファイルは
[ "$f" = ".git" ] && continue
のようにして除外します。
18〜22行目で.config内の設定ファイルのリンクを生成します。
当初は.configディレクトリもまとめて管理していたのですが、.configにリンクを貼ってしまうと管理したくもない他のアプリケーションの設定ファイルが~/dotfiles/.config/に混入してしまいます。それらのファイルを1つ1つ.gitignoreに追加していくのも面倒に感じたので、.configに関してはディレクトリ内のファイルにリンクを貼ることにしました。
findコマンドを使用してしまうと、どうしても出力結果に./が含まれてしまい、これに対処するのに時間がかかりました。結果的に21行目のようにfile:2とすることで最初の2文字を飛ばして出力することができるとわかり、この方法で実装しています。もっとスマートな方法がありましたらご教授願います。

  • maxdepth 8 はfindコマンドが探索するディレクトリ階層の深さです。流石に設定ファイルで8階層を超えることはないと考え、この値にしました。
  • type f は探索する種類をファイルに限定するオプションです。-type dでディレクトリを探索します。詳しくは $ man findしてください。

シェルスクリプトを作成したら

$ chmod 755 link.sh

として権限を変更しましょう。その後、

$ ./link.sh

してリンクが正常に貼れたか確認しましょう。うまく実行できていれば

link home directory dotfiles
'/home/username/.vim' -> '/home/username/dotfiles/.vim'
'/home/username/.vimrc' -> '/home/username/dotfiles/.vimrc'
link .config directory dotfiles
'/home/username/.config/redshift.conf' -> '/home/username/dotfiles/.config/redshift.conf'
'/home/username/.config/terminator/config' -> '/home/username/dotfiles/.config/terminator/config'
'/home/username/.config/fcitx/config' -> '/home/username/dotfiles/.config/fcitx/config'
linked dotfiles complete!

のように表示されます。

必要なソフトをインストールする(install.sh)

よく使うソフトをインストールするためのスクリプトを作成します。

install.sh
インストールしたいパッケージをpackagelistに""で囲って入れておきます。
あとはapt-get installするだけです。

リポジトリ毎にユーザ名とメールアドレスを設定

dotfilesは様々なPCを行き来することが予想されるので、リポジトリにGitのユーザ名とメールアドレスを設定しておけば、うっかりいつもと違う名前でcommitしてしまうなんてことがなくなるので便利です。実はいつもの設定から--globalを除くだけです。--globalのほうが先に入ってきてしまうので私も調べるまで知りませんでした。

$ git config user.name username
$ git config user.email useremail@example.com

参考:特定のGitリポジトリだけAuthorを変更する - Qiita

さて、これで晴れてPC環境が吹き飛ぶ恐怖からお別れですね。これからは安心して環境を壊せます!

参考サイト
ナウなヤングのためのgithub入門講座 -基本機能からdotfiles管理まで- - tumblr
『GitHub+dotfiles』は環境構築を一瞬で終わらせるすごいやつ | vdeep
qiita.com
qiita.com
qiita.com

参考dotfiles
github.com
github.com

GithubにSSHで接続し、リポジトリを作成する

今回はSSHを利用してGithubに接続し、リポジトリを作成します。SSH鍵の作成、Githubへの公開鍵の登録、SSHを利用してGithubへpushを行います。SSHの利点としては、httpsのようにいちいちパスワードを入力する必要が無い点ですね。

githubのアカウントは作成されている前提です。作成方法がわからない方はこちらへ
Githubのアカウント作成方法 - Qiita

鍵の作成

まずはsshの公開鍵と秘密鍵を作成します。

$ cd ~/.ssh
$ ssh-keygen -t rsa -C your.email@sample.com
Generating public/private rsa key pair.
#ssh鍵を保存するディレクトリを設定する。何も入力しなければ ~/.sshに作成される
Enter file in which to save the key (/home/tombo/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):    #パスフレーズの入力
Enter same passphrase again:    #パスフレーズの再入力
Your identification has been saved in /home/username/.ssh/id_rsa.
Your public key has been saved in /home/username/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:.... your.email@gmail.com
The key's randomart image is:
+---[RSA 2048]----+
| ....|
+----[SHA256]-----+

id_rsaが秘密鍵、id_rsa.pubが公開鍵です。
公開鍵暗号については下記が参考になります。
公開鍵暗号方式

秘密鍵のパーミッションをユーザのみが読み書きできるように変更しましょう。

$ chmod 600 id_rsa

さらに~/.ssh/configにgithubに接続する際の設定を登録しておきましょう。こうすることで、接続する際の設定をまとめて行うことができます。
ssh configに関しては下記記事が参考になります。
~/.ssh/configについて - Qiita

$ vim ~/.ssh/config
Host github.com
Hostname github.com
Identityfile ~/.ssh/id_rsa
User git

githubに公開鍵を登録

githubに公開鍵を設定します。

$ cat ~/.ssh/id_rsa.pub

と入力し、出力内容をコピーしておきます。

下記にアクセスして公開鍵の登録をします。
Sign in to GitHub · GitHub
またはアイコンをクリックして、Settingsを選択し、SSH and GPG keysを選択してください。
f:id:gokuraku104robot:20170903173435p:plainf:id:gokuraku104robot:20170903173432p:plain

New SSH keyをクリックして、TitleとKeyを入力します。
Title: id_rsa.github.com.pub
Key: 先ほどcatしたもの
入力後、Add SSH keyをクリックして公開鍵を登録します。

試しにgithubにsshしてみましょう。

$ ssh -T git@github.com

ここで

The authenticity of host 'github.com (192.30.255.113)' can't be established.
RSA key fingerprint is <フィンガープリント>.

とでる場合、下記記事が参考になります。
GitHubに入門(その1) - Qiita
対応策としては

$ eval `ssh-agent`
Agent pid 22222
$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/username/.ssh/id_rsa: 
Identity added: /home/username/.ssh/id_rsa (/home/username/.ssh/id_rsa)
$ ssh -T git@github.com
Hi username! You've successfully authenticated, but GitHub does not provide shell access.

を実行します。

さらに、

Warning: Permanently added the RSA host key for IP address '192.30.255.112' to the list of known hosts.

が出る場合は下記記事が参考になります。
SSH接続でgit pushしたときに警告が出るやつへの対処法 - Qiita
この場合は

$ ssh-keygen -R 192.30.255.112

を実行します。

githubにリポジトリを作成する

githubにアクセスし、ユーザーアイコンの隣の+▼をクリックし、New repositoryを選択します。
f:id:gokuraku104robot:20170903175306p:plain

リポジトリ名を入力してCreate repositoryをクリックします。
Repository name: testrepos
Description: test repository
f:id:gokuraku104robot:20170903175302p:plain:w500

次に表示される画面でgithubから新しいリポジトリの作成方法が案内されます。至れり尽くせりですね。
f:id:gokuraku104robot:20170903180204p:plain
今回はSSHで接続するのでSSHをクリックします。基本的には案内通りでできますが、ここまでの流れで、まだディレクトリやファイルを作成していないので、作成します。

$ mkdir ~/testrepos
$ cd ~/testrepos
$ touch README.md

ここからはgithubの案内と同様です。

$ git init
$ git add .  #README.mdでも可
$ git commit -m "first commit"
$ git remote add origin git@github.com:username/testrepos.git
$ git push origin master

これで晴れてsshからgithubへpushすることができました。

参考サイト
qiita.com
Githubのアカウント作成方法 - Qiita
公開鍵暗号方式
~/.ssh/configについて - Qiita
GitHubに入門(その1) - Qiita
SSH接続でgit pushしたときに警告が出るやつへの対処法 - Qiita

Raspberry Piバージョン確認方法まとめ

ふとRaspberry Piのバージョンが確認したくなった時のメモです。f:id:gokuraku104robot:20170815114850p:plain

uname -a
Linux TomboroboRasPiZ 4.9.35+ #1014 Fri Jun 30 14:34:49 BST 2017 armv6l GNU/Linux

"4.9.35"がカーネルのリリース番号、"#1014 Fri Jun 30 14:34:49 BST 2017"がカーネルバージョン、"armv6l"がマシンのハードウェア名です。

lsb_release -a
No LSB modules are available.
Distributor ID:	Raspbian
Description:	Raspbian GNU/Linux 8.0 (jessie)
Release:	8.0
Codename:	jessie

参考サイト
raspbianのバージョン確認方法 | Raspberry Pi | マイノリティでいこう
Raspberry Pi – OSのバージョン確認方法 – Logicky BLOG
raspbian(Raspberry Pi)のバージョン確認方法 | Check!Site

Raspberry Pi 初期設定

Raspberry PiにRaspbianをインストールしたらまずやっておくべき設定をまとめました。raspi-config,SSH,日本語化に関する設定を解説しています。

使用環境
Raspberry Pi Zero
Raspbian 8.0 (Jessie)
NOOBSを使用してインストール

パッケージのアップデート

$ sudo apt-get update
$ sudo apt-get upgrade

raspi-configからの設定

terminalを起動して

$ sudo raspi-config

と打ちます。
下のような画面が表示されるので、カーソルキーを使って移動しながら、設定します。
f:id:gokuraku104robot:20170812110801p:plain

1.パスワードの設定

デフォルトではraspberryのままなので、パスワードを変更しましょう。
Change User Passwordを選択してEnterします。
"You will now be asked to enter a new password the pi user"と表示されるのでOKします。
ターミナルの画面に戻るので、新しいパスワードを設定します。
設定後、"Password changed successfully"と表示されれば完了です。

2.ホスト名の変更

ホスト名を変更します。
Hostnameを選択してEnterします。
Hostnameは大文字小文字は区別されません。

3.Bootオプション

Raspberry Piを起動したときに、コマンドライン、デスクトップ、スクラッチのどれを起動するか選択することができます。

4.言語とロケーションの設定

言語とロケーションの設定をします。
Localisation Optionsを選択してEnterします。

4.1言語の設定

Change Localeを選択してEnterします。
下のような画面が表示されるので、ja-_JP.UTF-8 UTF-8を選択します。
f:id:gokuraku104robot:20170812112234p:plain

その後、システムのデフォルトLocaleを設定するかどうか聞かれます。
f:id:gokuraku104robot:20170812113216p:plain
ここでもja_JP.UTF-8を選択します。

4.2ロケーション(Time Zone)の設定

Change Time を選択してEnterします。
Asia→Tokyoと選択します。これで時刻が自動的にTokyoの時刻に設定されます。

5.インターフェースオプション

Camera,SSH,I2Cの有効・無効の設定をします。
Interfacing Optionsを選択してEnterします。
f:id:gokuraku104robot:20170812161929p:plain
切り替えられるオプションはCamera,SSH,VNC,SPI,I2C,Serial,1-Ware,Remote GPIOです。
SSHを有効にすることで、PC上からRaspberry Piにコマンドを送って実行させることが可能になります。わざわざRaspberry Piにキーボードやらマウスやらを接続する必要がなくなるため、設定しておくことをおすすめします。
カメラを使う予定があったり、I2Cでセンサ情報を受け取る場合はそれぞれ有効にしておく必要があります。

IPの固定

SSHするたびにいちいちRaspberry Pi上でifconfigしたり、PC上でarp -aするのは面倒なので、IPアドレスを固定します。
まずは自分のIPアドレスをifconfigで確認します。

$ ifconfig
wlan0     Link encap:イーサネット  
          inetアドレス:192.168.xx.yy 

有線の場合はeth0、無線の場合はwlan0を確認します。このinetアドレスがこのRaspberry PiのIPアドレスです。

$ sudo vim /etc/dhcpcd.conf

として、

interface eth0
static ip_address=192.168.xx.yy
static routers=192.168.zz.aa
static domain_name_servers=192.168.zz.aa

を加えます。無線LANの場合はeth0のところをwlan0に変えます。


TeraTerm等で実際にSSHできるか確認しましょう。
TeraTermのインストールはこちら
Tera Termのインストール - Tera Termの使い方 - Linux入門 - Webkaru
TeraTermを使ったRaspberry PiのSSHはこちら
Raspberry PiをWindowsで操作する(SSH) | S2
下のようにIPアドレスを指定します。
f:id:gokuraku104robot:20170812164554p:plain
さらに、ユーザ名piでログインします。
f:id:gokuraku104robot:20170812172246p:plain
下のような画面が表示されたら成功です。試しにコマンドを実行してみましょう。
f:id:gokuraku104robot:20170812172300p:plain

Linuxの場合は

$ ssh -l pi 192.168.xx.yy
または
$ ssh pi@192.168.xx.yy

として接続できます。


日本語の設定

日本語フォント,日本語入力メソッド,日本語マニュアルのインストール

ターミナルから日本語フォント、日本語入力メソッド、日本語マニュアルをインストールします。
日本語フォントのインストール

$ sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname

日本語入力メソッドのインストール

$ sudo apt-get install fcitx-mozc

日本語マニュアルのインストール

$ sudo apt-get install manpages-ja manpages-ja-dev

インストールが終了したら、一度Raspberry Piを再起動します。

$ reboot

fcitx-mozcの設定

ターミナルから下記コマンドを実行して、fcitx-mozcの設定を行います。

$ fcitx-configtool

入力メソッドが
キーボード-日本語
Mozc
に設定してあることを確認します。
f:id:gokuraku104robot:20170812173650p:plain

全体の設定からHotkeyにて
入力メソッドのオンオフをZenkakuhankaku
拡張オプションをクリックして
入力メソッドをオンにHenkanmode
入力メソッドをオフにMuhenkan
に設定すると使いやすくなります。
f:id:gokuraku104robot:20170812173933p:plain



パス無しsudoの禁止

現状ではsudo raspi-configをパスワード無しに実行できてしまい、Raspberry Piが起動していればパスワードが分からなくてもパスワードを変更できてしまいます。そこでsudoを実行するためにパスワード入力が必要な設定に変更します。
/etc/sudoers.d/010_pi-nopasswdを開いて "pi ALL=(ALL) NOPASSWD: ALL" をコメントアウトします。

$ sudo su -
# vim /etc/sudoers.d/010_pi-nopasswd

下のように行頭に#を加えてください

#pi ALL=(ALL) NOPASSWD: ALL

保存の際には

:w !sudo tee % > /dev/null

とすると保存できます。
あるいは010_pi-nopasswdの権限を下のように変更してから編集します。

# chmod 640 /etc/sudoers.d/010_pi-nopasswd

念のため、編集後はもとに戻しておくことをおすすめします。
元に戻す際は

# chmod 440 /etc/sudoers.d/010_pi-nopasswd

とします。




参考サイト
Raspberry Pi のアップデート – Output48
Raspberry Piの初期設定まとめ – Output48
Raspberry Piの初期設定まとめ(オプション設定編) – Output48
Raspbianのインストールと初期設定 | 純規の暇人趣味ブログ
Raspberry Pi 初期設定(Raspbian Jessie) - Qiita
[メモ] Raspberry Pi: 初期設定 - Qiita

「画面のオーバーレイを検出」AndroidをMarshmallow(6.0)にしたらひどい目にあった件


とある休日にスマホをいじっていると、"ソフトウェアアップデート"の通知が来た。特にやることも無く暇な日であったし、新機能も気になったのでAndroid Lollipop(5.0)からAndroid Marshmallow(6.0)にしてみることにした。やることはアップデートボタンを押すだけだと、この時まで本当に信じ込んでいた。このワンタップが私のスマホ環境を徹底的に不便にすることなど、この時の私には想像もつかなかった。
アップデートが終了し、Twitterに飯テロ画像でもアップしようと思ったその矢先、それは起こった。
f:id:gokuraku104robot:20170726222239p:plain:w200
なんだ、いつものアクセス権限の認証かと思って「許可」を押すと、
f:id:gokuraku104robot:20170726222325p:plain:w200
画面オーバーレイの検出!?何のことだ?
ググると以下のサイトで解説されている。ブルーライトカットを行うアプリやリンクをタップすると自動でブラウザが起動するようなアプリはこの画面オーバーレイに相当する。要するに他のアプリの上に表示できるようなアプリということだ。
Androidの「画面オーバーレイを検出」の表示オフにする方法!
画面オーバーレを検出が消えないのを消す方法 | スターミント
「画面オーバーレイを検出」エラーが表示されるときに確認すべきこと | TeraDas-テラダス


こうしたアプリはその性質上、ユーザに上書きされた画面を見せながら意図したものとは別の操作を行えてしまうとして、権限の変更時にはこれらのアプリが使用できないようになっている(なら権限設定変更時のみ自動的に画面オーバーレイを行っているアプリを強制終了してくれればよいのだが...)。したがって、設定変更する際には手動で画面オーバーレイをしているアプリを終了する必要がある。

方法1:画面オーバーレイしているアプリを1つずつ終了させる

先程の画面オーバーレイを検出のダイアログで「設定を開く」をタップすると
f:id:gokuraku104robot:20170726223149p:plain:w200
ここで他のアプリの上に表示が許可されているアプリをユーザが1つ1つ丁寧に確認して他のアプリの上に表示を"不可"にする。現在起動中の画面オーバーレイアプリ全てを終了させることができればユーザの勝利だ。私はスマホに入っている150近いアプリを1つ1つ確認することにした。何せ暇だった。ところが程なくして壁に突き当たる。画面オーバーレイを不可にできないアプリが存在するのだ。これを見てほしい。
f:id:gokuraku104robot:20170726223957p:plain:w200
ドコモデータコピー、おそらくスマホの引っ越しをする際にドコモが使用を推奨しているアプリなのだろう。こういった購入時にデフォルトで入っているアプリは設定がほとんど変更できない。私のスマホにはこうしたアプリが20以上は確認できた。こうしたアプリが現在起動中なのかどうか、それらを1つ1つ調べる気には到底なれず、別の方法を調べることにした。

方法2:設定の許可から直接権限を変更する

設定→アプリから権限を変更したいアプリ(今回はTwitter)を選択する。
f:id:gokuraku104robot:20170726224618p:plain:w200
ここから「許可」を選択する
f:id:gokuraku104robot:20170726224804p:plain:w200
ストレージが不可になっているため、許可する。多くの解説サイトはここですんなりと権限を許可することができている。だが、私のスマホでは再び画面オーバーレイが検出され、私は振り出しに戻された。
f:id:gokuraku104robot:20170726225139p:plain:w200

ユーザが求めているのはオーバーレイしているアプリの設定を変更することじゃない、使いたいアプリの設定を変更することなんだ!

誰が好き好んで設定変更のための設定変更をするんだ。俺はTwitterで飯テロ画像を上げたいだけなんだ。それともこれは飯テロを阻止するための何者かの謀略なのか!

Marshmallowとの別れ

私は彼と過ごした3時間を忘れない。私の貴重な休日をいとも簡単に奪い去った彼を一生忘れない。どうしてこんな致命的な欠陥を抱えたままリリースしてしまったのか理解できない。私は彼に別れを告げ、新天地を目指すことにした。

方法3:Nougat(7.0)にする

このオーバーレイ検出の問題はMarshmallowのみで確認されている。私はMarshmallowよりまだ見ぬNougatの方が使いやすくなっていることを信じて、アップデートボタンをタップした。
f:id:gokuraku104robot:20170727224756p:plain:w200
アップデート終了後、無事アプリの権限が変更できるようになっていることを確認した。これでようやくTwitterに画像をアップできる。

Raspberry Pi ZeroにRaspbianをインストールする

Raspberry Pi ZeroにRaspbianをインストールする手順を説明します。

NOOBSのダウンロード(時間の目安:30分)

まずはRaspberry Piの公式ページからNOOBSをダウンロードします。NOOBSはRaspbianのインストールをより手軽に行うためのOSインストーラーです。NOOBSの"Download ZIP"をクリックしてダウンロード開始です。イメージは1.4GB(version 2.4.2)程度あるのでダウンロードに時間がかかると思われます(ネット環境にも依りますが私は30分程度かかりました。)。ダウンロードしながら、他の作業をすることをおすすめします。
Raspberry Pi Downloads - Software for the Raspberry Pi
f:id:gokuraku104robot:20170715154934p:plain:w500
ちなみに、NOOBSはOSイメージが既に入っているタイプで、NOOBS Liteはインストール時にOSイメージをダウロードするタイプです。したがってインストール時にネットワークに接続されている必要があります。

SDカードフォーマッター(時間の目安: 5分)

NOOBSのダウンロードをしている間にSDカードのフォーマットをします。
SDメモリカードフォーマッター - SD Association

Windows用、Mac用ともに用意されています。
SDカードフォーマッターを起動すると以下のような画面が出ます。
f:id:gokuraku104robot:20170715155529p:plain:w500
カードの選択にてフォーマットするSDカードを選択し、フォーマットオプションでクイックフォーマットを選択し、フォーマットを行います。

NOOBSをSDカードにコピー(時間の目安: 3分)

NOOBSのダウンロードが終了したら、Zipファイルを解凍し、解凍したNOOBSのファイルをSDカードにコピーします。

Raspberry Pi Zeroの起動準備(時間の目安:10分)

f:id:gokuraku104robot:20170716125423j:plain:w500
上の写真のようにRaspberry Pi ZeroにMicroSD,HDMI,USBハブ,電源用USBを接続します。電源が供給されると自動的にRaspberry Pi Zeroが起動します。

NOOBSを使ってRaspbianのインストール(時間の目安: 40分)

起動すると下のような画面が表示されます。
f:id:gokuraku104robot:20170717114900j:plain:w500

画面下の言語設定にて日本語に設定できます。
f:id:gokuraku104robot:20170717120222j:plain:w500

インストールを押してインストールを開始します。
f:id:gokuraku104robot:20170717120517j:plain:w500

「SDカードの既存データが上書きされます」という警告がでるため、はいを選択します。
f:id:gokuraku104robot:20170717121241j:plain:w500

インストールが開始されます。30分ほどお待ちください。

インストール終了後、下のような画面が出ます。
f:id:gokuraku104robot:20170717121734j:plain:w500


OKを押すとRaspberry Pi Zeroがリブートします。下の画面が表示されればインストール終了です。お疲れ様でした。
f:id:gokuraku104robot:20170717171753j:plain:w500


参考サイト
はじめてのRaspberry Pi : OSインストール編 – Output48
第2回: micro SDカードにRaspbianをインストールする – Blue-black.ink
Noobsを使ってRaspberry PiにOSをインストールする

インストールが終了したらRaspberry Piの初期設定を行いましょう。
www.g104robo.com

Raspberry Pi Zeroに必要な物リスト

ついにRaspberry Pi Zero Wの技適が通り、本日07/18(火)からSwitchScienceやKSYなどで販売が開始されます。今回はRaspberry Pi Zeroを起動させるために必要な物をまとめました。周辺機器に関してはほとんどがAmazonで手に入ると思います。Raspberry Pi Zero Wの方は最後の無線LAN子機のに無視していただければ、問題なく買い揃えることができるようになっています。

全体の構成

まずこれからセットアップしようとしているRaspberry Pi Zeroの構成は下の写真のようになります。
f:id:gokuraku104robot:20170716125423j:plain:w500
Raspberry Pi Zero基板にはMicro-USB-Bケーブルで電源が供給され、入出力用のUSB-Hubも接続されています。ディスプレイへはminiHDMIを通して接続されています。

本体

Raspberry Pi Zero本体はKSYやSwitch Scienceなどで購入できます。品薄状態が続いているため、在庫が切れていることが多いです。
ホーム - Raspberry Pi Shop by KSY
Raspberry Pi Zero v1.3 - スイッチサイエンス
送料はKSYが756円(5000円以上お買上げで無料)、Switch Scienceが150円(3000円以上お買上げで無料)となっています(2017/07/16現在)。

周辺機器

Raspberry Pi Zero本体以外に必要な物品をまとめておきます。自分で全て揃えるのが面倒な場合はスターターキットもおすすめです。

Raspberry Pi Zero v1.3 スターターキット - スイッチサイエンス

MicroSDカード

Raspberry PiのOSであるRaspbianを入れるためのMicroSDカードです。8GB程度あれば十分です。

USBハブ

Raspberry Pi Zeroはmicro-USB-Bの差し口が1箇所のみしか無いので、USBハブがほぼ必須です。
おすすめはこちら

USBポートを3つ増やせるのに加え、Raspberry Pi Zeroを駆動するための電源が供給できるポートも一緒についており、付属のACアダプタを利用して、これ1つでポートの増設とRaspberry Pi Zeroへの電源供給ができます。

USB(microB to A)変換ケーブル

上記のUSBハブは出力端子がUSB-Aのオスなので、Raspberry Pi Zeroに接続できるようにmicroUSB-Bに変換します。

マウス&キーボード

Logicoolで揃えることをおすすめします。LogicoolのUnifyingを利用して、一つのUSBアダプタでマウスとキーボードを接続できるので、USBポートを節約できます。

マウス


キーボード

ディスプレイ&miniHDMI to HDMI (&HDMI to VGA)

ディスプレイに関してはお手持ちのものがあればそれで構いません。ただしRaspberry Pi Zeroへの接続はminiHDMIですのでHDMIから変換する必要があります。


ディスプレイがVGA(D-sub)を利用した接続の場合はHDMI to VGAも必要です。

無線LAN子機(Raspberry Pi Zero Wは不要)

ネットに接続する方法はUSBの無線LAN子機を用いる方法と有線LANアダプタを接続する方法があります。おすすめは無線LAN子機を接続する方法です。ただでさえUSBハブやら電源やらモニタやらの配線があり、この上有線LANなんてつなげたらスパゲッティになってしまいます。おすすめはこちら

FRISK

オプションです。通常サイズは削らないとボードが収まらず、かと言って120%BOOSTERでは微妙にボードが動いてしまうので悩ましいところです。

参考サイト
第1回: セットアップに必要なもの – Blue-black.ink
フリスクでRaspberry Pi Zeroのケースを作る - 猫の手も借したい