執筆者 野津悠
2024/12/05
ゼミの作業でRaspberryPiでコインセレクタを使う機会があった。RaspberryPiについて詳しく使い方がわからなかったため、調べながらやったり、先輩に聞きながらやった。nodeやnpmのインストールも必要だったが、まとめているサイトが見つからなかったため、このブログではコインセレクタを使うのに行ったすべてのことと、作成するうえで参考にしたサイトをまとめる。メインはこのサイトを見て行ったが、ラズパイの知識があること前提なので、私のような初心者向けに作成する。肝心なコインセレクタの方はまだ完成できていないので、完成次第、ブログも更新したい(覚えてたら)。
・[Raspberry Pi Imager」をこのサイトの通りダウンロード、セットアップ(下に詳しく説明する)をする [図1]RaspberryPiImagerホーム画面 ・上の画面が出たら、書き込むRaspberryPiのバージョンを確認し、「デバイスを選択」で同じバージョンを選択する。今回はRaspberry Pi Zeroを使用した。(図1,2) [図2]デバイス選択画面 ・次に「OSを選択」を押して、RaspberryPiのOSを選択する。今回はRaspberry Pi OS(Legacy,32-bit)を使用した。(図3)[図3]OS選択画面 ・次に、ラズパイで使用するSDカードをパソコンに差し込み、「ストレージを選択」を押して、差し込んだSDカードを選択する。パソコンにSDカードの差込口がない場合は、カードリーダーを使用する。(図4)[図4]ストレージ選択画面 ・ストレージまで選択できたら右下の「次へ」が選択できるようになるので押す。(図5)[図5]それぞれ選択した後のホーム画面 ・OSの設定を変更できるため、編集する場合は「設定を編集する」ボタンを押す。(Ctrl+Shift+Xでも設定画面を開ける)(図6)[図6]設定変更確認画面 ・今回はSSHというやり方で接続したため、ホスト名やユーザー名、パスワードをぞれぞれ自分が覚えやすいもので設定する。また、Wi-Fiはラズパイで接続したものと同じWi-Fiに、パソコンをつなげる必要がある。(図7) 「サービス」タブで「SSHを有効にする」にチェックを入れ、パスワード認証の方を選択する。(図8) [図7]一般の設定画面 [図8]サービスの設定画面 ・「オプション」タブでは書き込み動作の設定を変更できる。今回はデフォルトから変更していない。すべての設定が完了したら「保存」ボタンを押す。(図9) [図9]オプションの設定画面 ・設定の確認画面が出るため、問題なければ「はい」ボタンを押し、変更を反映する。(図10) [図10]設定の確認画面 |
初めに、コマンドプロンプトを管理者権限で実行する。今回はこのサイトをもとにSSH接続を行った。
通常、図11のようになっているのが、ラズパイに接続が完了すると、図12のように色がつく。
[図11]通常のcmdの状態
[図12]ラズパイ接続したときのcmdの状態
※一度接続が切れてからまたつなぐときは、図13のように、「ping ホスト名」コマンドを実行したあと、実行結果の[]の中身を、図14のように「ssh ユーザー名(notsu)@[]の中身」コマンド入力すると接続できる。
[図13]ラズパイのIPアドレスを確認するコマンド
[図14]SSH接続するコマンド
接続ができたら次はnodeのインストールを行う。nodeのインストールにもいろいろ方法があるようだが、今回はnvmというnodeのバージョン管理をするツールを使う。
このサイトに書いてある通りに進めていくとできる。
インストールには時間がかかるようだが私の場合、2時間ほど待っても終わらなかったため長すぎる場合は一度Ctrl+Cで止めてやり直してもいいのかもしれない。自己責任で。私はやり直しました。
インストールができて、使用できているのか確認する方法として、「node -v」「npm -v」というコマンドが存在する。インストール後に一度確認するべき!
後は、メインで見ていたサイトの通りにモジュールのインストールとプログラムの書き込み、実行を行う。
モジュールのインストールは適当なディレクトリとされているので私は、「notsu@raspberrypi:~ $」のディレクトリで行った。
その後、インストールを行ったのと同じディレクトリで「coin.js」ファイルを作成し、「nano 編集したいファイル名(coin.js)」コマンドを実行する。(図15)
メインのサイトに書かれているcoin.jsの内容をそこにコピペして、Ctrl+OでEnter押してから、Ctrl+Xでファイルから出ることができる。
[図15]coin.jsの中身
ここまで出来たら、一度「sudo shutdown -h now」コマンドでラズパイをシャットダウンして、コンセントを抜いてから、ジャンパー線をすべてつなぐ。繋げたら、再びラズパイを起動し、SSH接続を行う。↑※参考に
接続ができたら、「coin.js」が実行できるはず!!!...だが、現状、全然ログが流れず、コインを入れてもラズパイ側で認識できていない...
また、コインセレクタの設定が必要だが、それはこのサイトを見ながら進めているところだ。
【参考文献】
コインセレクターをRaspberryPIのnode.jsで扱う