「Raspberry Pi Pico」の使い方について、以前3つの開発環境で紹介しました。
その中で最も手軽に導入できる開発環境「Thonny」を使用した「Python(MicroPython)」でのプログラミング方法について、より簡単に環境づくりから動作確認までできるようまとめました。
今回はさらにパッケージ(ライブラリ)の追加方法についても紹介していますが、ウインドウズの場合にSSL認証に関連するエラーが出て少し手間取りましたので、対処方法と「Raspberry Pi Pico」本体の初期化方法も紹介しています。
「Raspberry Pi Pico」についての仕様や端子配列、基本のプログラム、「CircuitPython」での開発環境の準備については以下のリンクで詳しく紹介しています。



1.開発環境 Thonnyのインストール方法
2.ラズパイPicoとパソコンの接続
3.Thonnyの起動と MicroPythonプログラム環境の準備
4.サンプルプログラム(Lチカ)での動作確認
5.プログラムの保存方法
・ラズパイPico単独で動作させるための保存方法
・バックアップデータの保存方法
6.パッケージ(ライブラリ)のインストール方法
・OLED表示用パッケージ(ライブラリ)を例に紹介
・動作確認(液晶表示器SSD1306でテスト表示)
7.SSL認証エラーが発生する場合の対処方法
・SSL認証証明書のインストール
・Let’s Encryptとは
・SSL認証証明書の確認方法
8.ラズパイPico本体の初期化方法
9.まとめ
1.開発環境 Thonnyのインストール方法
まず「Thonny」で「Python」のプログラムを動作させるために「Python」をインストールしておく必要があります。
インストールがまだの方は以下のリンクを参考にインストールしてください。
既にインストール済みの方は次へ進んでください。

次に開発環境「Thonny」をインストールします。以下のリンクをクリックしてください。
下画像のようなページが表示されるので、画面右上あたりの「Download〜」の中からパソコン環境に合わせてダウンロードしてください。

Windowsの場合はWindowsをクリックします。

上図のようなウインドウが表示されます。
最近のパソコンなら「64bit」だと思うので一番上をクリックします。「32bit」ならその下をクリックします。

ファイルのダウンロードが始まるので少し待ちます。
上画像はブラウザが「Edge」の場合の例です。

ダウンロードが終了したらファイルを開きます。
ファイルはダウンロードフォルダに保存されているので、そちらから直接開いてもOKです。
ファイルを開くと下画像のようなウインドウが開くので矢印の箇所をクリックします。
(クリックする方は「自分にだけインストール(推奨)」するというものです。
全てのユーザーに対してインストールする場合はその下をクリックしてください。)

下画像のようにインストール画面が表示されますが基本的には「Next」をクリックしていくだけです。





上画像の画面ではチェックボックスをチェックして、アイコンをデスクトップに置くようにしましょう。

上画像の画面で「Install」をクリックするとインストールが始まります。


最後に「Finish」をクリックしてインストール完了です。
2.ラズパイPicoとパソコンの接続
次に「Raspberry Pi Pico」とパソコンをUSBケーブルで接続します。

「BOOTSEL」ボタンを押しながら接続して、パソコンに認識されると下画像のように「RPI-RP2」フォルダが開きます。

3.Thonnyの起動と MicroPythonプログラム環境の準備
次に開発環境「Thonny」を起動します。
「デスクトップ」に下画像のようなアイコンがあるのでクリックします。

「Thonny」が起動するので下画像のように初期設定を行います。

「Language」を「日本語」に、「Initial settings」を[Raspberry Pi]に設定します。

上画像のように設定できたら「Let`s go!」をクリックします。
下画像のように「Thonny」の開発画面が表示されるので、右下の矢印部(表示内容は異なる場合があります。)をクリックします。

下画像のように画面右下に表示されるリストの中から[インタプリタ設定]をクリックします。

下画像のようなウインドウが表示されるので「MicroPython」のプログラミング環境をインストールしていきます。

上画像のドロップダウンボタンをクリックします。

表示されるリストの中から[MicroPython(Raspberry Pi Pico)]を選択します。

次に「ポート」部のドロップダウンボタンをクリックします。
表示されるリストの中から[ポートの自動検出を試す]を選択し、その下の「Install or update MicroPython」をクリックします。

ラズパイPicoが検出されると上画像のような画面が表示されるので、矢印部のドロップダウンボタンをクリックします。

表示されるリストの中から[Raspberry Pi・Pico/Pico H]をクリックします。

「version」は自動で選択されるので、そのまま「インストール」ボタンをクリックします。

インストールが終わるまでしばらく待って、左下に「Done!」と表示されたら完了です。
「閉じる」をクリックします。

以上で「MicroPython」のプログラミング環境が整いました。「OK」をクリックします。
4.サンプルプログラム(Lチカ)で動作確認
開発環境が整ったらサンプルプログラムで動作確認を行います。
サンプルプログラムとして、ラズパイ本体のLEDを点滅させる「Lチカ」プログラムを準備しました。

上画像の「Thonny」開発画面に以下のサンプルプログラムをコピペで貼り付けてください。
プログラムのコピーは下の黒塗り部の右上アイコンクリックでもできます。
from machine import Pin # 入出力モジュールを準備
import utime # タイマーモジュールを準備
led = machine.Pin("LED", machine.Pin.OUT) # LED端子をLedとして出力に設定
while True: # ずっと繰り返し
led.value(1) # LEDを点灯
utime.sleep(0.5) # 0.5秒待つ
led.value(0) # LEDを点灯
utime.sleep(0.5) # 0.5秒待つ
プログラムを貼り付けた画面は下画像のようになります。

プログラムを貼り付けたら、下画像の「保存」ボタンをクリックします。

下画像のようなウインドウが表示されます。
今回はラズパイPico本体にプログラムを保存したいため「Raspberry Pi Pico」の方をクリックします。

下画像のようなウインドウが表示されるのでファイル名に「main.py」と入力して「OK」ボタンをクリックしてください。

ファイルの保存が終わったら、下画像のように「実行」ボタンをクリックします。

下画像のようにラズパイ基板上のLEDが0.5秒ごとに点滅するのが確認できると思います。
LED点灯

LED消灯

プログラムについては上コードのコメントを参照してください。
LEDを点灯させるプログラムについて簡単に紹介します。
カッコ内の数値が1で点灯、0で消灯です。
utime.sleep(0.5) # 0.5秒待つ
カッコ内の数値で待機時間を設定できるため、この数値を変更するとLEDの点滅間隔を設定できます。
「Raspberry Pi Pico」で使用できる「MicroPython」についての詳細は以下のサイトで確認できます。当サイトでも少しづつ紹介していきたいと思います。
5.プログラムの保存方法
・ラズパイPico単独で動作させるための保存方法
ラズパイPicoに電源を入れた時に単独で動作させたいプログラムは、データを保存する時に選択する保存先を下画像のように「Raspberry Pi Pico」を選択して、ファイル名を「main.py」として保存します。

・バックアップデータの保存方法
プログラムファイルのバックアップ等の保存はラズパイPico本体内にも保存できますが、本体に異常があった時や、「Circuit Python」等、他の開発環境をインストールした時に消えてしまうため、パソコン側に保存しておくことをおすすめします。
パソコンへの保存は以下のように行います。
まず、プログラムが実行中であれば「停止」ボタンを押してプログラムの実行を停止します。

次に下画像のように[ファイル]→[名前を付けて保存]をクリックします。

下画像のウインドウが表示されたら「このコンピュータ」を選択します。

パソコン内で自分が保存したい保存先を選択して、わかりやすい名前(ここではblink.pyとしています)を付けて「保存」をクリックします。

保存が完了すると、下画像のようにタブの部分が保存したファイル名に変わります。

下画像のようにLチカのサンプルプログラムの点滅時間を0.5秒から1.0秒に変更して「実行」ボタンを押すとラズパイPicoの動作が変更されて実行されます。
この段階ではパソコン内に保存したプログラムが実行されている状態です。

パソコン内に保存して実行していたプログラムをラズパイ単体で動作するようにしたい時には、本体の「main.py」を開いて、コピペで置き換えて保存しなおします。
まずは「停止」ボタンを押して実行を停止します。

次に、下画像のように「ファイルを開く」ボタンを押します。

下画像のウインドウが表示されたら「Raspberry Pi Pico」を選択します。

ラズパイPico本体内のデータが表示されるので「main.py」を選択して「OK」ボタンを押します。

すると下画像のようにパソコン内に保存した「blink.py」とラズパイPico本体内に保存されている「main.py」がタブで切り替えて表示できるようになります。

この状態で「blink.py」の内容を「main.py」にコピペして置き換えることでラズパイPico本体のプログラムを置き換えることができます。
6.パッケージ(ライブラリ)のインストール方法
より複雑なプログラムを簡単に作成するために必要なパッケージ(ライブラリ)をインストールするための方法を紹介します。
インストールするパッケージ(ライブラリ)の例として、液晶表示器(OLED)として一般的なAdafruit社製のSSD1306を動作させるために必要なパッケージ(ライブラリ)をインストールする方法で紹介します。
・OLED表示用パッケージ(ライブラリ)を例に紹介
まずは、下画像のように[ツール]をクリックします。

表示されるリストの中から、下画像のように[パッケージを管理]を選択します。

下画像のようなウインドウが表示されるのでインストールしたいパッケージ(ライブラリ)の一部でも良いので入力して「PyPlを検索」をクリックします。

下画像のように「検索結果」に候補が複数表示されます。
今回は「MicroPython」環境で使用する「SSD1306」用ライブラリをインストールしたいため「micropython-ssd1306」をクリックします。

ここで以下のようにエラーが発生する場合があります。
SSL認証に関するエラーのため、この場合はこの後に紹介する「7.SSL認証エラーが発生する場合の対処方法」を参照してください。

エラーが発生しない場合は、下画像のような画面が表示されるので「インストール」をクリックします。

インストールが無事完了すると下画像のような画面になり、ウインドウ左の<インストール>に追加したパッケージ(ライブラリ)がリストで表示されます。

<インストール>リストの中の項目を選択すると、下画像のように詳細情報が確認できます。
GitHubへのリンクや詳細ページへのリンクが表示されるため、使用方法等を確認することができます。

これでパッケージ(ライブラリ)の追加は完了しました。
「閉じる」ボタンを押して終了です。
・動作確認(液晶表示器SSD1306でテスト表示)
念の為、追加したパッケージ(ライブラリ)の動作を以下のプログラムを使用して確認しました。
from machine import Pin, I2C
import ssd1306 # 追加したライブラリを呼び出し
# I2C設定 (I2C識別ID 0or1, SDA端子, SCL端子)
i2c = I2C(0, sda=Pin(16), scl=Pin(17) )
# 使用するSSD1306のアドレス取得表示(通常は0x3C)
addr = i2c.scan()
print( "OLED I2C Address :" + hex(addr[0]) )
# ディスプレイ設定(幅, 高さ, 通信仕様)
display = ssd1306.SSD1306_I2C(128, 64, i2c)
# 液晶画面表示内容設定
display.text('SSD1306 TEST', 15, 0, True) # テキスト表示
display.text('Hello World!', 17, 33, True) # テキスト表示
display.hline(0, 10, 128, True) # 指定座標から横線
display.rect(5, 20, 118, 35, True) # 指定座標に四角
# 設定した内容の表示実行
display.show()
下画像のようにブレッドボードでラズパイPicoとSSD1306を接続して実行しました。
問題なく文字や線、図形が表示されました。

「MicroPython」での液晶表示器SSD1306の使い方については、以下のリンクで詳しく紹介しています。

7.SSL認証エラーが発生する場合の対処方法
パッケージ(ライブラリ)の追加を行う時にエラーが発生して少し手間取りました。
調べてみるとSSL認証に関連するエラーのようでしたので以下の方法でSSL中間証明書をインストールして解決しましたので対処方法を紹介します。
・SSL認証証明書のインストール
結論としては以下リンクのファイルをダウンロードして、ダウンロードしたファイルを実行しSSL認証の中間証明書を追加するだけです。(基本的に「OK』をクリックしていくだけです。)
Windowsではファイルのダウンロード時に警告文のようなものが表示されるため、抵抗を感じるかもしれませんので入手先を紹介しておきます。
入手先ホームページは以下のリンク先になります。

リンク先ページが開くと上画像のように日本語ページが表示されます。
このままでは目的のファイルのリンクページにうまく辿り着けなかったので言語をEnglishに変更します。

英語ページに切り替わったら、上メニューの「Documentation」をクリックします。

表示されたページの下の方にある上画像のリンクのところをクリックします。

次に表示されたページの矢印部が今回入手したファイルのリンク先です。
クリックするとダウンロードが始まりますが、あまりみたことがない警告文が出ます。
特に問題ないと判断して保存&実行して対処しました。

・Let’s Encryptとは
今回SSL認証証明書のデータを入手した「Let’s Encrypt」について、少し調べてみました。
「Let’s Encrypt」は直訳すると「暗号化しましょう」という意味です。
「Let’s Encrypt」 は、公共の利益のために運営されている、フリーで自動化されたオープンな認証局 (certificate authority; CA) で、インターネット・セキュリティ・研究グループ (Internet Security Research Group; ISRG) がサービスを提供しています。
非営利団体ですが、多くの大手企業(ホームページで確認できます)の支援によって運営されています。
・SSL認証証明書の確認方法
今回ダウンロードしたファイルは基本的にクリックしていくだけでインストールできますが、どこにインストールされたのか気になったので確認する方法も調べました。
確認方法は以下になります。
「Windowsキー + R」を押すと「ファイル名を指定して実行」の画面が表示されるので、名前の部分に「certmgr.msc」と入力し「OK」をクリックします。
下画像のようなウインドウが表示されます。その中の「中間証明書」→「証明書」の中にあります。

発行先は「R3」、発行者は「ISRG Root X1」です。
右クリックから無効に設定することもできます。
8.ラズパイPico本体の初期化方法
いろいろな開発環境を試したりライブラリをインストールしたりしていると、思いどりに動かなかったり、動作がおかしくなったりして初期状態に戻したいと思うこともあると思います。
そんな時のためにラズパイPico本体を初期化する方法も紹介します。
以下のサイトにアクセスして、本体リセット用のファイルをダウンロードします。
下画像のようなページが表示されるので「UF2 file」をクリックします。

クリックすると「flash_nuke.uf2」というファイルがダウンロードされます。
ラズパイPicoを本体の「BOOTSEL」ボタンを押しながらパソコンと接続して、表示されるフォルダにこのファイルをドラッグ&ドロップするだけで初期化は完了します。
9.まとめ
「Raspberry Pi Pico」で開発環境「Thonny」を使用した「MicroPython」の開発環境について詳しく紹介しました。
開発環境の「Thonny」はエディタの機能が物足りないですが、気軽に導入できてお試しにはちょうど良いと思います。
プログラミング言語の「MicroPython」についても「Python」との互換性もあり、「CircuitPython」よりも入出力端子の指定方法がシンプルで、今のところは「MicroPython」の方が扱いやすいように感じています。
今回、パッケージ(ライブラリ)の追加のところでSSL認証に関連するエラーの対処で意外に情報が少なくて手間取りました。私の環境だけでしょうか・・・
引き続き基本的なプログラムや、他のプログラミング言語「CircuitPython」や開発環境の「Mu Editor」についても使用方法を紹介していきたいと思います。


「Raspberry Pi Pico W」でWi-Fiを使用した遠隔操作、データ監視の方法も以下のリンクで詳しく紹介しています。

コメント