製品IoT化パック

Webレシピ

Raspberry Pi とノーコードツール「Node-RED」を利用した
IoTデバイスのセットアップ

本Webレシピでは、IoTデバイスやデータの可視化プラットフォームである Things Cloudでデータを送信するためのデバイスの準備についてご紹介します。

難易度:★☆☆☆☆

レシピ公開日:2024年10月

Raspberry Pi とノーコードツール「Node-RED」を利用したIoTデバイスのセットアップ

1.概要

1-1.本レシピで実現できること

本レシピでは、シングルボードコンピュータであるRaspberry PiをIoTデバイスとして利用するためのセットアップ方法を解説します。
まず最初にRaspberry Pi本体をセットアップした後、Things Cloudに任意のデータを送信できるようにするため、ノーコードツールであるNode-REDをインストールしします。
さらに、Things Cloudにアクセスするデバイスの認証情報を作成することで、Things Cloudにデータを送信するデバイスの準備を一通り完了することができます。

1-2.所要時間

約50分

1-3.所要費用

約12,500円(デバイス購⼊の初期費⽤)

1-4.使用するサービス

1-5.準備する物

ハードウェア

品名 数量 価格 備考
Raspberry Pi (3以降のModel B) 1 約 10,000円 今回はRaspberry Pi 4 Model Bを使⽤
microSDカード 1 約 1,000円 16GB以上のものを推奨
microSDカードリーダー 1 約 500円
Raspberry Pi ⽤電源アダプター 1 約 1,000円 5V 2A以上のものを推奨
PC 1 Windows PC もしくは Macを推奨

⾦額はレシピ作成の参考価格となります。

準備物

1-6.利⽤するデバイス/ソフトウェアについて

ハードウェア

Raspberry Pi

Raspberry Pi とは、シングルボードコンピューターと呼ばれる⼩さなハードウェアです。元々は教育⽤途で開発されたものでしたが、IoTの概念の普及に⽐例してより注⽬されるようになり、今では多くのエンジニアに愛⽤され、さまざまな⽤途に利⽤されています。
Raspberry Pi はSDカードからOSを起動して、PCと同じように使⽤することができます。さらに、さまざまなプログラミング⾔語をサポートしており、⾃由にプログラムを動かすことができるだけでなく、センサーなどを多数取り付けることで、そのデータを利⽤するなどの使い⽅もされています。
今回は、これをIoTデバイスに⾒⽴て、アラームを送信するデバイスとして利⽤します。

ソフトウェア

Node-RED

Node-REDとは、ノーコードプログラミング開発ツールの1つです。つまり、0からプログラムを⾏う必要はなく、ハードウェアやAPIなどについて、処理ブロックをつなげるような形で簡単な構築を⾏うことができ、その使いやすさからIoT分野で活⽤されるケースも多いです。Node-REDは、プログラミングが必要ないので、プログラミングの知識があまりない⽅でも簡単に利⽤することができます。

2.作業の流れ

2-1.Raspberry Pi のセットアップ

さっそく、IoTデバイスとして使用するRaspberry Piのセットアップ方法を解説します。

1) Raspberry Pi Imager のインストール

2) SD カードの準備

3) Raspberry Pi の起動と初期設定

すでにセットアップ済みのRaspberry Piがある場合、そちらを利用することも可能です。その場合は、Node-REDのインストールとデバイス認証情報の作成のみを行ってください。

Raspberry Pi Imager のインストール

Raspberry Piを動作させるためには、OSを書き込んだSDカードを準備する必要があります。SDカードの作成には、Raspberry Pi Imagerを利用するのが一番簡単です。
Raspberry Pi Imagerのダウンロードページを開き、自身のOSに合わせたファイルをダウンロードしインストールします。

Raspberry Pi Imager

SDカードにOSをインストール

1) 汎⽤のSDカードリーダーなどを利⽤して、SDカードをPCに接続します。

2) Raspberry Pi Imagerを起動します。

3) [Rspberry Piデバイス]から、自身が使用しているRaspberry Piのモデルを選択します。

Rspberry Pi デバイス選択

4) [ストレージ]から、OSをインストールするSDカードを選択します。

ストレージ選択

5) [OS]から[Raspberry Pi OS (64-bit)]を選択します。

OS選択

6) [次へ]を選択する

次へ

7) 以下の画面が出てきたら、[設定を編集する]を選択します。

設定編集確認

8) [一般]タブでは、以下の設定を入力します。

  • ホスト名:任意のホスト名を入力
  • ユーザー名/パスワード:Raspberry Piにログインするためのユーザー名/パスワードを入力
  • Wi-Fi:Wi-FiアクセスポイントのSSIDとパスワードを入力
  • ロケール:タイムゾーン(Asia/Tokyo)とキーボード(jp)を設定
一般設定

9) [サービス]タブで以下の設定を⼊⼒したら、保存を選択します。

  • [SSHを有効にする]にチェックを付けます
  • [パスワード認証を有効にする]を選択します
サービス設定

10) 全ての設定が完了したら、[はい]を選択します。

  • [SSHを有効にする]にチェックを付けます
  • [パスワード認証を有効にする]を選択します
設定完了

Mac OSを利用している場合に画像のような警告が出てきたら、端末のパスワードを入力してください。
※SDカード内の全データが削除されます。操作対象が間違っていないことをよく確認してください。

SDカード警告

11) この画⾯が表⽰されたら、OSのインストールが完了です。

インストール完了

Raspberry Pi の起動と初期設定

Raspberry Pi の起動

OSの書き込みが完了したら、micro SDカードをRaspberry Pi 本体に挿⼊します。

microSDカード挿入

SSH接続の設定

Raspberry Pi の起動

Raspberry Piの設定を行うために、SSH接続を行います。

  • Windows の場合
    スタートメニューから「コマンドプロンプト」を起動します。

  • macOS の場合
    [Finder]>[アプリケーション]>[ユーティリティ]>[ターミナル]を起動します。

コマンドプロンプトもしくはターミナルで、以下のように入力して実行します。

  • user は、Raspberry Pi Imagerで設定したユーザー名を入力します。
  • things-raspiは、Raspberry Pi Imagerで設定したホスト名です。
ssh user@things-raspi.local
  • Are you sure you want to continue connecting (yes/no)?との問いには yes と入力します。
  • 初期パスワードはRaspberry Pi Imagerを使って設定したものを用います。
  • SSHでログインするには、Raspberry PiとPCが同じネットワーク(Wi-Fi)に接続されている必要があります。

以下のようになればログイン成功です。

SSH接続成功

OS の最新化

Raspberry Pi へ SSH でログインしたあと、念のためRaspberry Pi のOSアップデートを実⾏します。
以下のコマンドを1⾏ずつ実⾏してください。(最後にRaspberry Pi が再起動されます。)


sudo apt update && sudo apt upgrade -y
sudo reboot

2-2.Node-REDの導⼊

Node-REDのインストール

Raspberry Pi にNode-REDをインストールします。前の⼿順を参考に、Raspberry Pi にSSHで接続し、以下のコマンドを実⾏します。
※Node-RED公式のインストールスクリプトを利⽤しています。

bash < ( curl -sLhttps://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered )
  • 途中で Are you really sure you want to do this ? [y/N] ? と表⽰されたら、「Y」を⼊⼒してEnter(Retrun)キーを押します。
  • 途中でWould you like to install the Pi-specific nodes ? [y/N] ? と表⽰されたら、「Y」を⼊⼒してEnter(Retrun)キーを押します。
  • Node-RED Settings File initialisation と表⽰されたら、以下の画像を参考に設定値を⼊⼒してください。(user/password以外は、基本的に全てデフォルト値を⽤います。デフォルト値の場合は、Enter(Retrun)キーをそのまま押します。)
Node-RED設定

しばらく待ち、 .Settings file written to /home/user/.node-red/settings.js. と表⽰されたらインストールは完了です。

Node-REDの⾃動起動設定

Raspberry Pi 起動時に、Node-REDを⾃動起動するための設定を⾏います。以下のコマンドを実⾏してください。

sudo systemctl enable nodered.service

設定が完了したら、以下のコマンドを実⾏してRaspberry Piを再起動します。

sudo reboot

Node-REDの起動確認

Raspberry Pi が起動したら、⾃⾝のPCのブラウザから以下のURLにアクセスしてNode-REDのフローエディタを開きます。

http://things-raspi.local:1880
  • Raspberry Pi とPCが同じネットワークに接続されていることを確認してください。
  • things-raspi の部分は、Raspberry Pi Imagerで設定したホスト名に置き換えてください。

以下のログイン画⾯が表⽰されたら、インストール時に指定したユーザー名とパスワードを⼊⼒してログインします。

Node-REDログイン

以下のフロー画面が表示されたら成功です。これでNode-REDを利用する準備は完了です。

Node-RED起動

2-3.デバイス⽤の認証情報を作成

デバイスからThings Cloudにデータを送信するためには、デバイス⽤の認証情報を作成する必要があります。以下の⼿順でデバイス認証情報(デバイスユーザー)を作成します。

今回ご紹介するのは、手動でデバイス認証情報(デバイスユーザー)を作成する方法です。Things Cloudには、デバイスからリクエストを送信し、自動でデバイス認証情報を作成するAPIも用意されています。詳しくは こちらをご参照ください。
※ デバイスから自動的に認証情報を作成する場合は、対応したデバイスエージェントの利用もしくは開発が必要です。

1) ご⾃⾝のThings Cloudのテナントにアクセスし、ユーザー名とパスワードを⼊⼒してログインを⾏います。

ログイン画面

2) ログインに成功したら、以下のような画面が表示されます。右上のアプリケーションスイッチャー をクリックし、「管理」アプリを開きます。

管理アプリに移動

3) 画面左側のメニューから「ユーザー」を選択し、ユーザー一覧画面に遷移します。遷移後、画面右上の「ユーザーを追加」をクリックします。

ユーザー一覧

4) ユーザー作成画面が表示されます。以下の情報を入力し、「保存」をクリックします。

ユーザー作成
項目 説明 備考
ユーザー名 "device_"から始まる任意のユーザー名を入力 必ず頭に"device_"をつけてください
パスワード 任意のパスワードを入力 「パスワード リセットのリンクを Eメールで送信」のチェックを外して入力を行います
Eメール 任意のメールアドレスを入力してください 他のユーザーと同じメールアドレスを設定することはできません。ダミーのメールアドレスの利用も可能です。
グローバルロール 「devices」のみを選択 デバイスには必要な権限のみを付与してください

5) 作成が完了すると先ほどのユーザ一覧画面に戻りますが、今作成したデバイスユーザーはここには表示されません。そのまま右上のアプリケーションスイッチャー をクリックし、「デバイス管理」アプリを開きます。

デバイス管理アプリに移動

6) デバイス管理アプリに遷移したら、画面左側のメニューから「管理」ー> 「デバイス資格情報」を選択し、デバイス資格情報の一覧画面に遷移します。一覧画面には、先ほど作成したデバイスユーザーが表示されています。

デバイス資格情報一覧

正しいユーザー名およびグローバルロールが設定されていることを確認してください。

以上でデバイスが利用する認証情報の準備は完了です。

以後、IoTデバイスからデータを送信する際には、今設定を行った認証情報を利用することで、Things Cloudにアクセスが可能となり、データを送信することができます。

作成した認証情報の使い方は、データの送信を解説している他レシピを参照してください。

3.最後に

これで、Raspberry Pi をIoTデバイスとして利⽤するためのセットアップが完了しました。
また、今回セットアップ時に導⼊したNode-REDを利⽤することで、プログラミングの知識がない⽅でも簡単にThings Cloudにデータを送ることが可能となり、データ送信に必要な認証情報のセットアップも完了です。
さっそく、セットアップしたIoTデバイスからThings Cloudにデータを送信してみましょう。データの送信⽅法については、以下の記事で詳しく紹介しています。

こちらのWebレシピの
PDF版ダウンロードはこちら

ダウンロードする
(PDF形式/5.7MB)

製品IoT化パックの
ウェビナー視聴&資料ダウンロードはこちら

  • お問い合わせ

    製品IoT化パッケージに関するお問い合わせはこちら

関連コンテンツ

  • Things Cloud®

    Things Cloud®

    NTT ComのIoTプラットフォーム「Things Cloud®」は、 センサーデバイス、ネットワーク、クラウド、アプリケーションといった多岐に渡る分野をIoT Platformとしてトータルで提供します。

  • IoT Connect Gateway

    IoT Connect Gateway

    クラウド側のインターフェース仕様に合わせて簡単・セキュアに接続いただけるゲートウェイサービスです。セキュアなIoT通信をスモールスタートから実現できます。

  • IoT Connect Mobile® Type S

    IoT Connect Mobile® Type S

    1枚のSIMで世界196の国と地域で利用可能。日本でもグローバルでも最適なデータ通信料金を実現。フルMVNOならではの柔軟性・拡張性。

  • ドコモビジネスのIoT総合サイト

    ドコモビジネスのIoT総合サイト

    ドコモビジネスのIoTサービス&ソリューションや導入事例をご紹介しています。IoTにドコモビジネスのアセットを組み合わせて、お客さまのビジネスに無限大の可能性を提供します。

このページのトップへ