ラズパイPicoの使い方 MicroPython&開発環境Thonny、SSLエラーの対処方法も紹介

Rspberry Pi(ラズパイ)

「Raspberry Pi Pico」の使い方について、以前3つの開発環境で紹介しました。
その中で最も手軽に導入できる開発環境「Thonny」を使用した「Python(MicroPython)」でのプログラミング方法について、より簡単に環境づくりから動作確認までできるようまとめました。

今回はさらにパッケージ(ライブラリ)の追加方法についても紹介していますが、ウインドウズの場合にSSL認証に関連するエラーが出て少し手間取りましたので、対処方法と「Raspberry Pi Pico」本体の初期化方法も紹介しています。

開発環境「Thonny」とは「ラズベリーパイ」の上位機種にも標準でインストールされている開発環境です。エディタの機能は物足りないですが、手軽に導入できて特に初心者の方がお試しするには最適と思います。
「MicroPython」とはマイコンボード(マイクロコントローラ)上での動作に最適化された「Python3」と互換性のあるプログラミング言語で「MicroPython」から派生してAdafruit社が開発を支援する「CircuitPython」というものもあります。

「Raspberry Pi Pico」についての仕様や端子配列「CircuitPython」での開発環境の準備については以下のリンクで詳しく紹介しています。

ラズパイPicoの使い方を3つの開発環境Python、ArduinoIDE、PlatformIOで紹介
Raspberry Pi Picoの使い方を端子配列からPython(MicroPython)とC言語の開発環境、Lチカ方法まで紹介。PythonはTonny、C言語はArduinoIDEとPlatformIOの3種類で詳しく紹介します。
ラズパイPicoの使い方 CircuitPython&開発環境Thonny
Raspberry Pi PicoでCircuitPythonを使ったプログラミング方法を開発環境Thonnyを使用してインストールからライブラリの追加、サンプルプログラム(コピペ)による動作確認(液晶表示SSD1306を例に)まで詳しく紹介します。
※2022/11/13 時点の情報です。今後のバージョンアップにより手順が異なる可能性があります。また、OSはWindows10でのインストール方法の紹介となります。
スポンサーリンク

1.開発環境 Thonnyのインストール方法

まず「Thonny」で「Python」のプログラムを動作させるために「Python」をインストールしておく必要があります。
インストールがまだの方は以下のリンクを参考にインストールしてください。
既にインストール済みの方は次へ進んでください。

pythonのダウンロードからインストール方法の紹介
人気のプログラミング言語 python のインストール方法の紹介です。python はアプリ開発やWebサイト構築、ディープラーニングにも使用されますが、マイコンボードの統合開発環境「Platform IO」のインストールにも必要です。

次に開発環境「Thonny」をインストールします。以下のリンクをクリックしてください。

下画像のようなページが表示されるので、画面右上あたりの「Download〜」の中からパソコン環境に合わせてダウンロードしてください。

ラズパイPico Thonnyのインストール方法

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

ラズパイPico Thonnyのインストール方法

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

ラズパイPico Thonnyのインストール方法

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

ラズパイPico Thonnyのインストール方法

ダウンロードが終了したらファイルを開きます。
ファイルはダウンロードフォルダに保存されているので、そちらから直接開いてもOKです。

ファイルを開くと下画像のようなウインドウが開くので矢印の箇所をクリックします。
(クリックする方は「自分にだけインストール(推奨)」するというものです。
全てのユーザーに対してインストールする場合はその下をクリックしてください。)

ラズパイPico Thonnyのインストール方法

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

デスクトップにショートカットを置くためのチェックはしておいた方が良いので5ページ目のチェックボックスはチェックしてから進めましょう。
ラズパイPico Thonnyのインストール方法
ラズパイPico Thonnyのインストール方法
ラズパイPico Thonnyのインストール方法
ラズパイPico Thonnyのインストール方法
ラズパイPico Thonnyのインストール方法

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

ラズパイPico Thonnyのインストール方法

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

ラズパイPico Thonnyのインストール方法
ラズパイPico Thonnyのインストール方法

最後に「Finish」をクリックしてインストール完了です。

2.ラズパイPicoとパソコンの接続

次に「Raspberry Pi Pico」とパソコンをUSBケーブルで接続します。

接続する時は下画像のように「BOOTSEL」ボタンを押しながら接続しましょう。
接続したらちょっと(数秒)待ってからボタンを離しましょう。
ラズパイ(Raspberry Pi) Pico Python開発環境準備

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

ラズパイ(Raspberry Pi) Pico Python開発環境準備
この作業は初回のみ行います。
初期設定が完了したら次からはUSBケーブルを接続するだけです。
開発環境を変えたり、ラズパイPico本体を初期化した場合には再度同じ作業を行います。

3.Thonnyの起動と MicroPythonプログラム環境の準備

次に開発環境「Thonny」を起動します。
「デスクトップ」に下画像のようなアイコンがあるのでクリックします。

ラズパイ(Raspberry Pi) Pico Thonnyの使い方

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

ラズパイ(Raspberry Pi) Pico Thonnyの使い方

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

ラズパイ(Raspberry Pi) Pico Thonnyの使い方

上画像のように設定できたら「Let`s go!」をクリックします。

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

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

以上で「MicroPython」のプログラミング環境が整いました。「OK」をクリックします。

4.サンプルプログラム(Lチカ)で動作確認

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

ラズパイPicoの使い方、micropython、開発環境Thonny

上画像の「Thonny」開発画面に以下のサンプルプログラムをコピペで貼り付けてください。
プログラムのコピーは下の黒塗り部の右上アイコンクリックでもできます。

from machine import Pin  # 入出力モジュールを準備
import utime  # タイマーモジュールを準備

led = machine.Pin(25, machine.Pin.OUT)  # GP25をLedとして出力端子に設定
while True:  # ずっと繰り返し
    led.value(1)      # LEDを点灯
    utime.sleep(0.5)  # 0.5秒待つ
    led.value(0)      # LEDを点灯
    utime.sleep(0.5)  # 0.5秒待つ

プログラムを貼り付けた画面は下画像のようになります。

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny
ファイル名を「main.py」として保存することで、電源を入れた時に「main.py」のプログラムが実行されるようになります。
「main.py」以外の名前で保存したものは、パソコンに接続して「Thonny」から開くことはできますが「Thonny」で実行させた時のみ動作します。
ラズパイ単体で動作させたいプログラムは「main.py」として保存しましょう。

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

LED点灯
(Raspberry Pi) Pico Lチカ動作確認
LED消灯
ラズパイ(Raspberry Pi) Pico Lチカ動作確認

プログラムについては上コードのコメントを参照してください。
LEDを点灯させるプログラムについて簡単に紹介します。

led.value(1)  # LEDを点灯
 カッコ内の数値が1で点灯、0で消灯です。
utime.sleep(0.5)  # 0.5秒待つ
 カッコ内の数値で待機時間を設定できるため、この数値を変更するとLEDの点滅間隔を設定できます。

「Raspberry Pi Pico」で使用できる「MicroPython」についての詳細は以下のサイトで確認できます。当サイトでも少しづつ紹介していきたいと思います。

Quick reference for the RP2 — MicroPython 1.19.1 documentation

5.プログラムの保存方法

・ラズパイPico単独で動作させるための保存方法

ラズパイPicoに電源を入れた時に単独で動作させたいプログラムは、データを保存する時に選択する保存先を下画像のように「Raspberry Pi Pico」を選択して、ファイル名を「main.py」として保存します。

ラズパイPicoの使い方、micropython、開発環境Thonny
「main.py」以外の名前で保存したものは、パソコンに接続して「Thonny」から開くことはできますが「Thonny」で実行させた時しか動作しません。

・バックアップデータの保存方法

プログラムファイルのバックアップ等の保存はラズパイPico本体内にも保存できますが、本体に異常があった時や、「Circuit Python」等、他の開発環境をインストールした時に消えてしまうため、パソコン側に保存しておくことをおすすめします。

パソコンへの保存は以下のように行います。
まず、プログラムが実行中であれば「停止」ボタンを押してプログラムの実行を停止します。

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

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

ラズパイPicoの使い方、micropython、開発環境Thonny

この状態で「blink.py」の内容を「main.py」にコピペして置き換えることでラズパイPico本体のプログラムを置き換えることができます。

この状態でパソコン内に保存したデータを編集しながら動作確認をして、問題なく動作することが確認できてからラズパイPico本体内の「main.py」を置き換えるようにすると、効率よくプログラミングができると思います。
パソコン側のプログラムは必要に応じて何パターンか作成して、最も良い動作のもので置き換えるようにするとさらに効率が良いと思います。

6.パッケージ(ライブラリ)のインストール方法

より複雑なプログラムを簡単に作成するために必要なパッケージ(ライブラリ)をインストールするための方法を紹介します。

インストールするパッケージ(ライブラリ)の例として、液晶表示器(OLED)として一般的なAdafruit社製のSSD1306を動作させるために必要なパッケージ(ライブラリ)をインストールする方法で紹介します。

・OLED表示用パッケージ(ライブラリ)を例に紹介

まずは、下画像のように[ツール]をクリックします。

ラズパイPicoライブラリの追加。micropython、開発環境Thonny

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

ラズパイPicoライブラリの追加。micropython、開発環境Thonny

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

ラズパイPicoライブラリの追加。micropython、開発環境Thonny

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

ラズパイPicoライブラリの追加。micropython、開発環境Thonny

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

ラズパイPicoライブラリの追加。micropython、開発環境Thonny

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

ラズパイPicoライブラリの追加。micropython、開発環境Thonny

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

ラズパイPicoライブラリの追加。micropython、開発環境Thonny

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

ラズパイPicoライブラリの追加。micropython、開発環境Thonny

これでパッケージ(ライブラリ)の追加は完了しました。
「閉じる」ボタンを押して終了です。

・動作確認(液晶表示器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を接続して実行しました。
問題なく文字や線、図形が表示されました。

ラズパイPico OLED SSD1306の使い方

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

ラズパイPicoで液晶表示OLED SSD1306の使い方 MicroPython編
Raspberry Pi PicoでOLED液晶SSD1306の使用方法をMicroPythonのサンプルプログラムで紹介します。開発環境はTonnyを使用。

7.SSL認証エラーが発生する場合の対処方法

パッケージ(ライブラリ)の追加を行う時にエラーが発生して少し手間取りました。
調べてみるとSSL認証に関連するエラーのようでしたので以下の方法でSSL中間証明書をインストールして解決しましたので対処方法を紹介します。

セキュリティーに関わる内容となります。以下のようにSSL認証証明書の入手先等を調べた結果、個人的には問題がないと判断してインストール等を行なっていますが、最終的には自己判断でインストールしていただけますようお願いします。

・SSL認証証明書のインストール

結論としては以下リンクのファイルをダウンロードして、ダウンロードしたファイルを実行しSSL認証の中間証明書を追加するだけです。(基本的に「OK』をクリックしていくだけです。)

Windowsではファイルのダウンロード時に警告文のようなものが表示されるため、抵抗を感じるかもしれませんので入手先を紹介しておきます。

入手先ホームページは以下のリンク先になります。

ラズパイPico ThonnyのSSLエラー対処方法

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

ラズパイPico ThonnyのSSLエラー対処方法

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

ラズパイPico ThonnyのSSLエラー対処方法

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

ラズパイPico ThonnyのSSLエラー対処方法

次に表示されたページの矢印部が今回入手したファイルのリンク先です。

クリックするとダウンロードが始まりますが、あまりみたことがない警告文が出ます。
特に問題ないと判断して保存&実行して対処しました。

ラズパイPico ThonnyのSSLエラー対処方法

・Let’s Encryptとは

今回SSL認証証明書のデータを入手した「Let’s Encrypt」について、少し調べてみました。
「Let’s Encrypt」は直訳すると「暗号化しましょう」という意味です。

「Let’s Encrypt」 は、公共の利益のために運営されている、フリーで自動化されたオープンな認証局 (certificate authority; CA) で、インターネット・セキュリティ・研究グループ (Internet Security Research Group; ISRG) がサービスを提供しています。

非営利団体ですが、多くの大手企業(ホームページで確認できます)の支援によって運営されています。

以下「Let’s Encrypt」サイトより抜粋
私たちは人々のために、ウェブサイトで HTTPS (SSL/TLS) を有効にするために必要なデジタル証明書を、無料で、私たちにできる最もユーザーフレンドリーな方法で発行しています。
私たちがこのようなことをする理由は、よりセキュアでプライバシーを尊重するウェブを作りたいと願っているからです。

・SSL認証証明書の確認方法

今回ダウンロードしたファイルは基本的にクリックしていくだけでインストールできますが、どこにインストールされたのか気になったので確認する方法も調べました。

確認方法は以下になります。
「Windowsキー + R」を押すと「ファイル名を指定して実行」の画面が表示されるので、名前の部分に「certmgr.msc」と入力し「OK」をクリックします。

下画像のようなウインドウが表示されます。その中の「中間証明書」→「証明書」の中にあります。

ラズパイPico ThonnyのSSLエラー対処方法

発行先は「R3」、発行者は「ISRG Root X1」です。
右クリックから無効に設定することもできます。

8.ラズパイPico本体の初期化方法

いろいろな開発環境を試したりライブラリをインストールしたりしていると、思いどりに動かなかったり、動作がおかしくなったりして初期状態に戻したいと思うこともあると思います。

そんな時のためにラズパイPico本体を初期化する方法も紹介します。
以下のサイトにアクセスして、本体リセット用のファイルをダウンロードします。

下画像のようなページが表示されるので「UF2 file」をクリックします。

ラズパイPicoの初期化方法

クリックすると「flash_nuke.uf2」というファイルがダウンロードされます。

ラズパイPicoを本体の「BOOTSEL」ボタンを押しながらパソコンと接続して、表示されるフォルダにこのファイルをドラッグ&ドロップするだけで初期化は完了します。

初期化するとラズパイPico本体に保存されたプログラムやライブラリ等のデータが全て消去されます。必要なファイルのバックアップを取ってから行うようにしましょう。

9.まとめ

「Raspberry Pi Pico」で開発環境「Thonny」を使用した「MicroPython」の開発環境について詳しく紹介しました。

開発環境の「Thonny」はエディタの機能が物足りないですが、気軽に導入できてお試しにはちょうど良いと思います。
プログラミング言語の「MicroPython」についても「Python」との互換性もあり、「CircuitPython」よりも入出力端子の指定方法がシンプルで、今のところは「MicroPython」の方が扱いやすいように感じています。

今回、パッケージ(ライブラリ)の追加のところでSSL認証に関連するエラーの対処で意外に情報が少なくて手間取りました。私の環境だけでしょうか・・・

引き続き他のプログラミング言語「CircuitPython」や開発環境の「Mu Editor」についても使用方法を紹介していきたいと思います。

ラズパイPicoの使い方 CircuitPython&開発環境Thonny
Raspberry Pi PicoでCircuitPythonを使ったプログラミング方法を開発環境Thonnyを使用してインストールからライブラリの追加、サンプルプログラム(コピペ)による動作確認(液晶表示SSD1306を例に)まで詳しく紹介します。

コメント

タイトルとURLをコピーしました