Open13

Ubuntu 20.10 on RPI4 で設定したこと

fuyufuyu

VNCを使えるようにする

暗号化しなくても使えることにする

 $ gsettings set org.gnome.Vino require-encryption false

Screen sharing

Access optionsはパスワードありにする

fuyufuyu

Jupyter notebook を使えるようにする

必要なものをinstall

sudo apt install python3-pip python3-dev python3-venv
pip3 install --upgrade pip

仮想環境を構成

作業フォルダに移動して仮想環境を構成する
なんでもいいのですが、jupyterという仮想環境に命名してます

mkdir work
cd work

python3 -m venv jupyter

https://docs.python.org/ja/3/library/venv.html

仮想環境を有効化

. jupyter/bin/activate

Jupyter notebookをinstall

pip install jupyter

Jupyter notebookを起動

適当なフォルダに移動して起動

jupyter notebook

エラーがでた

[W 21:14:04.378 NotebookApp] ウェブブラウザが見つかりません: could not locate runnable browser

エラーがでるので起動の設定を変える

jupyter notebook --no-browser

リモートから接続

ssh -L 8890:localhost:8888 <ユーザ名>@<RPI4のIPアドレス>

https://www.kmc.gr.jp/advent-calendar/ssh/2013/12/09/tunnel2.html

ブラウザから接続する

fuyufuyu

Coral USB Accelerator(Edge TPU) を使えるようにする

gitを設定

sudo apt-get install git

https://coral.ai/docs/accelerator/get-started#1a-on-linux

tfliteを設定

pythonは3.8系だったので

pip3 install https://github.com/google-coral/pycoral/releases/download/release-frogfish/tflite_runtime-2.5.0-cp38-cp38-linux_aarch64.whl

サンプルを試す

mkdir coral && cd coral
git clone https://github.com/google-coral/tflite.git
cd tflite/python/examples/classification
bash install_requirements.sh
python3 classify_image.py --model models/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite --labels models/inat_bird_labels.txt --input images/parrot.jpg
fuyufuyu

vimを更新する

vimが最初のままだと使いづらかった

sudo apt update
sudo apt install vim
fuyufuyu

streamlit が入らない

pyarrowで引っかかる

Building wheels for collected packages: pyarrow
  Building wheel for pyarrow (PEP 517) ... error

https://discuss.streamlit.io/t/raspberry-pi-streamlit/2900/17

確認作業:pythonのバージョンを変更

pyenvをインストール

https://github.com/pyenv/pyenv/wiki#suggested-build-environment

sudo apt-get update; sudo apt-get install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

https://github.com/pyenv/pyenv-installer

curl https://pyenv.run | bash
exec $SHELL
pyenv update

python 3.7系をインストール

pyenv versions
pyenv install --list
pyenv install 3.7.9

python 3.7系を使えるように

pyenv global 3.7.9
eval "$(pyenv init -)"
fuyufuyu

cronを設定

設定

crontab -e

月曜日から金曜日の毎朝8:15に実行

15 8 * * 1-5 sleep 40;/home/[user名]/work/hogehoge.sh 

動作確認

/etc/init.d/cron status
fuyufuyu

録音したm4aファイルをmp3に変換

ffmpeg -i AAA_2021-01-07-08_15.m4a -ab 192k AAA_2021-01-07-08_15.mp3
fuyufuyu

Ubuntu から Bluetoothデバイスで音を流す

bluetoothのペアリング諸々

bluetoothctl 

以下いろいろ

show
devices
paired-devices
connect [hogehoge]
pair [hogehoge]
disconnect

https://twitter.com/nofrmm/status/1347754462295650307
https://twitter.com/nofrmm/status/1347752020619399169

terminalからvlcを操作

GUIを使う気はなかった

sudo apt install vlc

m4a,mp3をぐちゃぐちゃと入れているフォルダにcd
m4aが再生できてしまった(予想外)

nvlc .

https://twitter.com/nofrmm/status/1347753170882072576

fuyufuyu

Plotly/Dashを使えるようにする

インストール

python3 -m venv plotly1
 . plotly1/bin/activate
python3 -m pip install --upgrade pip
pip install plotly wheel pandas

サンプルから

app.pyを用意する
https://dash.plotly.com/layout

アプリを起動

python app.py 

クライアントから接続

ssh -L 8051:localhost:8050 <ユーザ名>@<RPI4のIPアドレス>

ブラウザから表示

http://127.0.0.1:8051/ をブラウザからアクセス