ラズパイ セットアップ 〜普通のインストールとベアメタルインストール〜

イントロダクション

夏休み、緊急企画(思いつきなんで。。。)ラズパイをベアメタルでインストールします。BareMetalとは、OSとかがないまっさらな状態のことらしいが色々と認識がぶれるが、まぁ無視して「GUI環境」ではないCUI環境のこととして記載しますのでご注意いただきたいと思います。

通常のインストール

「通常のインストール」というのは、普段使用しているパソコン(「GUI」といいます)のインストールです。
具体的には、下のような画面で操作を行います。

ラズパイイメージャーを使う

下の動画のように、OSを選択してインストールメディア(USB, SDカード)を作成することが出来ます。

これらのインストールメディアを作成したら、実機(デバイス)に差し込んで起動しましょう。インストールできます。

Rufusを使用する

見た目は下のような形です。手順の2の部分で使用します。
Rufus1

ラズパイOSを古いPCにインストールする場合は、下のような手順を踏みます。

  1. Raspberry Pi OSのPC向けのISOをダウンロード
  2. ISOファイルをインストールデバイスとして(自動再生機能付きで)USBなどのデバイスに保存
  3. ラズパイにしたいPCなどにインストールデバイス(USBなど)から起動するように設定して起動

ベアメタルのインストール

普段使用しているGUIと違って、下のように黒い画面しかありません。これを「コマンド画面」とよびCUIといいます。
先ほどの「GUI(Graphicak User Interface)」がグラフィカル・ユーザー・インターフェースなのに対して「CUI(Character User Inteface)」といい文字のみの画面という意味です。

このCUIのみをインストールするというのがベアメタルになります。グラフィカルではないので処理が軽いのです。

ラズパイ(GUIのインストール)

GUIはとても簡単です。Raspberry Pi Imagerを使用する方法です。

インストールできるOSとしては下のようなものがあります。
※他にもあるので調べる必要あり

  • ラズパイ本体(Armボード)にインストールするOS
  • ゲームやメディアプレーヤなど
  • 「シンクラ」用のOS

ラズパイ(CUIのインストール)

右のラズパイダウンロードサイトにアクセスする。
access below URL.
https://www.raspberrypi.org/downloads/raspbian/

上記のサイトに下のような画面で、左がデスクトップ、右がCUIになるようです。
you can see below view. left is for Desktop, right is for CUI.

筆者はMacを使用しているのですが、とりあえずZIPをダウンロードしました。
ZIPをダウンロードしたら。。。
I am using Mac. so I download right side zip file.

ディスクユーティリティを開きSDカードを初期化します。
To format SD card, open Disk utility like this...

FAT32でフォーマットする必要があります。
We need Format to FAT32.

ラズパイのイメージを配置する
Set raspberry img on SD card.

これで、ラズパイが動いたら次は、Javaを起動します。

Java 画面作成〜JavaFX〜

イントロダクション

夏休みなので、ラズパイを使って自由研究と洒落込もうと考えました。
そして、ラズパイで何をやろうか?と考えました。

JavaFXアプリケーション

Javaで作成した画面をラズパイに表示してみようと思います。
まずはここからです。これだけではつまらないので何かを実装して動かしたいのですが、予定通りに行くことは稀なのでとりあえずはここまでやる事にします。

手順(How to)

  1. JavaFxで画面を作成する。Create View by JavaFx.

    public GamenClass extends Application {
    public static void main(String[] args) {
      launch();
    }
    /** 
    * 画面を実装するメソッド
            * Application#startをオーバーライドします。
    */
    @Override
    public void start(Stage primary) {
       TextArea area = createTextArea();
       Group root = new Group();
       root.getChildren().add(area);
       Scene scene = new Scene(root, VIEW_WIDTH, VIEW_HEIGHT);
       primary.setScene(scene);
       primary.show();
    
       // プロパティファイルのロード
       ResourceBundle bndle = ResourceBundle.getBundle(CMD_PROPERTY);
       System.out.println("Properties: " + bndle.getString("acc"));
    }
    }

    ソースにするとこんな感じになります。
    大雑把にGroupクラスを作って(new Group())、Stageに追加(add)、そしてSceneをStage追加、そして表示(show())するだけで画面が表示できます。
    Groupクラスに作成した画面コンポーネント(テキストエリアetc)を追加する事で表示画面に必要な部品(ボタンなど)を追加していきます。

サンプルのソースはこちらになります。
Sample code is this.

でわでわ。。。
See you next time. have a good day!