\ 年に1度のブラックフライデーセール! /

オッサンでもPythonプログラミングをラズパイで学んでみる

なかなかラズパイが手に入らない中、既に1台でもお持ちならPythonプログラミングを学んでみるのはいかがでしょうか。なにせラズパイならすぐにPythonを書いて実行できる環境が整っています。気軽に始められるのでオススメです。

私はプログラマーでもないため大きな事はできません。ただ自分が使うラズパイで、ちょっとしたコードが導入できたら、出来た事実はもちろん、なんとなく有意義に使えていることが楽しいと思っています。まぁ、自己満足の世界といえばそれまでです。

せめてコード内で何の処理がされているのかを読めるようになると、オッサンとしてはとても面白さを感じてしまいます。職業にしていないからでしょうか。

プログラミングかー、ちょっと興味あるなー、という人はラズパイで密かに楽しんでみてはいかがでしょうか。(別に密かでもなくていいけど)

この記事の主な流れ

Pythonの環境とツール

ラズパイの公式OSであるRaspberry Pi OSなら、PythonもIDE(統合開発環境)も最初から用意されています。Thonnyは初心者向けにちょうど良いです。

他にもIDEはありまして、MuであったりAtom、PyCharmなどが有名です。

今はWindowsでも環境構築は昔ほど面倒ではなくなっていますから、別にラズパイである必要性はありません。ただ、ラズパイなら、microSDカードを書き換えてしまえばそれで終わりにできます。何がどうなっても普段のPC環境とは関係ないので実験機として重宝なんです。

Pythonで人気のあるデータ解析をするのにAnaconda(アナコンダ)が有名です。これはインストールしないとなりませんし、使いたいライブラリは別途導入が必要にはなりますが、単純にPythonコードを書いて、.pyファイルを実行するのは、特に何もしなくてもラズパイなら可能です。

webscraping

Webスクレイピングならpandasやjupyter使うので、ライブラリのインストールに苦戦することもありますけど、大抵は各公式サイトにインストール方法や設定方法などもありますからなんとかなっています。

ラズパイならグッと敷居が下がる感じですね。

使い方は人ぞれぞれです。単純にラズパイにもモニターを繋げて画面は2つにし、操作はVNC等の遠隔操作で手元のキーボードを使ったり、モニターを繋げずSSH経由で書き換えたり、もちろんラズパイ1台だけで済ませることもいいでしょう。

書籍やネットにあるサンプルファイルを動作させることから始められます。

書籍でじっくり進める学習方法

学習用の本3冊

古いタイプのオッサンとしては、専門書を片手に学ぶのは馴染みます。今はオンラインで学べるサービスも多く、効率よく学べますが、趣味と実益を兼ねてちょっと試すには書籍でも十分です。値段も3,000円くらいですからね。

こういった書籍類はいくつも購入してきました。最近はKindle版「シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全」で取り組んでいます。

——Linux全般であったり、ラズパイ、Python言語などご紹介した記事でも書籍をご案内しています。

Python言語自体は、以前にご紹介した「確かな力が身につくPython「超」入門」から始めました。第2版になっていますね。

\年に1度のブラックフライデーセール!/
Amazonで詳しくみる

今読み進めて実践しているのはこちらで、IDEはPyCharmのcommunity版を推奨されています。

\年に1度のブラックフライデーセール!/
Amazonで詳しくみる

こういったPC関係の実践本は、電子書籍は適していますね。好みはありますけど、PC環境で実践するのに画面上で並べて読めるのは楽だなと思っています。読み物系の書籍はやはり紙の本を購入していますけどね。

毎日コードに取り組んでいるわけではないので、設計して書けるほど上達はしていません。ラズパイで使うようなネットにあるPythonコードがなんとなく自分なりに書き換えることはできるようになりました。(とても時間はかかりますけど!)

誰かにリリースするわけではないので、自分なりにエラーに対応するのも楽しいものですよ。

ネットから探すPythonコードの例題

ネットにあるPythonコードをそのまま使って、自分なりに少し修正を加えることでやりたいことに近づくこともできます。最初はまるっと同じことして、コードの処理が読めれば、少しずつ変更していけます。

例えば、以下のようなスマートアラーム時計のコードを読みながら、実際に実行すればLCDがどうなるのかから何をしているのか分かりやすいですよね。

#!/usr/bin/env python

import I2C_LCD_driver
import time


mylcd = I2C_LCD_driver.lcd()


while True:
    mylcd.lcd_display_string(time.strftime('%I:%M:%S %p'), 1)
    mylcd.lcd_display_string(time.strftime('%a %b %d, 20%y'), 2)

日本語訳されている日本Pythonユーザー会のサイトもよく閲覧します。入門講座もあるから、基礎の基礎ではあっても、よく忘れてしまうので確認のために何度も見ますね。

私は内容が理解できてくれば、コードの中身を自分なりにアレンジしてみることで学んでいる状態ですね。

特に電子工作みたいな結果がリアルに分かるのは、何で間違えたかも画面上よりも把握しやすいです。

レシートプリンターなんて正にそんな感じでサンプルコードを少しずつ修正しました。

from escpos.printer import Usb
from escpos import *
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont

width = 500
height = 250

image = Image.new('1', (width, height), 255)
draw = ImageDraw.Draw(image)
font = ImageFont.truetype('clamp-1m-w4-regular.ttf', 50, encoding='unic')
draw.text((0, 0), "日本語" + " ", font=font, fill=0)
font = ImageFont.truetype('clamp-1m-w4-regular.ttf', 28, encoding='unic')
draw.text((0, 82), "abcdefghijklmnopqrstuvwxyz", font=font, fill=0)
draw.text((0, 112), "ABCDEFGHIJKLMNOPQRSTUVWXYZ", font=font, fill=0)
draw.text((0, 142), "1234567890" + " ", font=font, fill=0)
draw.text((0, 172), "!\"#$%&'()=~|+*<>?_{}" + " ", font=font, fill=0)
p = Usb(0x0416, 0x5011, 0, 0x81, 0x03)
p.text(" Hello World\n")
p.image(image)
p.cut()

今ではネットで簡単にサンプルコードも閲覧できます。書籍の場合はサンプルもダウンロードできることも多いので、実践しながら読み進められます。

コードを書くことが職業でなければ、時間はかかっても自分のペースで楽しんで進められる利点はありますよね。

トライアルアンドエラー

前提としてプログラミングに興味が無いとダメなんでしょうけど、プログラミングって外国語を学ぶのと似ていると思っています。勉強しても実際に外国人と喋らないと喋れるわけではありませんよね。

プログラムも実際に実行してみないと座学だけでは無理でしょう。で、間違えたら何で間違ったのかが分かれば、かなり覚えられます。

外国語も同じで、間違えたら言い直せばいいし、なんて言うのか尋ねてもいい。だから、最初に英語で覚えようとしたのは「○○はなんて言うのですか?」「それはどういう意味ですか?」「なんて言うのか分からないけど〜」といったことでしたね。

意外と外国人との意思疎通は簡単だなと思いました。語彙は足りないし発音も不確かだとしても、伝わっていることってありますよね。プログラミングも似たような感覚で触っています。(まぁー、そのレベルっていえばアレですけど)

ラズパイに興味を抱いたなら、プログラミングにも興味が沸くのは自然だと思います。年齢も関係なく、大したことはできなくても、ほんの少し便利にできたら楽しいですよ。

Rレッド

少なくても抵抗感は薄れます。

シェアする
  • URLをコピーしました!

Raspberry Pi 4、400、Zero2W

販売価格は、必ず販売サイトで確認してください。

\年に1度のブラックフライデーセール!/
Amazonで詳しくみる
\年に1度のブラックフライデーセール!/
Amazonで詳しくみる
RaspberryPi
¥15,987 (2022/11/29 14:24時点 | Amazon調べ)
\年に1度のブラックフライデーセール!/
Amazonで詳しくみる

この記事のコメント(承認後に公開)

コメントする

コメントは日本語で入力してください。名前は表示されます。メールアドレスは表示されません。

CAPTCHA

この記事の主な流れ