この記事はHacobu Advent Calendar 2024の11日目の記事です。
1.はじめに
株式会社Hacobu QAエンジニアのいとうです。
今年チャレンジしたラズパイ工作について書いていきます。業務で触っているわけではないですが、とあることがきっかけでラズパイに興味を持ち、ラズパイ工作にチャレンジしてみました!
自分のバックグラウンドは以下。
- QAエンジニア歴としては3年弱
- 開発エンジニアの経験はなし
- 研修でJavaを少し触ったことがあるくらい
- それ以前は事務系の仕事
- 大学は文系学部
ということで、これまで電子工作は全くの未経験という状態からのスタートです!
2.ラズパイを触ってみようと思ったきっかけ
そぞらさんのこのツイートがきっかけでした。
水族館好きで大水槽とか何時間でも見ていられる人間な私は「こんな素敵なもの自作できるの〜!?」と思い、それ以降はそぞらさんのツイートやブログを読み漁り、ラズパイへの関心が日増しに大きくなりました。
手順のブログを読んでみると、「これ意外と自分でも作れるんじゃない?」という気持ちになっていき気づいたらラズパイを手にしていました。
3.用意したもの
さて、初心者の電子工作にあたっては1から道具を集めていきました
-
TRASKIT Raspberry Pi 4 Model B Starter Kit
- 初心者には大変ありがたいスターターキット
-
5インチ円形タッチスクリーンディスプレイ(1080 x 1080, HDMI接続)
- ビビリの初心者としては記事と全く同じものを揃えたかったのですが、4インチが品切れだったので大きめの5インチを買いました
-
USB HUB
- なくても作れるとは思いますが、コードがごちゃごちゃするので
- Raspberry Pi はじめてガイド[Raspberry Pi 4完全対応]
- プラスドライバー
- 0番、1番くらいのサイズのもの
- 有線マウス
- 所持しているBluetoothマウスが上手いこと接続できなかったので有線を仕入れました
4.ラズパイのセットアップ
初めて触る未知のOS、ラズベリーパイとの対面です。
セットアップはこちらを参照して行いました。
初心者でもわかりやすかったのでほとんどつまずくことなくセットアップできました。
手順はざっくりこんな感じ
本当に先述のブログに書いてある通りにやったら簡単に終わったので概要と躓いたポイントのみです。
- RaspberryPiOSのダウンロード
- ラズパイ本体の準備
- ラズパイの起動
- ラズパイの初期設定
初心者躓きポイント
コードどこにどれ刺せばいいのかわからない
セットアップ時にはこの三箇所でOK!①ACアダプター
ラズパイスターターキットにはON・OFF切り替えのできるACアダプターがついているのでそれを使うとよい。準備できるまではOFF状態でつないで置く。ON・OFF切り替えなしのACアダプターを利用する場合は最後に接続するべし(ラズパイにはスイッチがないので電源接続した時点で起動してしまう)
②HDMIケーブル
モニターと接続する。
ラズパイをセットアップする際、モニター接続して行う
③マウス・キーボード
私はHUBを使いました。
5.ラズパイと円形ディスプレイを繋いでいく(物理)
6.円形ディスプレイに映していく
手順
-
ラズパイと円形ディスプレイを繋ぐ
-
ラズパイセットアップ時に接続していた作業用モニターから外部モニターに移行
以下のコマンド入力git clone https://github.com/waveshare/Waveshare-DSI-LCD cd Waveshare-DSI-LCD cd 6.1.21 cd 64 sudo bash ./WS_xinchDSI_MAIN.sh 40C I2C0 sudo reboot
再起動されるとこうなる
画像で分かる通り、ツールバーなどが枠外にはみ出すのでショートカット駆使して設定をやり遂げましょう。 -
MagicMirror2のダウンロード
-
Ctrl + Alt + T
でターミナル起動 - 順にコマンド実行
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - git clone https://github.com/MichMich/MagicMirror cd MagicMirror/ npm run install-mm cp config/config.js.sample config/config.js npm run start
-
7.動画を再生する
ここからはMagicMirror2の設定を自分好みに完了させていきます
-
MM-EmbedYoutubeをインストールする
a. Youtube動画の再生のために必要になります
以下のコマンド実行cd ~/MagicMirror/modules git clone https://github.com/nitpum/MMM-EmbedYoutube.git cd MMM-EmbedYoutube npm install
-
configファイルの設定
a. MagicMirrorをインストールするとMagicMirrorディレクトリ配下にconfig/config.jsファイルが作成される
b. ↑を編集していく
- 不要な部分をコメントアウト
- moduleで今回表示したいclockとMMM-EmbedYoutubeを設定
- video_idはYouTubeリンクの
v=XXX
の部分を参照します
- video_idはYouTubeリンクの
modules: [{
module: "clock",
position: "top_center",
config: {
showDate: false,
displaySeconds: true,
},
}, {
module: 'MMM-EmbedYoutube', // Path to youtube module from modules folder Exmaple: MagicMirror/modules/custom/MMM-EmbedYoutube/ so it's custom/MMM-EmbedYoutube
position: 'top_left', // This can be any of the regions.
config: {
// See 'Configuration options' in README.md for more information.
video_id: 'X6C2hpunZ8c',
loop: true,
autoplay: true,
},
}, ]
※画像時点では伊丹空港のライブ配信を参照していましたが、ライブ配信終了してしまったので上のconfigでは鳥羽水族館ラッコ水槽ライブカメラを参照しています。
8. cd MagicMirror/ && npm run start
で起動するとついに!!
ラッコが泳いでいる!!
ちなみに、より水族館を感じる動画を探してTropical Reef Camera powered by EXPLORE.orgの配信に辿り着きました。
Tropical Reef Camera powered by EXPLORE.org(左)と箱根園水族館の円形窓(右)を比べてみても遜色なし!!(箱根園の方は少し暗く撮ってしまった私の写真の腕の問題が出ていますが…)
9. 終わりに
ハードとソフトの両面で初めてのことが多かったので戸惑うことが多いながらも楽しく作れました。そぞらさんのブログがわかりやすかったので、コマンド実行などは指示通りにやっていくだけでほぼできました。(ありがとうございます!!)
今回作ったものであれば初心者でもそんなに時間もかからずに作れたので、年末年始の連休にぜひ作ってみてはいかがでしょうか。
ちなみに私は今回作っているうちに童心に帰り、ロボットが作りたくなったので次はこちらを作ってみようと目論んでいます。
すでに手に入れた次のターゲット(クリスマス仕様で家の仲間たちと)
10.参考にした記事・書籍