Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
見出し画像

RaspberryPi Zero2Wで遊んでいく①(導入~軽いテスト)

はじめに

どうもぱるちゃんです。
最近なんとなく「低スペックPC」を触りたい欲があったので、ラズパイゼロ2Wを購入して遊んだ話を書きます。

※この記事を参考にして何か問題が生じても当方一切責任負いません。
まったく何もわかっていない初心者が頑張る記事です


今回購入したもの

〇RaspberryPi Zero2W本体

なかなか現代では見かけないようなスペックだが、仮にも動作するパソコンが3000円台はなかなかびっくり。
まさしくフリスクサイズでしょう。

〇ケースなどのセット

いくら安いものとはいえ、基板むき出しで使うのは怖いのでケースセットを購入。
HDMIやUSBの変換ケーブルがセットになっている。
これだけあれば遊べる…!と思いきや、電源供給アダプターが含まれていないので注意。
それ以外は特に問題なし。

電源はMicroBで供給になるが、昨今においてはTypeCが主流、我が家にはMicroBケーブルがなく百均に買いに走った。

私が買うべきだったのはこちら。

手持ちを転用したもの

〇MicroSD

OS用。
なんでもいいが、OS用なので極端に遅いものはやめておいたほうがよさそう。

〇マウス/キーボード/HDMIケーブル

普段のものを転用したので紹介しないが、Bluetoothの設定にたどり着くまで無線は使えないので、有線をおすすめ

〇USB Webカメラ

当時WEBカメラでフルトラをしてみようと思い購入したもの。
選定理由としては60FPSらしいため
その後普通にフルトラ機器を購入したので使わなくなった。
今回はこれを接続し画像認識してみようと思う。

〇MicroSDをUSBに変換するやつ

他のPC経由でMicroSDにOSを焼く必要があるので使用。
元々PCに挿せるようであればこういったものは不要だ。

買ってないけど買うべきだったもの

私が買ったケースセットではなく、買うべきだったケースセットを購入すればこれらは元々付属しているので気にしなくてよい。

〇USBハブ

私が買ったセットのものでは一度に1つしかUSB機器を接続できない
すなわち、マウスかキーボードかどちらかを接続したらもう一方は接続できないのだ。
私は気合でセッティングを終わらせ、マウス・キーボードを無線化したためUSB一発でも事足りたが、やはりあったほうが良い。

〇MicroBケーブル

前述の通り、電源供給に使うため。

OS書き込み

普段使っているPC経由でMicroSDにOSを焼いていく。

https://www.raspberrypi.com/software/

上記公式サイトからOSを焼くためのソフトをDL、使うMicroSDを指定して進めていくだけでよい。
この辺りは指示の通りに進めていけばよいので詳細は割愛。

組み立て

購入したものを開封し、ケースに収めるなどしていく。
ケースに基板を入れ、4か所ねじ止め、OSを焼いたSDを挿入。
ボールペンとの比較だが、ご覧の通り相当小さい。

資格の勉強中だったのでノートの上。
OSを焼いたMicroSDを挿入。

ケース蓋を閉じ、変換コネクタ類を挿していく。

もはやケーブルのほうが専有面積広い。
色々接続したの図

セッティング

モニターに接続してスイッチオン。ラズパイの導入が始まる。
※ここからモニターの写真が続きますが、万が一変なものが映り込んでいても見なかったことにしてください。

welcomeされた。
ちょっとだけ長い導入。

こちらも順当に進めていけばデスクトップにたどり着く。
この簡素な感じがLinuxを感じさせる…かもしれない。

私はこのタイミングでマウスとキーボードを無線化した。

ゴミ箱だけのデスクトップ

標準ブラウザはChromiumとFirefox。
試しにChromiumを立ち上げてみようとすると…。

RAMが1GB切ってるPCを扱うなんていつぶりだろうか。

RAM少ないんだからやめときな!と言われている。
やめとけと言われたので、開いてみる。

…。

開きはしたものの、一生Loadingのまま。
試しに30分ほど放置してみたが、やはりこのままだった。
ラズパイゼロを所謂デスクトップ代わりに使うのは相当困難そうだ

続いて消費電力についても見てみる。
ワットモニターとしてはSwitchBotのスマートプラグを使っている。

デスクトップ代わりにするのは難しいとしても、この消費電力の低さは魅力的。
つけっぱなしでも何ら問題なさそう。

アイドル時(デスクトップで放置)
ブラウザ頑張っているとき

カメラ動かしてみる。

さて、デスクトップの代わりとして使うのが相当難しいことがわかったので、工作・実験に役立ってもらうほかない。

ゆくゆくは画像認識をやってみたいと思っているので、今回の記事ではUSBカメラを接続→画像取得までをやってみる。

とりあえずUSBカメラを接続。

しかし私はプログラミングが一ミリもわからないので、ChatGPT大先生の導きに従いことを進める。

まずは必要なパッケージのDL。
ターミナルに以下を入力する。
どうやらopencvなるもので認識をやっていくようだ。

sudo apt update && sudo apt upgrade -y
sudo apt install python3 python3-pip python3-opencv git

次に接続したUSBカメラが認識されているか、確認する。

ls /dev/video*

これで/dev/video0 などが表示されれば認識OKだ。
(試しに接続していない状態でもやってみるとよい。)

続いて先ほど導入したopencvが正しく導入されたかの確認をする。
Thonnyを開いて、以下を入力後、Runする。

import cv2
print(cv2.__version__)

これでバージョンっぽい数字が表示されていればOK。
私は何故かうまくいかなかったので導入からやり直しOKとなった。

こんな感じ。

では実際にカメラの画角を取得するプログラムを動かす
同じくThonnyに以下のようなプログラムを打ち込み、Runする。

import cv2

cap = cv2.VideoCapture(0)  # 0はカメラID
if not cap.isOpened():
    print("cant open")
    exit()

while True:
    ret, frame = cap.read()
    if not ret:
        print("cant get frames")
        break

    cv2.imshow("Camera", frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):  # 'q'キーで終了
        break

cap.release()
cv2.destroyAllWindows()

大文字小文字など気を付けてほしい(最初その間違いで動かず)。

python未経験の私が見た限り、
1.opencvの機能を使い、capでカメラ(0)の映像を取得する。
2.開けない場合、開けないと表示して終了。
3.開けるならばフレームを取得、取得できない場合はその旨表示して終了。
4.取得できる場合はやめるまで表示し続ける。
5.飽きたらqキーを押すとプログラム終了。
そんな感じだろうか?

当然、無事動くと画面にカメラの画角が表示される。
特に気取った位置に置いていないので壁が映っているだけだが。

画角

なんにせよ、カメラの画角を取得することに成功した。

おわりに

いかがでしょうか。
皆さんもおもちゃとしてラズパイゼロ2W、いかがでしょうか。
プログラムわからなくてもそこそこ楽しいです。安いし。

次回はカメラを使ってもうちょっと色々やってみる予定です。
それでは。

いいなと思ったら応援しよう!