0. 事前学習
AnacondaのDownloadに時間がかかる場合があるので、事前にDownload, インストールをしておくと良いです。
1. 授業の概要
IoT演習シラバス案その2(授業計画表)の第2週に予定している内容の一部です。
(以下の説明で、自分のパソコンの表示が以下の説明の表示と異なる場合があります。例えば、英語で表示されているものが日本語であったり、その逆であったり、C:ドライブの名前が異なったりする場合があります。ソフトウェアのバージョンが異なって、名前が異なる場合もあります。表示が異なっていて、どう操作すれば良いかわからない場合は、他の同様のWebページを参照したり、担当者に聞いたりしてください)
第2回 マイクロコントローラ
- グループ分け(毎週異なるグループに分ける)
- 演習に使う部品を配布
- Raspberry Pi Pico (以下 Pico)の紹介
- VSCode を使った, Pico のPythonプログラミングと実行の手順説明
- 演習: VSCodeの環境設定とPico付属の発光ダイオード(LED)の点滅(Lチカ)実験
- 授業の振り返り
2. マイクロコントローラとは
マイクロコントローラとは、小さなコンピュータのことで、様々な機器に組み込まれて利用されることが多いコンピュータです。CPU (コンピュータの中心部分)とメモリと入出力回路を組み合わせたものが一般的です。
メモリとして、通常、RAMとROMが付いていています。ここで、RAMとは電源を切ると記憶が消えるメモリ(揮発性メモリ)です。本来、RAMは Random Access Memory の頭文字をとったもので、この中には記憶が消える意味はないのですが、揮発性メモリのことをRAMと呼ぶのが一般的です(ROMもRandom Access Memory です)。ROMとは電源を切っても記憶が消えないメモリ(不揮発性メモリ)のことで、Read Only Memory の頭文字をとったものです。Read Only と言っても、最近は、電気的に内容を書き換えることが可能な、EEPROM(Electrically Eraseable Programable ROM)やフラッシュメモリが使われることも多いです。
マイクロコントローラは、ROMに書き込まれたプログラムを、RAMの領域に計算の途中経過を記録しながら実行することが一般的です。したがって、パソコンのように、様々なプログラムを汎用的に動作させるような用途に使うことはあまりありません。物のインターネット(Internet of Things, IoT)のエッジシステム(末端側でのデータ収集や動作を行うシステム)の中心的な部品としてよく使われています。
3. Raspberry Pi Pico W (Pico W)
Raspberry Pi Pico W (以後 Pico W)は、Raspberry Pi 財団が開発した無線LAN(Wi-Fi)機能を持った、安価なマイクロコントローラです。
無線LANの機能を持っているので、IoTのエッジシステムとして利用することができます。Wi-Fiの代わりにBluetooth を利用することもできます。USBのポートも持っていて、USBケーブルでPCと接続すると、Pico WをパソコンからはUSBメモリとして読み書きできるようになります。ここにPico Wのプログラムのファイルをドラッグ&ドロップで書き込むことができます。C/C++とMicro Pythonのプログラミング環境が利用できます。
(Raspberry Pi Pico WはWeb上の様々な通信販売サイトを使って注文することができます。例:Switch Science, 秋月電子通商, せんごくネット通販, マルツオンライン, Mouser Electronics, DigiKey, Amazon, AliExpress)
この授業では、Pico Wにピンヘッダをつけた、Raspberry Pi Pico WHを利用することにします。このことで、ブレッドボードにPico Wと入出力装置とジャンプワイヤを挿入することで、半田付けしなくても周辺装置をPico Wに接続することができるようになります。
(Raspberry Pi Pico W)
ここでは、統合開発環境である Visual Studio Codeを使ってプログラムを作成し、Pico W においてそのプログラムを実行する方法について説明します。
4. ファームウェアの書き込み(MicorPythonのプログラムを Pico W で実行できるようにする)
Pico WはPCからUSBを経由して「firmware」を書き込むことができる「BOOTSEL」modeを持っています。ここで firmwareとは、Pico WのROMに書き込まれて、起動時に動作を開始する基本的なプログラムです。BOOTSELボタンを押したまま、Pico WをPCとUSBケーブルで接続すると、Pico WがPCからはUSBのドライブ(mass storage devide)として見えるようになります。
ここに、Pico WのためのMicroPythonの実行プログラムをドラッグ&ドロップで書き込むことにより、以後、Pico WでMicroPython のプログラムが実行可能になります。
以下、Pico WでMicroPythonプログラムを実行可能にするための手順です。
(参考:Raspberry Pi Pico W の LED を VS Code を使って、点滅させてみた。(RP-Pico チュートリアル))
4.1. firmwareのdownload
あらかじめ、パソコン(ここではWindowsパソコンを想定しています。 以後、PC)にPico WでMicroPythonを実行するためのfirmwareをダウンロードしておきます。以下のようにリンクを辿って、Pico W (Raspberry Pi Pico W)用のMicroPythonのUF2ファイルをダウンロードします(Raspberry Pi Pico のuf2と間違わないようにしてくださ)。
Raspberry Pi Documentation->Microcontrollers ( https://www.raspberrypi.com/documentation/microcontrollers/ ) -> MicroPython ->MicroPython UF2 File
4.2. Pico Wにfirmwareを書き込む
このページに表示されている説明アニメーションに従い、Pico WのBOOTSELスイッチを押したまま、USBケーブルで、Pico WをfirmwareをダウンロードしたPCに接続します。すると、RPI-RP2という名前が付けられたドライブがPCで見えるようになります。
1.でdownloadしたfirmwareを、ドライブ RPI-RP2にドラッグ&ドロップして、書き込みます。
(BOOTSELボタンを押しながらUSBケーブルでPico WをPCに接続)
(PCから見えるようになったPico Wのドライブ。ここに、先ほどダウンロードした、uf2ファイルをドラッグ・ドロップします)
5. AnacondaでPythonのインストール
AnacondaとPythonをまだPCにインストールしていなければ、PCにAnacondaとPythonをインストールします。
(参考:たった5分で簡単!AnacondaでPython3をインストール(Windows/Mac編))
5.1. Anaconda Installer をダウンロード
5.1.1 このリンクをクリック https://www.anaconda.com/download/
5.1.2. Anaconda Installer をダウンロード
5.1.1で開いたページに、以下のような表示があるので、ここで、自分のOSのInstaller(インストールするプログラム)をクリックして、Installer をダウンロードします。
Email Address: の下に、パソコンメールのメールアドレスを書いて、
"Agree to receive commmunication from Anaconda regarding relevant content, ..."の左側のチェックボタンにチェックを入れ、"Submit >"ボタンをクリックします。
上のような内容のメールが指定したメアドに届くので、"Download Now"ボタンをクリックしてダウンロードページを表示します。
ダウンロードを表す、下矢印の下に箱があるアイコンをクリックしてダウンロードを始めます。
5.2 Anaconda Installerを実行
5.1で (Windowsの場合) ダウンロードしたInstallerをダブルクリックして実行します。
(このアイコンをクリックし出てきたウィンドウで"Anaconda*-*****.exe" の下の「ファイルを開く」をクリックすると、Installerの実行が始まります。)
(Installerの実行が始まると、上のようなウィンドウが表れます。ここで「Next」ボタンをクリックします)
(利用同意書が現れるので、これを確認し、「I Agree」ボタンをクリックします)
(自分だけで使うか?、このコンピュータのすべての利用者で使うか?の選択画面が表れます。ここでは、デフォルトの、自分だけで使う(Just Me)が選択された状態で「Next」ボタンをクリックします)
(Anacondaをインストールするフォルダーを指定する画面が表れます。ここでは表示されたデフォルトのフォルダをそのまま選んで、「Next」ボタンをクリックします)
(Start Menu ショートカットを作成するか?Anaconda3を自分のPATH環境変数に加えるか(奨励しない)?Anaconda3を自分のPython3.11のデフォルトとして登録するか?パッケージキャッシュを終了時に消去するか?を聞く画面が表れます。これもデフォルトの選択のままにして、「Install」ボタンをクリックします)
(インストールが始まります)
(Anacond3 のセットアップが始まります。「Next」ボタンをクリックします)
(利用同意書が表示されます。確認して、「I Agree」ボタンをクリックします)
(「completed」が表示されます。「Next」ボタンをクリックします)
(クラウドの利用の画面が表れます「Next」ボタンをクリックします)
(Anaconda3の設定の完了画面が表示されます。このまま「Finish」ボタンをクリックします。これで終わって良いのですが、以下のようにAnaconda Navigatorの更新をしても良いです)
5.3 Anaconda でPython をInstall
Anacondaをインストールすると、同時にPython もインストールされます。以下のようにして、Python がインストールされていることを確認することができます。
(出てきた画面の上方の虫眼がめの右の欄に、「ana」を入力すると、「最も一致する検索結果」の下に、Anaconda Prompt が表れます。これをクリックします)
(Anaconda Prompt のウィンドウが立ち上がります)
(プロンプトの右で python コマンドを入力すると、Pythonのバージョンなどが表示され、Python のREPL(Read Eval Print Loop)のプロンプト>>>が表示されます。ここでexit()を入力すると、python コマンドの実行を終了します)
6. Visual Studio Code (VSCode)のインストール
Visual Studio Code (VSCode)は、様々なプログラミング言語でプログラムを作成するときに利用する編集機能(エディタ)、コンパイル機能、デバッグ機能、実行機能などを統合した、統合開発環境(IDE)の一つです。拡張機能を追加することで、様々な機能を利用することができます。VSCodeがまだPCにインストールされていなければ、VSCodeをダウンロードします。参考ページの拡張機能の導入はまだ行う必要ありません。
(参考:Visual Studio Code のインストール)
ブラウザのアドレス入力欄に、"visual studio code"を入力して検索します。
(検索結果の中に、Visual Studio Codeの、「ダウンロード」ボタンが表れます。このボタンをクリックします)
(自分のパソコンのOSのアイコンの下にある下矢印がついたボタンをクリックして、ダウンロードを開始します)
(ダウンロードが始まると、ブラウザのウィンドウの右上に、上の図のような表示が現れます)
(ダウンロードが終わって、ダウンロード中を表すウィンドウが消えたら、右上の・・・のアイコンをクリックし、現れたメニューの中の、「ダウンロード」をクリックして選びます)
(ダウンロードしたファイル一覧が表示され、その中の「VSCodeUserSetup-****.exe」の下の「ファイルを開く」をクリックし、インストールを始めます)
(インストールが始まると上のようなウィンドウが表示されます。ここで、ライセンス条項を確認の上、「同意する」の左の⚪︎をクリックして選択します)
(インストール先の指定で、デフォルトのインストール先のフォルダが表示されています。このまま、このウィンドウの「次へ(N)>」ボタンをクリックします)
(スタートメニューフォルダ指定が現れます。このまま「次へ(N)>」ボタンをクリックします)
(追加タスクの選択が表れます。選択を表すチェックはそのままで、「次へ(N)>」をクリックします)
(インストール準備完了が表示されます。「インストール(I)」ボタンをクリックします)
(「Visual Studio Code セットアップウィザードの完了」が表示されたら、セットアップ終了です。右下の「完了」ボタンをクリックして、このウィンドウを閉じます)
7. Visual Studio Code (VSCode)の起動
VSCode を起動するには、以下の操作を行います。
(Widows OSの画面のウィンドウアイコンをクリックし、出てきたウィンドウの上のコマンド入力欄で、「vsc」を入力すると、最も一致する検索結果に「Visual Studio Code」が表れます。これをクリックします)
8. MicroPython のプログラムを保存するフォルダの設定
VSCodeの画面の一番上の行の[File]->[Add Folder to Wrokspace...]をクリックし、現れるファイル表示ウィンドウの中で、MicroPythonのプログラムを保存するフォルダを入力します。ここで、このフォルダのパス(場所)は、日本語や空白を含まない場所にする必要があります。(良い例: "C:¥pico¥python"、悪い例:"C:¥ユーザ¥山之上¥ドキュメント¥Micro Python")
(参考:Pico Wiki Driver, Raspberry Pi Pico Wで PukiWikiのページを読み書きする)
C:ドライブ直下に MicroPython プログラムを保存する英語名のフォルダを作成します。
(ここではC:¥Pico¥pythonフォルダを作ります。英語名のフォルダの下に英語名のフォルダを作り、これをpythonプログラムの保存領域とします)
(左端のアイコンの列の下の方にある、「PC」をクリックします)
(右側に出てくる「Windows(C:)」をダブルクリックします。これは「ローカルディスク(C:)」のように別の名前の場合があります)
(「(C:)」直下のフォルダが表示されます。この空白のところで右クリックし、出てきたメニューで「新規作成」->「フォルダ」を選び、クリックします。)
(出てきたフォルダに、例えば「Pico」のように、半角英数字で名前をつけます)
(このフォルダをダブルクリックして、このフォルダの中(下)に、もう一つフォルダを作ります。)
(空白のところで右クリックして、出てきたメニューの中から「新規作成」->「フォルダ」を選びます)
(作ったフォルダに「Python」のように半角英数字で名前をつけます。これで、C:の直下に、C:¥Pico¥python という英数字名のフォルダが作成されました)
作成したフォルダをVSCodeのワークスペースに追加します
(VSCode の上のメニューから「File」(または「ファイル」)をクリックし、出てきたメニューから「Add Folder to Workspace」(または「フォルダをワークスペースに追加」)をクリックして選びます)
(エクスプローラが表示されます。このエクスプローラで、先ほど作成した、C:¥Pico¥python フォルダを表示します。C:¥Pico¥python を表示したら、「Add」(または「追加」)ボタンをクリックします)
(上のような、このフォルダの所有者を信頼しますか?のようなウィンドウが出てきたら、「Yes」ボタンをクリックします)
9. MicroPicoのインストール
Pico Wで動かすMicroPythonのプログラムをVSCodeで動かすため、VSCodeの拡張機能として、MicroPicoをインストールします。
(参考:VSCode による MicroPython 開発環境)
なお、MicroPicoのインストールがうまくいかない場合、VSCodeを一旦アンインストール(削除)して、最新のVSCodeをインストールし直すとインストールできる場合があります。
(VSCodeの左側に縦に並んでいるアイコンの中で、四角を4つ並べたアイコン(Extentions, 拡張機能)をクリックします))
(Extentions を探すための名前を入れる欄が表示されるので、ここで「MicroPico」を入力し、MicroPicoが、そのアイコンとともに表示されたら、「Install」ボタンをクリックします)
(VSCodeの左上の「File」または「ファイル」をクリックし、出てきたメニューから「Open Folder」を選びます)
(出てきたエクスプローラで、8で作成したMicroPythonプログラムを格納するC:¥Pico¥python フォルダを選び、「フォルダの選択」をクリックします)
(「Do you want o save your configuration as a file?」というウィンドウが表示されたら、「Save」ボタンをクリックします)
(出てきたエクスプローラで、そのまま「Save」ボタンをクリックします)
(Pico W がまだPCに接続されていなかったら、接続します)
(VSCodeの上のメニューの中で、「View」ボタンをクリックし、出てきたメニューの中から、「Command Palette...」を選びます)
(コマンド入力欄が現れるので、ここで「MicroPico」を入力します。そうすると、MicroPico 拡張機能で利用できるコマンドの列が表示されます。この中で、「MicroPico: Configure project」を選びます)
(コマンドが実行される前に、Pico W が接続されていれば、VSCodeのウィンドウの左下に、「PicoConnected」が表示されます)
(その後、VSCodeのウィンドウの右下に、「Project configuration completed」が表示されます)
10. 最初のプログラムと実行
VSCodeでPico Wのボードについている緑色の発光ダイオードを点滅させるプログラム(Lチカプログラム)を、上で述べた、MicroPythonのプログラムを保存するフォルダの中で作成(コピペでも良い)し、Pico Wで実行し、動作確認を行います。
(参考:VSCode による MicroPython 開発環境)
(VSCodeの右上の「File」をクリックし、出てきたメニューで「New File」を選びます)
(ファイル名を入力する欄が現れるので、例えば、「ex01.py」のようにMicro Pythonのプログラム名を入力します。)
(エクスプローラが現れるので、そのまま「Create File」ボタンをクリックします)
(VSCodeの画面が上のようになり、プログラムを入力することが可能になります。プログラムを入力する場所を「編集領域」と呼びます)
(下のプログラムをコピペして、入力部分に貼り付けます)
コピペするプログラム
from machine import Pin
import time
led=Pin('LED', Pin.OUT)
while True:
led.on()
time.sleep(1.0)
led.off()
time.sleep(1.0)
上のプログラムの中で、
from machine import Pin
は、既存のmachineモジュールという、Pico Wのハードウェア操作に関するプログラム(class)をまとめたものから、Pinという、Pico Wの端子を表すclassを取り込む(importする)ことを表しています。
import time
は、既存の時間に関するclassである time classをimportすることを表しています。
led=Pin('LED', Pin.OUT)
は、Pin classから、Pico Wボードに付属のLEDに割り当てられた内部の端子に出力(0/Lowまたは 1/Highを出力)する役割を与えた、ledという名のインスタンス(プログラムの実態)を生成することを表しています。
while True:
<繰り返される内容>
は、繰り返される内容を、ずっと、外部から強制的に終了されるまで、繰り返すことを表します。
<くり返される内容>の
led.on()
time.sleep(1.0)
led.off()
time.sleep(1.0)
は、ledをonにして(内部LEDに対応した内部端子に、1/Highを出力して)、1.0秒間待ち(sleepし)、ledをoffにして(内部LEDに対応した内部端子に、0/Lowを出力して)、1.0秒間待つ(sleepする)ことを表しています。
画面の下の、Runボタンをクリックすると、入力されたプログラムがPico Wに送られ、実行されます。
(上の「Do you want to install the recommended Python extention ...」のような表示が表れた時、「install」ボタンを実行することで、編集領域のPython プログラムが、予約後や変数名などによって色分けして表示されるようになります)
(Python extention がインストールされた後の編集画面の表示)
11. プログラムの保存
作成したプログラムは、VSCodeのウィンドウの右上の「File」(ファイル)->「Save」(保存)をクリックして、保存することができます。
12. REPL 端末
画面の右下の領域は、Micro Pythonのプログラムの実行や入出力を行う「REPL端末 (Read Eval Print Loop 端末)」です。ここでPythonの文を1文ずつ入力してその文をその場で直接実行したり、編集領域のプログラムの端末入出力文の入力や出力を行なったりすることができます。