Raspberry PiのTips

# はじめに
Raspberry Pi/Raspberry Pi Zero関連のTipsをまとめる。

# 目次
+ [USBガジェットモード設定](#usbガジェットモード設定)
+ [SSH/VNC設定](#sshvnc設定)
+ [PCとファイル共有](#pcとファイル共有)
+ [日本語設定](#日本語設定)
+ [ユーザの追加・削除](#ユーザの追加削除)
+ [軽量エディタmicro](#軽量エディタmicro)
+ [スクリーンショットアプリ](#スクリーンショットアプリ)
+ [Amazon Prime Videoを見る](#amazon-prime-videoを見る)
+ [kivyが動作しない](#kivyが動作しない)
+ 都度追加予定

## USBガジェットモード設定
Raspberry PiのUSBポートをPCと接続し、USB-Etherポートとして動作させる。これによって、Raspberry PiをWifi等で直接ネットワークに接続していなくても、SSHやVNCなどの通信ができる。USBポートは電源も兼ねるため、供給電力には注意が必要。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1299802/cc8e927d-5c41-274d-ece3-4963cf81f523.png)

### Raspberry Pi側の設定
・Raspberry Piのイメージファイルが入ったmicroSD をPCにさして、```config.txt``` 、```cmdline.txt```の2ファイルを直接編集する。下記を追加する。
```:config.txt
dtoverlay=dwc2
```
```:cmdline.txt
# rootwaitの後にスペースを入れて下記を追加。改行不可。
modules-load=dwc2,g_ether
```

### PC側の設定
RNDIS ドライバをインストールする。下記よりダウンロード。

https://www.catalog.update.microsoft.com/Search.aspx?q=USB%20RNDIS%20Gadget

下記が参考になりました。

https://supportcommunity.zebra.com/s/article/Install-RNDIS-Driver-to-connect-RFID-reader-via-USB?language=ja

### IPアドレスについて
動的アドレスが割り当たるので、固定化したい場合は適宜設定する。Raspberry Piのホスト名がわかっている場合はpingでIPアドレスを確認できる。```-4```のオプションを付けないと、IPv6のアドレスで表示されるので注意。
```:ping
C:\Users\XXX>ping -4 <host名>
```
[戻る](#目次)

## SSH/VNC設定
### Raspberry Pi側の設定
[設定]→[Raspberry Piの設定]→[インターフェース]でSSHとVNCを有効にする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1299802/a492cfe6-48c8-0e09-4ed0-87edc27ae871.png)

### PCからSSHアクセス
```
# ssh <ユーザ名>@<Raspberry PiのIPアドレス>
# <ユーザ名>:pi / <Raspberry PiのIPアドレス>:192.168.0.10 の場合
ssh pi@192.168.0.10
```

### PCからVNCアクセス
VNC Viewerをインストールしてアクセス可能。

https://www.realvnc.com/en/connect/download/viewer/windows/

[戻る](#目次)


## PCとファイル共有
WindowsPCとのファイル共有。RaspberryPi側に共有フォルダを作ってアクセスする方法。```Samba```をインストールする。

### Raspberry Pi側の設定
```shell:samba install
sudo apt install samba
```
ユーザ名piでDesktop/Shareに共有フォルダアクセスする例。
```shell:設定
# フォルダ作成
mkdir /home/pi/Desktop/Share

#microでsambaのコンフィグファイル変更
sudo micro /etc/samba/smb.conf

#ファイルの最後に下記を追加してセーブ。
#[]内の名称が、共有フォルダ名になる。
[raspberrypi_share]
  comment = RaspberryPi
  path = /home/pi/Desktop/Share
  writable = yes
  browsable = yes 
  force user = pi

#samba用のアクセスパスワード設定。アクセスユーザ名がpiの場合
sudo smbpasswd -a pi

#sambaをリスタート
sudo systemctl restart smbd
```

### PC側設定
ファイルエクスプローラでIPアドレスを指定するとフォルダへアクセスできる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1299802/fbb8fad2-e509-37cc-782c-666901e62293.png)


[戻る](#目次)

## 日本語設定
下記参考になりました。

https://higmasan.com/iot/raspberrypi/raspberrypi5/make-raspberry-pi-5-into-japanese-environment/#:~:text=%E3%83%AD%E3%82%B1%E3%83%BC%E3%83%AB%E3%81%AE%E8%A8%AD%E5%AE%9A%201%20%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%201%20Raspberry%20Pi%20Configuration%E3%81%AE%E8%B5%B7%E5%8B%95%20%E3%81%BE%E3%81%9A%E3%80%81%E7%94%BB%E9%9D%A2%E5%B7%A6%E4%B8%8A%E3%81%AE%E3%83%A9%E3%82%BA%E3%83%99%E3%83%AA%E3%83%BC%E3%82%92%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%81%97%E3%81%BE%E3%81%99%E3%80%82,%28Japanese%29%20%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%A6%E3%80%81OK%E3%82%92%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%20...%204%20%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%204%20%E5%86%8D%E8%B5%B7%E5%8B%95%20

[戻る](#目次)

## ユーザの追加・削除
### ユーザ追加
```shell:ユーザ追加
#ユーザ追加
sudo adduser <ユーザ名>
#パスワード設定
sudo passwd smbuser
#管理者権限
sudo gpasswd -a <ユーザ名> sudo
```
### ユーザ削除
```shell:ユーザ削除
sudo userdel <ユーザ名>
```
[戻る](#目次)

## 軽量エディタmicro
Raspberry Pi Zeroの場合、VSCodeはかなり重い。日本語入力とシンタックスハイライトもできるアプリとしては、microが最適だった。GUIはないが、マウス操作もできるので、GUIのテキストエディタとほぼ変わらない。OSの環境ファイル変更等、癖のあるviの代わりとしても使える。

```shell:micro
#インストール
sudo apt install micro

#ターミナルから起動
micro <ファイル名>

#終了
ctrl+q
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1299802/87e65f3f-f5a9-d7ab-295a-31ccab5c858c.png)

[戻る](#目次)

## スクリーンショットアプリ
spectacle切り取り機能などもあるので、WindowsのSnipping toolのような使い方ができる。
```
sudo apt install kde-spectacle 
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1299802/bb293a71-8970-0c12-8e74-778d82e61d18.png)

[戻る](#目次)

## Amazon Prime Videoを見る
いつの間にかChromiumが著作権保護技術のWidevineに対応していた。去年ぐらいまでは対応していなかった気が。。下記でインストールすると普通にPrime Videoが見れるようになる(もちろんAmazon Primeの会員である前提)。その他動画配信サービスもおそらく対応していると思う。

```shell
sudo apt update
sudo apt full-upgrade
sudo apt install libwidevinecdm0
```

[戻る](#目次)

## kivyが動作しない
Pythonのkivyを使うとエラーが出ちゃうときの対処。下記参考にさせていただきました。

https://qiita.com/mix_dvd/items/d08763779058189f56bd

[戻る](#目次)

以上