Raspberry Pi はいったい何ができるの? Pythonって何? そう思うのも無理はありません。非エンジニアの人なら無関係です。でも、自分も何かしてみたいと思ったら、「誰でもコンピューティングに触れられる」ように安価に簡単に提供されている基板のラズパイを使わないのは勿体ないです。
具体的には電子工作ができたり、安価に一般的なパソコンのように使うことも可能です。
また、IoT(モノのインターネット Internet of Thingsの略)の中心に使うことが想定されています。
Raspberry Pi という機械でPythonというプログラム言語を使うだけで、かなりのことができるのです。
ラズパイを買う。そこでPythonを学習する。
決して無駄にはならない知識と技術だと思っています。
Pythonとは
Pythonという世界でも支持されているプログラム言語があります。
これはRaspberry Pi とは直接は関係ない言語です。しかし、特徴としてコードがシンプルで比較的に習得しやすいプログラム言語です。
そのために教育用として利用されることも多いです。そこがRaspberry Pi と非常に似ていて、習うという点においてはどちらも比較的にやさしいため、利用する人の裾野が広がったと思います。
——そもそもRaspberry Pi のPiはPythonをイメージして名付けられました。
Pythonはさまざまな分野のアプリケーションで使われている、極めてパワフルな動的プログラミング言語です。
Pythonはよく、Tcl、Perl、Scheme、Javaなどと比較されます。Pythonには次のような特徴があります。
とてもクリーンで読みやすい文法
Python Japan(https://www.python.jp/)から引用
強力な内省(イントロスペクション)機能
直感的なオブジェクト指向
手続き型のコードによる、自然な表現
パッケージの階層化もサポートした、完全なモジュール化サポート
例外ベースのエラーハンドリング
高レベルな動的データ型
事実上すべてのタスクをこなせる、広範囲に及ぶ標準ライブラリとサードパーティのモジュール
拡張とモジュールはC/C++で書くのが容易(JythonではJava、IronPythonでは.NET言語を利用)
アプリケーションに組み込んでスクリプトインタフェースとして利用することが可能
非エンジニアという立場から見ても、他の言語に比べWebのHTML言語や、古くはBASIC言語、ポピュラーなVisualBasic言語、これらと同じように受け容れやすいと感じています。
詳しくは理解していませんが、C言語寄りのプログラム言語は理解しにくいと個人的に思います。
エンジニアの方からしたら笑い話みたいに聞こえるでしょう。例えば簡単なHTMLとCSSにしても、非エンジニアにはCSSの方が理解に苦しみます・・・。
もちろん慣れです。
使っていればHTML+CSSだって理解していきます。とりあえず使える程度には・・・です。
Python言語は比較的に簡単な部類に入るものの、キチンと理解すればかなりの事が可能です。
現実にGoogleのサービスであるDropBoxや人気のInstagramなんてPythonで構築されています。YouTubeだって全てではありませんが一部Pythonです。(大規模になればいくつかの言語が利用されていますね)
おっさんには難しいものの、子供や若い方ならば、もしかしたらGoogleのような世界的企業で働ける1つの言語スキルとして、習得することは優位に働くと思います。
ハードウェアとしてRaspberry Pi があり、そこにカメラやWi-Fi、様々な機能のHATと呼ばれる拡張基板をRaspbianというOSで制御させます。プログラム言語としてPtyhonで記述すれば、それらをより良く制御できます。命令できるわけです。
RaspberryPiなら
Raspberry Pi + (拡張基板+センサー) + Raspbian == 簡単
他にもプログラム言語はあれど、小学生から使うとなるとそれなりの時間を習得に充てなければなりません。Raspberry Pi ならば、学校の授業程度でも動く、光る、音が鳴る、そういった楽しいことに触れられます。
RaspberryPiなら
- Raspberry Pi (基板)で動作
- Raspbianで制御(OS)
- Pythonで命令(スクリプト言語)プログラミング
今で言うとスマホのアプリの役割です。ここが自分で記述できれば・・・と思いませんか。それが比較的簡単ならばチャレンジしたい・させたいですね!
Pythonを学ぶ
Raspberry Pi とRaspbianの環境ならば、すぐにPythonのプログラムを作成して実行できます。学習端末として利用し、そのまま自分のやりたいことを作りたいと思います。
個人的な一番の目的は、様々なHATを利用するために先人が用意してくれたPtyhonスクリプトを読んで理解し、それを少しイジってカスタマイズしたいと思っています。
無料で閲覧できる学習系のWEBサービスも利用しますが、ここは地道に解説本を購入して確実に学ぶことにします。
どういった本から入っていこうか?
Pythonには2つの種類があります。2.xと3.x系です。この辺は初心者に分かりづらいです。今なら3.x系から始めて問題ないと思います。本はどちらかに偏っているのでそこは確認しましょう。
解説本は高価なため何冊も買えません。別にプロとしてすぐに仕事をするわけではないので、やりたいことを明確にして「できた」という成功体験でやる気を出したいですね!
私自身は、N88BASIC → MS-DOS → VisualBasic+VBSは触って来ました。それでもイチからプログラムは書けません。基本概念は知っている中年オヤジです。
手始めにこれから
サラッとPythonを知るには良書です!
「確かな力が身につくPython「超」入門」は基本は抑えられています。
私が読んだ限り、図解も丁度良く分かり易い文章です。個人差はありますからどの本もそれなりだと思います。相性って奴??
こちらの内容は冒頭の一部を載せてどのように思ったのかレビューしました。購入の参考にしてください。

独学で頑張るには最適の教材! Kindle版ならターミナル端末と並べて便利!
こういった参考書のKindle版は一長一短です。私は本のジャンルというより持ち運びの条件によって書籍と使い分けています。
しかもKindle版がある参考書も少ないのは難点です。
でも価格差が大きい場合はKindle版を買う傾向にあるかも?! (概ねKindle本の方が安い・・・)
「独学プログラマー Python言語の基本から仕事のやり方まで」も300円くらい安い。中身に依りますがPCでもKindleは読めますので、本を開くよりは軽便な場合もあります。
Python用のエディタがリリース! MacでもWindowsでも
Pythonのエディタで有名なのは2つ。正直な話、ターミナルで実行させるよりもお手軽過ぎです。


最近ではthonnyがお気に入りです。これもマルチプラットフォームです。Raspbianも最新のフルバージョンなら初めから何でも入っているので迷うことはありませんね。・・・あまり肥大化してもらいたくないけどね。


無料のマガジンはThe MagPi Magazine
写真画像も豊富で新しい情報とノウハウも載っています。オススメ。連載記事にはPythonのプログラミングもあります。
この雑誌は英語ベースです。写真を見るだけでも楽しいです。当ラズパイダでも途中から毎号のようにレビューしていますから参考にしてください。


Python公式サイト
当然ながらPythonのサイトも抑えておきましょう。学習用ではなくて事前情報として知っておいて損はありません。
Python
https://www.python.org
Python Japan
https://www.python.jp
SSDドライブ起動させたRaspberry Pi 4 サクサクと愛用中!
コスパが抜群のSSDドライブは内蔵型でいい
Crucial SSD 480GB BX500 SATA3 内蔵2.5インチ 7mm
Raspberry Pi4はメモリー8GBモデルなら余裕
【国内正規代理店品】Raspberry Pi4 ModelB 8GB 技適対応品
USBブートの構築方法を実践
ラズパイ4をUSB接続のSSDから起動する方法(USBブート)
PythonならRaspberry Pi を操れます!
プログラム言語はたくさんあります。どれが素晴らしいとは言えません。現在ではそもそもWebやネットワークの知識も無いとプログラム言語単体ではどうしようもありません。
逆に言えば、公開されているAPIなどを利用すれば、願う形にはなると思います。
中年オヤジの経験上、何か1つでも多少の理解が深まると、他のことも何となく理解出来てくるものです。実践型という無骨なやり方には違いありませんが、習うより慣れろの部分は大きい。
はじめてRaspberry Pi のインストールした時、今ほどフレンドリーなインストーラーでは無かったので、何度もエラーが出て困り果てました。しかし、何度もインストールを繰り返していたら、原因が解ってくるものです。
人のブログを読んで、コードや設定をコピペしていたのに、このブログではコピペされるっていう?! いや、今でもコピペしまくって色んなことをRaspberry Pi にやらせようとしているから変わっていません。
過程はどうあれ、実際に動いた感動はイイものです。はい。
このくらい出来たので、何かに使えますね! 話題のスクレイピングもできた!


できればもっとPythonを理解して、日常的な便利な楽しい仕組みを自前で作れるように身の丈に合った使い方で楽しみたいと思っています。
Raspberry Piで何かしたいならPythonを習得すれば大概はできるというお話でした。
PythonだけならRaspberryPiは4Bでなくても、3B、3B+、3A+、でも充分勉強できます。
コメント ご感想をお願いします。
タイトル誤植
「Raspberry Piで何かしたいならP tyh onを習おう!はじめてのPython」
ご指摘ありがとうございます! tの位置が間違っていました。助かります!
懲りずにまたお越しください。
初めまして、こちらのサイトを最近発見しましてそこからラズパイゼロを購入したり、過去の記事漁って楽しく見させてもらっています!
記事とは全く関係ない質問で申し訳ないのですが、今windowsとラズパイゼロを使っていて初めてセットアップした時は、モニターやキーボードが何もない状態でwpa_supplicant.confを自宅のwifiのSSIDとパスワードを入力して作成したあと、microsdに入れてwindowsのコマンドプロンプトから
ssh pi@raspberrypi.local
と入力をして無事接続できました。その後vncserverで接続してリモートで画面をwindowsに出力して初期設定をしました。
そこで一つ問題点がありまして、例えば外にあるセキュリティのかかってないフリーwifiに、まず自分の所持してるwindowsのPCを接続するとして、モニターやキーボードがない状態のラズパイゼロで上記のような感じで繋げる設定方法はないでしょうか?
読みにくい文章で申し訳ございませんがよろしくお願いいたします。
はじめまして! ラズパイダを参考にしていただいてありがとうございます!
ご質問の件ですけど、パッと思い付くのは、PCではなくて、スマホのBluetoothテザリングにRaspberry Piを接続するのはどうでしょう??
フリーのWi-Fiだと入力インターフェイスがないと設定が出来ません。テザリングなら1度設定してしまえば、次から見えなくても可能です。
ご希望は恐らくフリーのWi-Fiを使いたいことだと思いますが、スマホをフリーのWi-Fiに繋げば・・・?? 私はフリーのWi-Fiは使ったことがありませんので詳しくは分かりません。Wi-FiとBluetoothだから大丈夫のように思いますが・・・無理かな。
ネットのみんなー、元気玉プリーズ!!
スマホとのテザリングなら記事にしてみようかと思います。期待しないで待ってください。
返信ありがとうございます。
スマホとのテザリングがあるなんて思いつきませんでした!がしかし設定方法が分からないので今後の記事を待ってます!
やはりフリーですとネットで検索しても全然出てこないのでイメージだけですけどテザリングが一番よさそうだと思いました。
今後も記事の更新楽しみにしています!!!
少し試したのですけど、運用が意外と難しくて・・・。上手く行きません。
これはどうですか?
PCをWi-Fiに繋ぎます。(外のフリーWi-Fi?)
そのPCとRaspberry Pi をUSBケーブルで繋ぎます。ZeroWなら左側のUSBポートです。
で、以下の記事のようにUSBでOTG接続するのはどうでしょう? これは間違いなく出来ます。
https://raspida.com/rpi0-usbkit
/bootにある2つのファイルに追記することで可能です。
スマホとBluetoothのテザリングも出来きたのですが、インターフェイスが無いと操作ができません。同じネットワーク内に居ないとなりません。
PCもRaspberry Pi もスマホのテザリングで繋いで同じIP内なら、物によっては可能です。
(ハードルが高い)Volumioで試したらインターフェイスがバグって操作できませんでしたので検証できませんでした。
Raspbianなら問題無くSSHで接続できると思うので、実証できたら記事にしてみますね。
最初のUSBでネット接続をPC/Macを経由するやり方が繋ぐだけですから簡単ですね。
詳細に解説してくださりありがとうございます。
申し訳ございません、コメントを見落としていました。
アドオンボードは前々から購入していたので、本日こちらのOTG接続を試したところ設定も簡単ですぐに接続することができました。
接続方法が増えるのはいいことですね、こういった情報は検索してもでてこないので凄く助かります。
ありがとうございます!
わざわざどうもありがとうございます。
このブログはまだまだなので、Raspberry Piの検索で常にヒットするように頑張ります。
また出来そうな記事はトライしてみてください。