非公式Rock研究所

Radxaのシングルボード(主にRock4c+)について書いています

mraaのインストール

Rock4c+のGPIO接写

Rock4c+にはGPIOと呼ばれるpin(ピン)が存在する。
このGPIOを制御することでLEDを光らせたり、スイッチを制御したり、センサーからの情報を入手することができる。GPIOをコントロールするプログラムとして、Radxaのページではmraaというライブラリが紹介されている。

ここではそのmraaを導入するまでの手順を記載する。

(注意:本手順は以下に記すように試行錯誤した結果のひとつの手順に過ぎません。動作保証はできないことご了承ください。また、誤りや指摘がございましたら、問い合わせよりご連絡いただけると幸いです。)

インストールまでの試行錯誤

実は最初、mraaのインストール方法がわからなかった。というのも、Radxaのwikiには具体的なインストール手順は掲載されていない。いろいろ調べているうちに辿り着いたGitHubのページにパッケージ管理のaptコマンドでインストールする手順があったので試してみたがうまくいかなかった。
(説明文をよく読むと、"Here is a PPA for installing on Ubuntu Xenial or Bionic"(これはUbuntuのXenialかBionicにインストールするためのPPAです)と書かれてあり、当サイトでインストールしているUbuntuのバージョン"focal"は対応していなかった。(2024/6/1 時点))

mraaインストールの参考サイト

試行錯誤の結果、ここではmraaのインストール方法としてソースコードからコンパイルする方法を使う。 ソースコードからコンパイルするにあたって、参考となるサイトのリンクを以下に貼っておく。

Eclipse MRAA on Raspberry Pi 4 - Python #Python - Qiita
https://qiita.com/matsujirushi/items/c6842f3c517c4898e28d
(私が探した範囲で日本語でmraaのインストール手順を掲載されている唯一のサイト。(正直このサイト見るだけで良い。))

mraa/docs/building.md at master · eclipse/mraa · GitHub
https://github.com/eclipse/mraa
(mraaのGitHub(ソースコードが保存されているサイト)で、ここからソースコードをダウンロードする。コンパイルの手順もREADMEのCompilingに記載がある。)

インストール手順

mraaをダウンロードする前に、mraaに必要な関連するプログラムをインストールする。
(何をインストールしているのかよくわからなくても、mraaを使うための「必要な儀式」だと思って割り切ってもいいだろう。)

$ sudo apt-get install git build-essential swig3.0 python3-dev cmake libjson-c-dev
関連プログラムインストール画面

関連するプログラムがインストールできたら、以下のgitコマンドでmraaのソースプログラムをダウンロードする。

$ git clone https://github.com/eclipse/mraa
git clone実行画面 git clone完了後のrockディレクトリ

mraaのソースコードを取得が完了すると、rockディレクトリにmraaという名前で新しくディレクトリが作成される。

次に、mraaディレクトリの中に'build'という名前でディレクトリを作成し、移動する。

$ cd mraa
$ mkdir build
$ cd build

buildディレクトリに移動できたら、以下のコマンドでコンパイルを行う。

$ cmake ..
$ make
make処理実行中の注意メッセージ make処理完了後の画面

makeコマンドの実行中、注意メッセージが出たが処理は継続する。

コンパイルが完了すれば、以下のコマンドでインストールする。

$ sudo make install
mraaインストール

インストール確認

インストールが完了すれば、一度再起動を行う。

インストールできたか確認するため、mraaのバージョンを確認する以下のコマンドを実行する。

$ mraa-gpio version
mraa-gpio versionの実行結果

出力結果としてバージョンが表示されている。

次に、GPIOのpinをリスト表示させるコマンドを実行してみる。

$ mraa-gpio list
mraa-gpio listの実行結果

画面のようにGPIOの各pinの機能を表示されて、Rock4c+の製品概要の内容と対応していることがわかる。

『Radxa Rack 4C + Product Brief』のスクリーンショット
-『Radxa Rack 4C + Product Brief』より