ボストン親子IoTワークショップ

マイコンとクラウドを使う簡単プログラミングでIoTを学ぼう

[ トップ | 開催予定・概要 | 2024-01開催 | お知らせ | Facebook ]

Pythonの使い方を学習・試してみる

目次

Pythonは高度なプログラミング言語なので、数多くの機能が備わっており、それを使ってプログラムとして記述・実行できることは多岐に渡ります。その機能のうちワークショップで扱えるのは初歩の初歩だけです。

ワークショップ後に、自分でPythonを学習したい場合や、ある機能を試してみたいことがあるかもしれません。例えば、概念は分かったつもりだが自分自身のプログラムで動作を試してみたい場合や、あるWebサイトに載っていたプログラムがどう動くのか調べたいというような場合です。

最も基本的な方法

このための最も基本的な方法は、今まで書いて実行したプログラム同様、ラズパイ上でThonnyを開き、新しいプログラムのファイル(.pyファイル)を作って、そこにプログラムを書いて、実行することです。

この方法の難点は、プログラムを書く(編集する)作業が「もったり」して遅い点です。特に、ファイルを開く、名前を付けて保存する、といったウィンドウを使う作業、マウスでプログラムの特定箇所を選択(あるいは複数行を選択)するような場合、要はGUI作業をする場合、この遅さが目につくようになります。これは、ラズパイ(Zero)自体の速度が原因です。Zeroの速度は、LEDやセンサーなどの部品を制御するプログラムを実行するには問題ありませんが、GUI作業をサクサクとストレスなく実行する想定にはなっていません。VNCを使うと、ラズパイの画面情報をリアルタイムで外部コンピュータ(ラップトップやデスクトップ)へ転送するので、さらに遅さが目立つようになります。

ラズパイと外部コンピュータの間でファイル共有する

このストレスを減らす方法のひとつが、ラズパイと外部コンピュータ(ラップトップやデスクトップ)の間でファイル共有をすることです。ラズパイにあるプログラム・ファイル(.pyファイル)を外部コンピュータで開いて編集し、完成したらラズパイに保存して、ラズパイ上のThonnyで実行します。外部コンピュータでプログラムを開く時には、プログラムをカラフルに(見やすく・理解しやすく)表示してくれるアプリ(エディター)を使うのがおすすめです。選択肢はたくさんありますが、私はSublime Textというのをよく使います。ファイル共有すると、プログラムの編集作業とGUI作業が(劇的に)サクサクと軽快に進むようになります。

外部コンピュータでThonnyを使う

ただし、外部コンピュータでできるのはプログラムの編集だけです。したがって、外部コンピュータ(のエディター)でプログラムを編集し、ラズパイ(のThonny)でそれを実行する、の繰り返しが必要です。プログラムが思った通りに動作せず、エディターとThonnyの行き来を何度も何度もする必要があるかもしれません。まったく珍しいことではありません。よくあることです。

この「行き来」が我慢ならないレベルに達したら、外部コンピュータにThonnyをインストールして使うのがよいでしょう。Thonnyはラズパイだけでなく、WindowsやMacのコンピュータでも動作します。https://thonny.org/からダウンロードしてください。インストール手順はいたってシンプルで、まずトラブルは起きません。

外部コンピュータ上のThonnyを使ってプログラムを編集、実行し、ある程度の形になったら、ラズパイ上のThonnyで仕上げて実行します。2つのThonnyを使い、両者の間でプログラムを共有しながら作業を進めます。

この方法は便利ですが、プログラム中で「ラズパイ固有のこと」を行う部分は、外部コンピュータで実行してもエラーになります(ラズパイで実行しなければなりません)。例えば、GPIOを使う部分などは、ラズパイで実行しなければなりません(外部コンピュータにGPIOがないため)。

したがって、この方法が便利なのは、「ラズパイ固有のこと」以外の機能を試してみる、テストしてみるときです。例えば、変数やリスト、ループ、if文といった、Pythonそのものの機能を試すようなときです。

外部コンピュータからプログラムを遠隔実行する

プログラムの編集・実行で最もストレスの少ないのは、外部コンピュータでプログラムを編集し、それを実行する際に(WiFi経由で)自動的にラズパイへプログラムを送り、ラズパイ上でプログラム実行をすることです。この方法のやり方は少し長くなるので別のメモとして書きました(「外部コンピュータでプログラムを作成して遠隔実行する」)。

このページのトップにもどる