Raspberry Pi zero で JupyterLab を使う
Raspberry Pi zero でJupyterLabを実行し,PCからJupyterLabを利用するための設定をまとめておきます.ゴールは,PCからJupyterLabでPythonコードを開発して,RaspberryPiのGPIOに接続した外部機器(LEDやDCモータ)を制御することです.
USB Gadget Driver (OTGドライバ)を利用することで,Raspberry PiをUSBの子機として動作させることができます.Raspberry Pi Zeroの場合,USB給電が可能ですので,USBケーブル1本ですみますし,インターネットにもブリッジ接続でつなげることができます.PCからRaspberryPiへのアクセスは,ターミナルからSSHで接続するか,VNCリモートデスクトップで接続できます.
ここでは,JupyterLabや必要なPythonライブラリをRaspberryPiにインストールできればよいので,SSHで接続してRaspberryPiを設定する方法を説明します.
・Raspberry Pi Zero WH
・SDカード 32GB
・USBケーブル A - microB(データ転送ができるもの)
Raspberry Pi Zero のOSの準備
●公式サイトから,OSイメージをダウンロードします.
今回は,Raspberry Pi OS with desktop を選択
●Etcher でSDカードにOSイメージを書き込みます.
MacでEtcherを管理者モードで起動するには,ターミナルでつぎを実行
$ sudo /Applications/balenaEtcher.app/Contents/MacOS/balenaEtcher
●イメージの書き込みが終了したら,PCにSDカードをマウントして,SSHを有効にするために次の作業をします.
$ touch /Volumes/boot/ssh
$ echo "dtoverlay=dwc2" >> /Volumes/boot/config.txt
さらに,
$ vim /Volumes/boot/cmdline.txt
として,文末に modules-load=dwc2,g_ether を追加します.
Raspberry Pi Zero の起動
●SDカードをRaspberry Pi Zero に装着します.
●データ通信ができるUSBケーブルを用いて,PCとRaspberryPiを接続します.
●PCでUSB接続のインターネット共有を有効にします.
→ MacOSでは,インターネット共有でRNDIS/Ethernet Gadget を選択します
●PCのターミナルから,
$ ssh pi@raspberrypi.local
で接続します.初期PWは raspberry です.
●システムのアップデートをします.
$ sudo apt update
$ sudo apt upgrade -y
$ sudo reboot
●Pythonライブラリをインストールします.制御系設計用のライブラリやJupyterLabをインストールします.
$ sudo apt install libatlas-base-dev
$ sudo pip3 install -U bumpy
$ sudo pip3 install slycot
$ sudo pip3 install control
$ sudo pip3 install jupyterlab
●JupyterLabの設定をします.以下のコマンドを実行します.
$ jupyter lab --generate-config
$ vi ~/.jupyter/jupyter_lab_config.py
そして,該当箇所を以下のように変更します.起動時にブラウザが起動しないようにする設定やパスワードの設定をします.パスワードは control です.
c.ExtensionApp.open_browser = False
c.ServerApp.ip = '*'
c.ServerApp.password = 'sha1:f11c457757ec:03959a3edadc01be08a48bfcd34d2b0ee18a5963'
control -->
sha1:f11c457757ec:03959a3edadc01be08a48bfcd34d2b0ee18a5963
JupyterLabの起動
●PCからRaspberryPiにSSH接続し,つぎのコマンドを実行してJupyterLabを起動します.
$ jupyter lab
すこし,起動に時間がかかりますが,気長に待ちましょう
RaspberryPi 上のJupyterLabにアクセスする
●PCのブラウザからRaspberryPi 上のJupyterLabにアクセスします
http://raspberrypi.local:8888/lab
パスワードを聞かれたら,control を入力します.
動作が遅い時もありますが,お茶でも飲みながらのんびり待ちましょう
●ノートブックを作成し,サンプルコードを実行してみましょう
ひとまず,制御工学の勉強ができる環境が整いました.Pythonで制御工学を学ぶには,拙書「Pythonによる制御工学入門」がおすすめです.
このあと,DCモータとエンコーダをRaspberryPiのGPIOピンに接続して,PythonでDCモータを制御することに挑戦します.
GPIOの制御
●工事中
この記事が気に入ったらサポートをしてみませんか?