Raspberry piがやってきた!ついでにPythonもこれから使いたい

 

早速Raspberry Piが手に入ったので、色々遊んでみようと思っているところです。

なぜラズパイ?と思った方は下の記事をご覧いただけると経緯が分かるかと思います。

今回はラズパイを手に入れてからやったことを書いていこうと思います。

目的はサーバーを立てる事ですが、脇道にそれて色々な事にも手を出し始めています。

Raspberry Pi でPythonが必要になった経緯

diablito2を作る上で、サーバーが必要になったわけですが、まず、サーバーを立てるとはどういうことか。

いまいちピンと来てないのですが、PCにサーバーソフトを入れればそれはサーバーらしいという事がわかりました。

とりあえずは、手ごろなPCにApache, IIS, Nginx などを入れればいいらしい。

 

でも、最初はラズパイという得体のしれない物を触るという発想が無かったので、

仮想OS的なものをPCに入れるという選択があるらしいということから、

例えばVMware player , VMware fusion , Virtual Boxなどを検討していました。

 

しかし、余ってるウィンドウズのライセンスが無いので、Linux にするか?

Linux のディストリビューションのCentOSというのをいれるのか?

そもそもLinuxってほぼ使ったことないけどなんじゃらほい?

 

とか考えているうちに、よく考えてみたらサーバーって借りたら良くない?

って考えるようになってきたんですね。

このウェブサイトも一応サーバー借りて作っているので、そこで実験して失敗したりしたら大変なことになりそうなので、

別の方法を考えて色々探したらAWS LightSailというのがあるんですね。

 

AWS LightSail で無料の仮想サーバー(期限付きで無料)を立てれるらしい!

という事で早速やってみたんですが、

結局OS選ぶところからか!!

ってなりまして。

どうもこのインスタンスというのが仮想PCみたいなことで、そこに入れるOS選ぶところからのようなのです。

 

それから、AWSは自動でスケールしてしまうサービスみたいなので、セキュリティわからずに遊んでるうちに、

ハックされて勝手にスケールしてしまって一夜にして請求が沢山来るとかいう事になったら怖いなーとおもい、

結局のところは仮想じゃなくてちゃんとPCなりラズパイなり用意しようと思うようになりました。

 

しかし、昨今、ラズパイは品薄になっているという事に気が付きまして、

秋葉原でもあまり売ってないという事が分かり、

そんな話を、有識者の方に相談したら、気前よくPCを提供してくださる奇特な方や、

ラズパイを無料でお貸ししてくれる方に出会い、なんとサーバーの立ち上げをできる環境が複数できたのです。

 

物理的な環境は整ったのですが、私の知識が足りてないですよという話がありまして、

取り急ぎ、下の3冊を読みました。

 

最初読んでも全く意味が分からなかったのですが、絵が多いこともあり通読できまして、

サーバー系の知識0だったのが、1ぐらい(out of 10)にはなりました。

全くのど素人の私でもなんとなくわかるところとわからないところの区別が段々つくようになりまして、

よく耳にする単語の意味などの把握ができ、3度目の通読くらいでなんとなくの雰囲気が掴めるようになってきました。

 

そこで、どういうソフトの構成にしたらラズパイ上でデーターの通信ができるのか考えまして、

色々なウェブサイトを巡って考えた結果、どうやらみんなMySQLとLaravel(PHPのフレームワーク)を使っている。

という事が分かりました。

My SQLはリレーショナルデータベースを作るための何かだという事は、聞いたことがあったので、

なんとなくデータベースを作るために必要なのだろうという事が分かったのですが。

一方、Laravelに関しては全く持って、意味が分からないというか、何のためにあるのか理解できませんでした。

 

これも色々と有識者の方にお話を伺ったところ、どうやらPHPのある程度組みあがった部品的なものを使えるという事で、

とても便利ですと言う話だったので、これもわからないなりに使ってみようと思っています。

 

そこで、取り急ぎ、LinuxとMySQLとPHPを勉強しようと心に決めたのですが、

たまたま、プライベートとは全く関係なく、所属している会社で業務でラズパイを使いたいみたいな話が出たんですね。

それもどちらかと言うと物理的なインタラクションをラズパイを使ってデジタルと繋ぎたいみたいなことになったのです。

例えば、スイッチとか、センサーとかそういった事を扱いたいと。

 

そうなってくるとサーバーの知識にプラスして、今度は電子工作的な知識が必要になってきました。

ラズパイにカメラを付けたり、発光ダイオードを付けたりという事をやりたいと思うようになって、

そこでまず即決で買ったのがこれです。

 

まさかですね、バラバラな状態で送ってくるとは思わなかったので、家に着いたときは絶望しました。

まぁ、ちゃんと説明書がアマゾンのサイトに載っていたので、何とか作ることに成功しましたが。

3時間ぐらいかけて試行錯誤した結果キチンとカメラになりました。

最後にラズパイにカメラを接続するのにどっち向きに刺すべきか迷いましたが、1/2であってる方を引きまして、

無事にですね、カメラの認識をラズパイで行う事が出来ました。

 

これが一応私の手をカメラに映すことに成功した図です。

案外簡単にここまではできました。

ところが、これをどうやって使うかというところが悩ましいのですね。

カメラを制御するプログラムが必要になるという事に薄々気づき始めました。

そうなってくると、プログラムを書かないといけないという事になりますね。

例えば、手をピースサインからグーに変えた時に、何かパソコンで処理が走るとか、そういう事はどうやったらできるのか。

 

これも又、有識者の方にお聞きしたところ、それはPythonでできますというお話でした。

そこで、まずは簡単な事から試していこうと思い、買ったのがこちらです。

 

スターターキットですね。これはCかPythonで書くことができるようです。

チュートリアルのPDFが非常に分かり易く、これなら私にもできそうだと思って、今、電子工作も、始めようとしています。

なんかこんな回路を触るみたいですね。今のところこの図を見てもサッパリ何のことやらですが。

 

取り急ぎ、そういった経緯で、色々な事に足を突っ込む機会が生まれたという事なのです。

今、ココです。

もはや全く建築ではない分野に頭を突っ込みかけていますが、産業の壁が溶けた今、色々な事に挑戦していきたいと思っています。

中途半端なC#を補強したいと思ったりコンピューテーショナルデザインを突き詰めたいとか思いつつも、

新たな分野にも手を出し始めて、一点突破みたいなことはできていないのですが、これもいつかはどこかで繋がる点だと思い、

種まきを進めていきたいと思っています。

ラズパイの設定が終わってからやった事

ラズパイの設定は色々ありましたが、沢山記事が出ているのでその辺は省きます。

まずはリモートデスクトップ&VNCを試しました。

下記のページを参考にしています。

▼VNCでRaspberry Piにリモートデスクトップ接続 (Windows/Mac/Linux対応)

 

現在、うちにはLinuxの走っているPCと、ラズパイ3Bと、4Bの3つのLinux環境が存在しておりまして、

それぞれ3つ別々のことをやって色々な事を試したいと思っています。

取り急ぎはそれぞれをネットワークでVNCでひとつのPCから管理できるようになったところです。

ちなみに、Linux Mint 19.3にVinoを入れてVNCするのは、Linuxを使ったことのない私にはかなり辛かったです。

▼Linux Mint 19.x 以降で使えなくなったvinoを Linux Mint 20 にインストール

 

これを参考にしたんですが、ファイルをLinuxで作るとか編集するとか、結構大変でした。

vi コマンドではうまくいかず、sudoeditとか使ったりいろいろしました。

 

これから、サーバーなり、電子工作なりを試していこうと思っています。

そこで、まずはPython、php、MySQLの勉強を並行してやらないといけないのではないかと思い始め、

どうやって勉強しようかなと思っています。

とりあえずは無勉強で取り掛かってみて、わからなかったら、Progateか何かで勉強しようと思います。

おわりに

今回はPythonについて書こうと思っていたのですが、そこまでいかなかったので、今後の更新に期待してください。

とにかく今やっていることを書いていかないと忘れてしまうので、とにかく残したいという想いで記事を書いています。

今後ともどうぞよろしくお願い致します。

おすすめの記事