ラズベリーパイで始めるIoTとプログラミング入門

ラズベリーパイ(Raspberry Pi)は、手のひらサイズの小型コンピュータで、教育、IoT開発、プロトタイプ作成など、多様な用途で人気を集めています。
本記事では、ラズベリーパイの基本的な特徴、セットアップ方法、そして初心者が取り組みやすいプロジェクト例を紹介します。
プログラミングやハードウェアに興味がある方、必見の内容です!

1. ラズベリーパイとは?

特徴と魅力

1. 価格が手頃

ラズベリーパイは、性能に応じたさまざまなモデルが展開されており、例えば以下のようなラインナップがあります:

  • Raspberry Pi Zero(約1,000~2,000円): 超小型・低価格で、軽量プロジェクト向け。
  • Raspberry Pi 4 Model B(約4,000~10,000円): 現行の主力モデルで、高性能かつ汎用性が高い。
  • Raspberry Pi 400(約10,000円前後): キーボード一体型で、セットアップが簡単。

特に、コストパフォーマンスの高さが魅力で、教育機関や趣味のプロジェクトに最適です。

2. サイズが小型

  • ラズベリーパイの大きさはおよそ クレジットカードサイズ(約85mm × 56mm)で、場所を取りません。
  • 小型ながらもフル機能のLinuxコンピュータとして動作可能で、机の上や狭い場所でも簡単に設置できます。
  • 小型化により、ロボットやドローン、ポータブル機器などの組み込みプロジェクトにも使用されています。

3. 拡張性が高い

  • GPIOピン(General Purpose Input/Output)
    基板上には40ピンのGPIOピンが搭載されており、センサーやLED、モーターなど多種多様なデバイスを直接接続可能。
    これにより、自分だけのカスタムデバイスやIoTプロジェクトを簡単に構築できます。
  • USBポートやHDMI端子
    USBポートにより外部デバイス(キーボード、マウス、外付けHDDなど)を接続でき、HDMI端子ではモニターやテレビに簡単に接続可能。
  • 無線通信機能
    Wi-FiやBluetooth機能を備えたモデルが多く、無線通信を活用したスマートデバイスの構築が容易です。

4. 教育目的にも最適

  • プログラミング学習のためのプラットフォーム
    Pythonをはじめとする多くのプログラミング言語に対応しており、手軽に学習を始められます。
    公式サイトでは、初心者向けチュートリアルやサンプルプロジェクトが豊富に用意されています。
  • 物理的な学習環境の提供
    ソフトウェアだけでなく、ハードウェアとの連携を学べる点も大きな魅力です。
    例えば、センサーやモーターを使って実際の動きをプログラムで制御するプロジェクトを通じ、エンジニアリング全般の知識を養うことができます。
  • 教育用プラットフォームとしての地位
    世界中の学校や教育機関で採用されており、ラズベリーパイを使ったSTEM(科学、技術、工学、数学)教育が広がっています。

2. ラズベリーパイの基本セットアップ

必要なもの

  1. ラズベリーパイ本体

    • 最新モデルの Raspberry Pi 4 Model B は、最大8GBのRAMを搭載可能で、デスクトップPC並みの性能を発揮します。

    • 一体型の Raspberry Pi 400 は、キーボード内蔵型で初心者に適しており、追加のキーボードが不要です。
  2. microSDカード(16GB以上推奨)

    • ラズベリーパイの「ストレージ」として機能します。

    • 高速な「Class 10」または「A1」規格のカードを選ぶと、動作がよりスムーズになります。

    • 容量が大きいほど複数のプロジェクトやデータを扱いやすくなります。
  3. 電源アダプター

    USB-C電源アダプター(5V/3A)を使用します。
    電力不足による不安定動作を防ぐため、公式推奨のアダプターが最適です。

    • 一部のモデル(Raspberry Pi Zeroなど)はマイクロUSB電源を使用します。
  4. モニター、HDMIケーブル

    • ラズベリーパイのビジュアル出力に必要です。
    HDMI入力対応のモニターやテレビを用意してください。

    • Raspberry Pi 4の場合は、マイクロHDMIポートが2つあり、デュアルモニタ出力も可能です。
  5. キーボード、マウス

    • USB接続またはBluetooth対応のものを使用します。

    • Raspberry Pi 400の場合、キーボードは不要ですが、マウスは別途必要です。

セットアップ手順

1. OSの準備

ラズベリーパイを動かすには、専用のOS(オペレーティングシステム)をインストールします。以下は手順です:

  1. Raspberry Pi Imagerのダウンロード
    公式サイト(https://www.raspberrypi.com/)から Raspberry Pi Imager をダウンロードし、インストールします。
  2. OSをmicroSDカードに書き込む
    Imagerを起動し、以下を設定します:

     • OSの選択: 通常は「Raspberry Pi OS (32-bit)」が推奨されます。

     • 書き込み先の選択: microSDカードを選択します。

     • 「書き込み」をクリックしてOSをカードにインストールします。
  3. microSDカードをラズベリーパイに挿入
    書き込みが完了したmicroSDカードを、ラズベリーパイ本体のカードスロットに挿します。

2. ハードウェアの接続

  1. 電源とディスプレイの接続

    • ラズベリーパイ本体に電源ケーブルを接続します。

    • HDMIケーブルでラズベリーパイとモニターを接続します。
  2. キーボードとマウスの接続
    • USBポートにキーボードとマウスを接続します。
    Bluetoothの場合は後で設定します。
  3. インターネット接続(オプション)
    • Ethernetケーブルでネットワークに接続するか、後でWi-Fiを設定します。

3. 初回起動と設定

  1. 電源オン
    ラズベリーパイを電源オンすると、OSが起動します。
  2. 初回セットアップウィザード
    初回起動時に以下の設定を行います:
     
     • 言語とタイムゾーン: 日本語とJST(日本標準時)を選択します。

     • Wi-Fi接続: SSIDとパスワードを入力してWi-Fiに接続します。

     • OSの更新: インターネットに接続して、最新のアップデートを適用します。
  3. リブート(再起動)
    設定が完了すると、ラズベリーパイが再起動します。

初期セットアップ後の確認事項

基本動作の確認

起動後、デスクトップ画面が表示されることを確認します。

追加ソフトウェアのインストール

ターミナルを開いて以下を実行し、必要なソフトウェアをインストールします:

sudo apt update && sudo apt upgrade -y

バックアップの作成(推奨)

microSDカード全体をバックアップしておくと、トラブル時の復旧が簡単です。

3. 初心者向けプロジェクト例

(1) メディアサーバーの構築

必要なもの

  • ラズベリーパイ(Raspberry Pi 4 Model B推奨)
  • 外付けHDDまたはSSD(動画や音楽ファイルを保存するため)
  • HDMI対応モニターまたはテレビ

内容と手順

1. メディアサーバーソフトの選択
  • Kodi:
    高機能なメディアセンターソフト。
    直感的なUIと多彩なアドオンが特徴。
  • Plex:
    家庭内外からアクセス可能なメディアサーバー。
    スマホやタブレットでも利用可能。
2. OSとソフトのインストール

• ラズベリーパイOSをインストールし、ターミナルで以下のコマンドを実行してKodiまたはPlexをセットアップします:

sudo apt update
sudo apt install kodi

Plexの場合は公式サイトから専用パッケージをダウンロードします。

3. 外付けストレージの接続

外付けHDDやSSDを接続し、メディアファイルをコピーします。

4. ストリーミング設定

ローカルネットワーク内でメディアを再生するための設定を行います。
必要に応じてスマホやテレビと同期させます。

ポイント

  • データ量が多い場合は、高速な外付けストレージを使用するとスムーズに再生できます。
  • ラズベリーパイを有線接続(Ethernet)することで、ストリーミング品質が向上します。

(2) 天気予報ディスプレイ

必要なもの

  • 小型LCDディスプレイ(例:Adafruit 16x2 LCD)
  • インターネット接続(Wi-Fiまたは有線LAN)
  • Pythonがインストールされたラズベリーパイ

内容と手順

1. 天気情報APIの利用

• OpenWeatherMapやWeatherAPIなどの天気情報APIに登録して、APIキーを取得します。

2. ハードウェアの接続

• 小型LCDディスプレイをGPIOピンに接続します。ライブラリとして Adafruit_Python_CharLCD を使用できます。

3. Pythonスクリプトの作成

以下のようなスクリプトを作成して天気情報を取得します:

import requests
from Adafruit_CharLCD import Adafruit_CharLCD

# APIキーと都市名
API_KEY = 'your_api_key'
CITY = 'Tokyo'
URL = f'http://api.openweathermap.org/data/2.5/weather?q={CITY}&appid={API_KEY}&units=metric'

# 天気情報の取得
response = requests.get(URL)
data = response.json()
temp = data['main']['temp']
weather = data['weather'][0]['description']

# LCDに表示
lcd = Adafruit_CharLCD()
lcd.message(f'Temp: {temp}C\n{weather}')

4. 実行と自動化

作成したスクリプトを実行し、天気情報をリアルタイムでディスプレイに表示します。

タスクスケジューラ(cron)を使えば、定期的に更新する仕組みも実現可能です。

ポイント

  • APIの利用に際しては、無料プランでのリクエスト回数に注意しましょう。
  • ディスプレイの代わりにブラウザ表示することで、プロジェクトを簡略化することも可能です。

(3) IoTデバイスの制御

必要なもの

  • 温度・湿度センサー(例:DHT11やDHT22)
  • LED(発光ダイオード)
  • 抵抗器(LED用、330Ω推奨)
  • ブレッドボード、ジャンパーワイヤー

内容と手順

1. センサーとLEDの接続
  • DHTセンサーをラズベリーパイのGPIOピンに接続します(データピンをGPIO 4などに接続)。
  • LEDをブレッドボードに設置し、ラズベリーパイのGPIOピンに接続します。
2. Pythonスクリプトの作成

以下のスクリプトで温度を計測し、一定温度を超えた場合にLEDを点灯させます:

import Adafruit_DHT
import RPi.GPIO as GPIO
import time

# GPIO設定
LED_PIN = 18
GPIO.setmode(GPIO.BCM)
GPIO.setup(LED_PIN, GPIO.OUT)

# センサー設定
SENSOR = Adafruit_DHT.DHT11
SENSOR_PIN = 4

while True:
    humidity, temperature = Adafruit_DHT.read_retry(SENSOR, SENSOR_PIN)
    if temperature:
        print(f"Temp: {temperature}C, Humidity: {humidity}%")
        if temperature > 25:  # 25℃を超えたらLED点灯
            GPIO.output(LED_PIN, GPIO.HIGH)
        else:
            GPIO.output(LED_PIN, GPIO.LOW)
    time.sleep(2)

3. 実行と調整

スクリプトを実行して動作を確認します。閾値(25℃など)は自由に調整可能です。

ポイント

  • センサーのデータはCSV形式で保存し、データログを可視化することで応用範囲を広げられます。
  • スマートフォンやクラウド連携により、外出先からの監視や制御も可能です。

まとめ

ラズベリーパイは、初心者から上級者まで楽しめる多機能なデバイスです。
特に教育やプロトタイプ作成に役立つツールとして、多くの可能性を秘めています。
この記事を参考に、ぜひあなたもラズベリーパイを使ったプロジェクトに挑戦してみてください!

SHARE
採用バナー