LoginSignup
1
2

More than 1 year has passed since last update.

ラズパイデータをNode-Red使ってIBM Cloud IoTにアップしてみる(初心者向け)

Last updated at Posted at 2022-08-25

 IBM CLoudのIoTサービス(Internet of Things Platform)は無料で使えるIoTのサービスです。なのでラズパイからデータをクラウドに上げてみるのを試してみるのに良いかと思いやってみました。なおラズパイ側のプログラムはNode-Redを使っているのでコーディングができなくても試せます。
手順は

  1. IBM CLoud上にInternet Things of Platformのサービスを作成、デバイスを追加
      (ここで組織ID,デバイスタイプ、デバイスID、認証トークンの値を設定)
  2. ラズパイにNode-redをインストールしてフローを書いてみる。
      (上記の組織ID,デバイスタイプ、デバイスID、認証トークンの情報が必要になります。
  3. フローを実行してIBM Cloudで確認

 上げるデータは今回はラズパイのCPUの温度を送ってみます。
CPUの温度はラズパイ上で以下のコマンドで得ることができます。
% vcgencmd measure_temp

  1. IBM CLoud上にInternet Things of Platformのサービスを作成
    IBM Cloudにログインしたら検索でIoTと入れると"Internet of Things Platform"が出てきます。
    image.png
    無料のライトプランが選ばれているのを確認して作成しましょう。
    image.png
    作成できたら”起動”をクリック
    image.png
    右上のサインインをクリックしてサインインを進める。
    image.png
    続いて右上をクリックして自分のアカウントを選択
    image.png
    接続するライズパイを登録しましょう。まずは”デバイスを追加”をクリック
    image.png
    任意のデバイスタイプ、デバイスIDを入力します。そして次へ
    image.png
    ここは何も入力しないで次へ
    image.png
    認証トークンを入れてください。パスワードみたいなものです、後で使うので忘れないようにしてください。
    image.png
    一旦終了
    image.png
    ラズパイの方で必要となってくる情報は組織ID,デバイスタイプ、デバイスID、認証トークンです。
    デバイスタイプ、デバイスID

  2. ラズパイにNode-redをインストールしてフローを書いてみる。
     まずはラズパイにNode-Redをインストールして立ち上げてください。
    インストールはこれを参照するといいと思います。
    (ただ私のケースでは最初に入っていたNodejsのバージョンが12でこれだとできなくて最初にNodejsを最新版にしました)
    https://nodered.jp/docs/getting-started/raspberrypi
    次にWatson IoT PlatformのノードをNode-Redに追加しましょう。パレットの管理を右上のメニューで選んで、
    image.png
    検索で Watson-iot と入れると出てくるので”ノードを追加”をクリック
    下のようなノードが追加されるでしょう
    image.png
    次にこのブログの一番下にあるjsonを読み込んでください。
    読み込み方は右のメニューで”読み込み”を選択
    image.png
    JSONの中身を貼り付けて”読み込み”
    image.png
    このようなフローができます。
    image.png
    トリガーになる タイムスタンプ、CPUの温度を測る”vcgencmd measure_temp”ノード、IBM Watson IoTに値を送る”Event"ノードそしてデバック情報を表示するデバックノード(msg.payload)です。
    Eventノードに手順1で入れた情報を入力します。
    Credentialの右側のペンのアイコンをクリック
    image.png
    組織ID(Organization), デバイスタイプ、デバイスID、認証トークンを入力します。
    image.png

  3. フローを実行してIBM Cloudで確認
    入力後デプロイしてタイムスタンプの左側をクリックしてください。
    image.png

右側のデバッグノードに温度が出てきます。
image.png
同じようにIBM CLoudの方にもデータが入ってます。
image.png

Node-redフロー

[{"id":"36224d1903273e67","type":"tab","label":"フロー 1","disabled":false,"info":"","env":[]},{"id":"70078d30b8fbc447","type":"exec","z":"36224d1903273e67","command":"vcgencmd measure_temp","addpay":"","append":"","useSpawn":"false","timer":"","winHide":false,"oldrc":false,"name":"","x":170,"y":280,"wires":[["e2fa6cc95e70d348","81bff437469350e1"],[],[]]},{"id":"52c1f243a70921e2","type":"inject","z":"36224d1903273e67","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":120,"wires":[["70078d30b8fbc447"]]},{"id":"e2fa6cc95e70d348","type":"debug","z":"36224d1903273e67","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":390,"y":360,"wires":[]},{"id":"81bff437469350e1","type":"wiotp out","z":"36224d1903273e67","authType":"d","qs":"false","qsDeviceId":"","deviceKey":"3527d6833daa93e1","deviceType":"","deviceId":"","event":"event","format":"json","qos":"","name":"","x":410,"y":140,"wires":[]},{"id":"3527d6833daa93e1","type":"wiotp-credentials","name":"","org":"","serverName":"","devType":"","devId":"","keepalive":"60","cleansession":true,"tls":"","usetls":false,"credentials":{"authToken":""}}]

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2