3.Pythonでプログラミング開始 (2015.2.15-2024.1.28)
ここまでは色々試したこともあって紆余曲折しましたが、テキストに従って普通に作業を進めれば、拍子抜けするほどあっけなくプログラミングを始める準備が整います。本来の目的がRaspberry Piでプログラミングして外部機器を制御することなので、なるべく準備段階は簡単な方が良いのは言うまでもありません。その点でこのコンピューターは文句無く合格です。失敗しても何度でもやり直せるので、あまり神経質になる必要もありません。
RaspbianにはPythonと呼ばれるプログラム言語を扱うアプリケーションが既に用意されています。統合開発環境(IDE)と呼ばれるもので、プログラムを書くだけでなく実行やデバッグまでを行えます。プログラムの開発がスムーズに行える上に、学習環境としても最適だと思います。プログラミングを行うためには色々と覚えなければならないことがありますが、何はともあれテキストの3章に従って簡単なプログラムを書いて実行してみましょう。
最初に書くプログラムの定番と言えば、「Hello World!」と画面に表示させることです。一連の作業を通して、基本的なIDEの使い方も学べます。テキストの3章にはPythonを使うためのルールや注意等が詳しく書かれており、少々面倒な点は我慢するとして、とにかく内容を実践していくことにします。全部を覚える必要性は今の段階では感じないので、ポイントだけは押さえておいて、後からじっくり見直すとします。
テキストではPython2でプログラミングを行うので、メニューからPython2(以下Pythonと呼ぶ)を起動します。ウインドウは至ってシンプルです。上に各種メニューが並んでいて、その下にプログラムを書いたり実行結果を表示するエリアがあります。これはPython Shellと呼ぶそうです。簡単な命令ならここで入力し、すぐに実行して結果を見ることができます。BASICのようなインタープリタ型なので、プログラミングの初心者でも扱い易くできています。早速>>>の右に次の命令を書いてみます。なお、Python2系ではprint文だったのが、Python3系ではprint関数になりました。従って記述にも違いがあります。2020年に本コーナーを再開してから早速試してエラーになったため、実はこうした事情を知りませんでした。恐らく他にも変更は多岐に渡るものと思われます(例えばGUIで扱うTkinterライブラリもtkinterと頭文字を小文字にしなければエラーになります)。今後、再学習しながら各項目を見直すつもりですが、もしも内容に不手際があった場合には、最新の情報を入手して適宜修正するようにして下さい。
●Python2系
>>> print 'HelloWorld!'
●Python3系
>>> print ('HelloWorld!')
入力してEnterキーを押すと、下に結果である「HelloWorld!」が表示されます。表示したい文字列を囲むのは、シングルコーテーションでもダブルコーテーションでも良いですが、始まりと終わりは同じ記号でないといけません。ここで書いたプログラムは終了すると消えてしまうので、あくまでも簡単な命令の確認用です。実際のプログラムは、保存できるように別のウインドウを用意します。「File」メニューの「New Window」を選択すれば新しいウインドウが開くので、ここにプログラムを書きます。保存時のダイアログには新規フォルダの作成ボタンが無いので、あらかじめプログラム保存用のフォルダを作成しておいて下さい。名前は何でも良いですが、テキストに従って「python_program」という名前のフォルダを作成しました。
ついでと言っては何ですが、書いたプログラム等を紹介するのにスクリーンショットが撮れると便利なので、Raspberry Piに手頃なソフトをインストールしました。調べてみるとksnapshot(後にspectacleと改名されたようです。ダウンロードではksnapshotになっていますが)が良いようなので、早速インストールです。アップデートした時のことを思い出してLXterminalを起動し、プロンプトの後に次の命令を入力します。
sudo apt-get install ksnapshot
管理者権限でないとインストールできないので、頭にsudoを付けるのを忘れないようにします。インストールには15分位かかります。
●ksnapshotを使ったスクリーンショット 試しにスクリーンショットを撮ってみました。ウインドウを指定したりマウスでエリアを指定したり、色々撮り方が選択できるので便利です。 スクリーンショットのアプリは、日本語表記のgnome-screenshotもお勧めです。ただし、私の環境では撮影後にデスクトップにゴミ画像が残るケースがあり、やや不安定な部分があるようです。 |
撮ったスクリーンショットを手軽に母艦のパソコンで編集できるよう、無線LAN親機のNAS機能を使えるようにしました。これでRaspberry PiからNAS経由でWindowsパソコンへデータを転送できます。
<追記(2024.1.28)>
上記で無線LAN親機のNAS機能を使う方法を紹介しましたが、現在ではこうした機能は廃止されてしまったようです。しかし、RasPi同士やPC間でデータがやり取りできないと不便なので、別の方法でデータサーバーを用意することにしました。最初は余っているデスクトップパソコンを利用しようと考えましたが、すぐにRasPi自体が省エネの超小型コンピューターであることから、これを利用してはどうかとの考えに至りました。PCとRasPi(Linux)の双方でお互いにデータのやり取りをしたいので、それらが可能になるサーバーを検討した結果、最終的にsambaとnfsの2つのサーバーを同時に稼動させることにしました。RasPiサーバーを中核として、PCとはsambaで、他のクライアントRasPiとはnfsでファイルのやり取りを行います。
それぞれのサーバーの詳細は「51.RasPiのデータサーバー化」で解説します。