ロボットを作るロボット.Blog

自称ロボット屋の長めのつぶやきと備忘録.

Rasberry Pi 3B+ 設定覚書

はじめまして,カッキーといいます.

このブログは趣味関連の記述他,技術(機械設計,電子工作,PC,DIYその他)系の覚書に使っていこうと思っています.

では早速……アレコレきちんと設定されたRaspberry Pi 3 B+ を仕立て上げる仕事を今やっているので,それ関係のことを実践しながらまとめて(引用して)おきます.

※(PC系は特に)トーシロなので試行錯誤します.

 

内容.

①ユーザー設定とセキュリティ設定

②↑に伴うプロキシ設定

③日本語化,日本語入力設定

シンボリックリンクの設定【追記】

⑤ネットワーク設定【追記】

 

Win32 Disc Imagerで,以前適当に作ったディスクイメージを焼いたmicroSD(16GB)を用意.それを本体にぶっこんでスタート.

 

ファームウェア・ユーザー設定・セキュリティ系

masatolan.com

ここが詳しかったので,参照すると早そう.

ただし,このブログを見るような人間は学校とか会社で設定やらないといけない,つまりプロキシ越しに設定しなきゃいけない人も多そう(というか,僕がそうなんですけど).そこでこちらも.

②apt-get のプロキシ設定

raspibb.blogspot.jp

この「Raspberry Pi で学ぶ電子工作」,僕も買いましたが面白い本です.ちゃんと電子工作の基本に関してフォローされてるのがいいですね.プルアップ・プルダウンに関してとか,Arduinoの教本(オライリーのやつ)には載ってなかったし.

ただ,バージョンの違いなのかディレクトリがちょっと違うので補足.

apt-getのプロキシ設定ファイルは/etc/apt/apt.confではなく,/etc/apt/apt.conf.d/02proxy 内です.記述自体は上述リンクのままで良し.

 

さて,基本の設定がほぼ完了.

 

あと役に立ちそうな設定……日本語化と日本語入力設定かな.いらん気もするけど,あって困るでもなし.むしろ,いざって時無いと地味に困る.

 

③日本語化,日本語入力設定

とりあえず日本語入力設定はやることに.日本語化もできればついでに.

ubuntu 14.04だとfcitx-mozcを使う方法が早かった記憶があったので,mozcでサクサク検索.

qiita.com

うむ,googleは偉大.

……と思ったのもつかの間.全然日本語が出ない.ibusの設定で全角半角キーで切り替わるよう設定.しかし無駄.何かおかしい.忘れてる気がする.

……そうだ,肝心のフォントを入れていない.上述リンクの方は他の方法を試す途中で入ったのでは.

……

正しい方法を求めて奔走.怒涛のリブート連発.SDはブート早くて助かる.

raspi-studio.hatenablog.com

これかな……やってみたところ日本語化には成功.

しかしuimuim-mozcを入れても日本語入力できず.

むむむ.

この2つを削除.

sudo apt-get autoremove uim uim-mozc

かなり頭悪いことしてるな……と思いつつ.開き直る.

sudo apt-get install fcitx-mozc

慣れ親しんだfcitxに頼る.インストール後再起動.ついに日本語入力できた.

(狙ったキーで切り替えを行うのにguiでの設定は必要だった)

===5/21追記===

キーボードレイアウトの設定もfcitx側でやるようだ.

==========

 

どうやら,

ロケールの変更

②フォントのインストー

③入力メソッドの変更と設定

が肝のようだ.メモメモ.

 

しかしiBusは悪い話しか聞かない.僕の運が悪いのだろうか……

 

とりあえず今回はここまでです.まとめ.

 

・ユーザー設定とセキュリティ設定

・↑に伴うプロキシ設定

・日本語化,日本語入力設定

 

まあ日本語化に関しては設定済みイメージが出回ってるから,簡単に済ませたいひとはそっちでいいかも.でも自分でやるのもそれっぽくていいじゃない.

 

気が向いたらまた追記をします.それでは.

 

===追記===

 ④シンボリックリンクの設定

ロボット屋かIoTやりたいMakerでもなければ要らないと思うのだけど,必要な人にはかなり必要なので追記.

udev の設定をカスタマイズする - いますぐ実践! Linuxシステム管理 / Vol.115

↑参考サイト.rulesを書き込むディレクトリ名もそのまんま使えた.

 

例として,簡単マイコンボードArduinoの接続を扱う.

 ArduinoはPC接続時にシリアルポートとして認識され,/dev/内にttyACM*(UNOの場合)だとかttyUSB*(NANOの場合)といった名前でバッファとなるファイル(リンク)ができます.

で,このファイル名が他のUSBデバイス(ロボ屋的にはUSBシリアル変換モジュールとかLIDARとかDACSボードとか……)と被る,また差す度番号が変わってしまうので,USBを差した時点でArduinoを認識し,別の名前をつけてしまう.この新しい名前のファイルがシンボリックリンク

ついでに権限を書き換えることで,管理者権限無しでユーザーが利用できるようにしたり.

USBデバイスがきちんと認識されていれば(認識がこける場合は扱わないこととする,モジュールのインストールとか必要.),lsusbというコマンドでベンダーID等が見られる.これをキーにして識別する.

とりあえず答えを書く.やたら#がつくのは.rules内に丸コピすることを想定しているため.

##for Arduino

KERNEL=="ttyACM*", OWNER="mekakky", GROUP="mekakky", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0043", MODE=="0666", SYMLINK+="Arduino"

##上部の文を/etc/udev/rules.d/ に10-myrules.rulesといった感じのタイトル(数字は優先順位,ほかの部分は適当)で入れればOK.


##説明##
## KERNEL=="ttyACM*"  対象デバイスの名前(頭の部分)
## 0WNER="mekakky"  権限をもつユーザー(デフォルトではroot. これをhomeユーザーにすることでsudoなしでUSBデバイスが使える.)
## GROUP="mekakky"  所属グループ(デフォルトではroot)
## ATTRS{idVendor}=="2341" ID(対象のデバイスを接続したときlsusbで出てくるものを打ち込んで指定)
## ATTRS{idProduct}=="0043" 同上
## MODE=="0666"   モード(読み書き可能なモード)
## SYMLINK+="Arduino"  シンボリックリンクの名前(好きに命名できる)ショートカットのようなもの.

## 上部の文の意味をざっくり説明すると,「名前の頭に"ttyACM"を含み」「ベンダーIDが2341で」「プロダクトIDが0043の」デバイスを,「権限者をmekakky」「所属グループをmekakkyに」に指定し,「モードを0666」とし,「シンボリックリンク"Arduino"を作成する」といった感じ.
##他にもいろいろ設定をつけられるので,調べるとよい.

 

こんなところか.前に身内向けに書いたマニュアルそのまま書いた.

じつは,IDが被る場合も存在する.そして,その場合はまた違った設定が要る.

が,まだよく理解していない.今回はここまでで.

 

===追記2===

⑤ネットワーク設定

これまた重要なやつを忘れていた.DHCPで事足りていたのだ.

リモート操作したい時は必要になるからね.

では今回の参考サイト.

hattotech.hatenablog.com

これの前半がそのまま使えた.

/etc/dhcpcd.conf を編集する.

一番末尾に,

interface eth0
static ip_address=X.X.X.X/24
static routers=X.X.X.1
static domain_name_servers=X.X.X.1

適宜入力.順に,使用しているアダプタ(無線LANならwlan0だ),IPアドレスゲートウェイDNS.……多分これであってる.接続はできた.