週刊アスキー

  • Facebookアイコン
  • Twitterアイコン
  • RSSフィード

ラズパイ互換の40ピンヘッダーも使える!! 超小型PCボード「UP Board」を大紹介!!

2017年12月04日 11時00分更新

「UP Board」のGPIOやI2Cは、Raspberry Piとまったく同じように利用可能

 次に確認してみたメリットが、「UP Board」はRaspberry Piと互換性を持つ40ピンヘッダーを備えているという点です。「UP Board」ではRaspberry Pi互換のライブラリーが提供されているため、Raspberry Piとほとんど同じ方法で40ピンヘッダーが使えます。この基本的な使い方を紹介していきましょう。

 またここでは、OSとして「UP Board」向けにリリースされているDebianベースのディストリビューションUbilinuxを使っていくことにします。

 「UP Board」はPC互換なので、すでに触れたようにPC向けにリリースされているUbuntuやFedoraなどを利用できます。ただし、これら汎用ディストリビューションを利用し40ピンヘッダーを使う場合、「UP Board」向けのカーネルに差し替え、また「UP Board」向けのライブラリーのリポジトリーを追加するというひと手間が必要です。

 今回は主に紹介を兼ねているため、あらかじめ「UP Board」向けのカーネルとライブラリーのリポジトリーが追加されているUbilinuxを採用しています。

「UP Board」のGPIOを使ってみよう

 Ubilinuxでは、Raspberry Piで広く利用されているPythonのGPIOライブラリー「RPi.GPIO」互換のものが提供されています。執筆時点のUbilinuxにはあらかじめインストール済みですが、利用する前に念のために次のようにコマンドを実行しカーネルを含め更新、インストールを行なっておくといいいでしょう。


$ sudo apt update
$ sudo apt upgrade
$ sudo apt install python-rpi.gpio

 「UP Board」のRPi.GPIOは、Raspberry Piのそれと基本的な機能は完全に互換性があります。例として定番のLED点滅を紹介しておきましょう。40ピンヘッダーの8番ピンと10番ピン(GPIO14、GPIO15)に120Ω程度の抵抗を介してLEDを接続しておきます。

 LEDを点滅させるサンプルコードがリスト1です。このサンプルはRaspberry Piでも動作します。

リスト1 LEDを点滅させるPythonスクリプト「gpiotest.py」

 GPIO.setmode()の引数もRaspberry Piと同じで、GPIO.BCMとGPIO.BOARDが利用でき、前者はGPIO番号で、後者ならばピン番号でGPIOを扱うことができます。ここでいうGPIO番号はUP BoardネイティブのGPIO番号ではなく、Raspberry PiのGPIO番号を使う仕様です。そのためリスト1のようにRaspberry Piで動作するスクリプトがUP Boardでもそのまま動きます。

 ただ、Raspberry Pi向けのディストリビューションRaspbianでは、GPIOにユーザーもアクセスできるよう権限が設定されていますが、Ubilinuxではrootアカウントでしかアクセスすることができません。スクリプトの実行も次のようにroot権限で行なう必要があります。


$ sudo python gpiotest.py

 このように実行すると、GPIOに接続したふたつのLEDが交互に点灯します(写真1)。

写真1 Raspberry Piとまったく同じスクリプトで2個のLEDが交互に点滅する

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう