今回、IoT女子のさきさんに、CANDY LINE製品を使ったレポートを寄稿していただきました。ぜひご一読ください!

こんにちは!IoT女子のさきです!今日は、CANDY LINEさんの提供するCANDY Pi Lite、CANDY RED、CANDY EGGを使って、SenseHATというLEDボードに好きな文字をクラウド経由でデータを送信し表示させてみたいと思います!

※以下のような前提で記事を書いています。

  • 回線が有効なソラコムSIMを持っている
  • WindowsのPCを使用
  • CANDY EGG」のサービス申し込みが完了している(URLやログインユーザー名などが発行されている)

記事の概要

1. 使用する機器やアプリの説明

1-2.機器について

1-2-1.RaspberryPi

RaspberryPi(通称「ラズパイ」)は、手のひらサイズのパソコンです。普段よく見るノートパソコンのキーボードの下にある基板部分の本体が小さくなったものというイメージで、別途モニターやUSBのマウス・キーボードを接続すれば普通のPCと同じようにネットを見たりオフィスツールを使用したりできます。

特徴としてはGPIOという端子がついていてセンサーなどと接続することが簡単にできることです。また、省電力性に優れているので、あまりスペックを要求されない用途で24時間稼働サーバーとして使用される方もいます。

電子工作に適した省エネ小型PCです!

1-2-2.CANDY Pi Lite

CANDY Pi Liteは、ラズパイとセットで使うことで、ラズパイをネットに接続することができる機器です。低速〜中速通信に適していて、「Raspberry Pi」や「ASUS Tinker Board」向けの3G/LTE通信ボードです!

1-2-3.Sense HAT

なんとこのデバイスは、元々宇宙空間で使用することを想定して作られたそうです!
Raspberry Pi用のアドオンボードで、特にAstro Pi競技用に作られています。温度、湿度、圧力、向きを測定、内蔵のLEDマトリックスを使って情報出力などが出来ます!電源をONにしたらまずLEDが光るのですが、かなり結構明るく、綺麗な光でした。宇宙空間で光らせてみたいですね!!

1-2-4.3つの機器を重ねるように接続

使用する際は、ラズパイ、CANDY Pi Lite、Sense HATを3段に重ねるようにして接続します(あとで、実際の作業手順にて接続します。)。これでひとつのデバイスとして動作します。

この記事では、3つの機器を接続したこの状態を「CANDYデバイス」と呼ぶことにします!

1-3.CANDY REDとCANDY EGG

CANDY REDもCANDY EGGも、どちらもNode-REDベースのアプリケーションです。Node-REDを扱ったことがある方なら、スムーズに使用できるのではないでしょうか。

見た目はCANDY REDが赤、CANDY EGGが青、という違いがありますが、役割面での違いを簡単に説明します!

1-3-1.CANDY RED

CANDY REDは、CANDY Pi Liteとセットで使用するラズパイ用OSに組み込まれているアプリケーションです。インターネット上のどこかのサーバー上にあるのではなく、ローカルのラズパイで動作しています。

センサーやLEDなどを操作できるノードが組み込まれていて、まさにCANDYデバイスを扱うためのアプリケーションとなっています。

主な役割は、CANDYデバイスを扱うための設定です。設定時にCANDYデバイスとPCをLANケーブルで接続してCANDY REDから設定しますが、一度設定してしまえば、あとはPCと接続することなくCANDYデバイス単体で動作します。

1-3-2.CANDY EGG

CANDY EGGは、CANDY LINEさんのサーバー上にあるクラウドアプリケーションです。最大の特徴は「DashBoard」機能で、CANDY REDから受け取った温度情報をグラフ表示したり、DashBoard上で入力したテキストをCANDY REDに送信したりすることができます。

CANDYデバイスを扱うにあたり、直接的な操作は主にCANDY EGGから行ないます。一度CANDY REDで設定したCANDYデバイスは単体動作しますので、その操作をCANDY EGGから行なう、というイメージです。

1-3-3.REDとEGG間の通信

CANDY REDとCANDY EGGは、WebSocketプロトコルで通信を行ないます。特に難しい設定は必要なく、専用のノードにアカウント情報などを入力すると、すぐに使用できます。

CANDYデバイスはセルラー通信でインターネットに接続していて、CANDY EGGからの指示は、セルラー通信を使用してCANDYデバイスまで届きます。この時の通信プロトコルがWebSocket、というわけです。

2.実際に使ってみよう

2-1.デバイスを起動しよう
  1. こちらからOSイメージをダウンロードしましょう。最新の物を選びます。
  2. 「balenaEtcher」というソフトウェアを使用して、SDカードにOSを書き込みます。「ラズパイ Etcher」などと検索するとやり方がたくさん出てきますので、この記事では詳しい手順を割愛します。
  3. ラズパイと「CANDY Pi Lite」を重ねて接続します。そして「CANDY Pi Lite」へ 付属のアンテナを取り付けます。
  1. 「Sense HAT」を「CANDY Pi Lite」の上に取り付けます。4本のスペーサーをつけて接触不良を防ぎます。 この状態が、先述した「CANDY デバイス」の状態です。
  1. 回線を有効にしたSIMを差し込みます。「CANDY Pi Lite」にあるソケッ トへ白い方を上にして、セットします。
  2. ラズパイとPCをLANケーブルで有線接続します。
  1. ラズパイを電源に接続して起動します。ラズパイはMicro USBで電源供給するので、スマホの充電器などで電源供給すると良いです。最大供給電流2Aくらいのものを使用すると、動作も安定して安心です。

これで、デバイスが起動できました!

2-2.CANDY REDの設定

2-2-1.PCからCANDY REDに接続

手順通りなら、既にラズパイとPCはLANケーブルで有線接続されている状態です。PCのWebブラウザ(私はGoogle Chromeを使用しました!)から、ラズパイ内のCANDY REDにアクセスしましょう。

http://raspberrypi.local:8100/red/

ログインを要求されますが、特に設定を変更していない場合、ログイン情報は次の通りです。

  • ユーザー:pi
  • パスワード:raspberry

2-2-2.CANDY REDフローを作成

ではログインもできましたので、フローを作成します。

2-2-2-1.CANDY EGG websocket

左側のノード一覧より、CANDYLINEという項目の中にある「CANDY EGGwebsocket」というノードをフローへもってきます。2つありますが、卵のマークが左側にある方です。

フローに配置した「CANDY EGGwebsocket」をダブルクリックし、設定画面を開きます。

まずアカウントの設定です。「Account」項目右側の鉛筆マークをクリックし、各種情報を入力します。

  • Account FQN:アカウント表示名@scotcheggs.candy-line.io
  • User ID:発行されたログイン用ユーザーID
  • Password:発行されたパスワード

Account FQNは、CANDY EGG申し込み完了メールに記載されている「アクセス先URL」に一度アクセスし、そのURLをコピーして貼り付けると自動変換されます。

入力を終えたら、TLSを使用するチェックを入れて、設定を保存します。「Name」は空欄でも大丈夫です。自分に分かりやすい名前を入力しましょう。

次に、Pathの項目です。「/led」とだけ入力しましょう。このPathは、後でCANDY EGGの設定にも使用します。

その下の項目は「Send/Receive payload」を選択し、「Done」をクリックします。

2-2-2-2.SenseHAT

次に左のノード一覧「RaspberryPi」という項目中の「SenseHAT」というノード(ラズパイマークが右側にある方)をフローにもってきます。

ダブルクリックして設定を開き、わかりやすく「LED」という名前にしておきましょう。 先ほどの「CANDY EGGwebsocket」と、今設定した「SenseHAT」を接続します。小さな四角がそれぞれあるので、四角から四角へ、クリックしながらマウスを移動させ、線を繋ぎます。

この状態で、画面右上の「Deploy」をクリックしましょう。

これでCANDY REDの設定は完了です!

2-3.CANDY EGGの設定

2-3-1.CANDY EGGにログインする

CANDY REDの入力項目のために既に開いた方もいるかもしれませんが、申し込み完了メールに記載されている「アクセス先URL」にアクセスします。

IDとパスワードを入力します。これらの情報もメールに記載されています。

2-3-2.CANDY EGGフローを作成

CANDY EGGも、フローを作成していきましょう。

2-3-2-1.text input

左端ノード一覧内「dashboard」の中にある「text input」をフローに配置します。配置したノードをダブルクリックし、設定を開きます。

「Group」の項目が「Add new ui group…」になっていると思います。右側の鉛筆マークをクリックし、UI Groupを追加します。

まずは「Tab」に新しいUI Tabを追加します。Tab右側の鉛筆マークをクリックします。

設定値はそのままで問題ないです。右上の「Add」ボタンをクリックして、追加します。

UI Tabを追加したら、UI Groupの設定に戻ってきますので、また右上の「Add」をクリックします。

ノードの設定に戻ってきました。「Label」はわかりやすく「LED TEXT」としましょう。「Mode」は「text input」にして、右上「Done」をクリックし、設定を完了します。

2-3-2-2.CANDY RED websocket

次に、左側ノード一覧内「CANDY LINE」から「CANDY RED websocket」(ロゴが右側にある方)をフローに配置します。ダブルクリックして設定を開きます。

「Path」の項目の鉛筆マークをクリックし、Pathを追加します。

こちらは、先ほどCANDY REDの「CANDY EGG websocket」に入力したPathと同じ「/led」を入力します。入力したら、右上「Add」をクリックします。

Nameはわかりやすく「LED」とし、その下の項目は「Send/Receive payload」を選択し、右上「Done」をクリックします。

CANDY REDのフローの時と同じく、先ほど配置した「text input」ノードと今配置した「CANDY RED websocket」を接続し、画面右上「Deploy」をクリックしましょう。

これで、CANDY EGG側の設定も完了です。うまく設定できていれば、ラズパイの電源がONになっている状態だと「CANDY RED websocket」ノード(「LED」という名前に変わっています)の下に「connected 1」という文字と、緑色の四角が表示されているはずです。connectedになるまで少し時間がかかる場合があります。

待ってもconnectedにならない場合、設定ミス、もしくはアンテナのつけ忘れが原因です。設定とアンテナの接続を見直してみましょう。

2-4.クラウド経由で好きな文字を表示!

CANDYデバイスの電源を入れておきましょう。

CANDY EGGの右側にサイドバーが表示されています。もし何も右側になければ、右上のメニューボタンから「View」→「Show sidebar」を選択して表示させて下さい。

サイドバー上部のタブに「info」「debug」「dashboard」とありますので、「dashboard」を選択します。

またタブが上部にあり、タブの右側に四角から矢印が飛び出したようなデザインのボタンがありますので、クリックします。

すると、ブラウザの別タブに新しい画面が表示されます。

「LED TEXT」と表示された項目には、文字が入力できるようになっています。半角アルファベットで、何か好きな文字を入力してみて下さい。

入力した文字が、CANDYデバイスのLEDに表示されました!

LANケーブルでPCとデバイスを接続していなくても、電源さえ入っていれば動作します。

3.まとめ

とても簡単に、コーディングも不要でIoTデバイスを扱うことができました!これならシステムの勉強をしたい方をはじめいろいろな応用が出来そうですね!SenseHATのセンサー機能を利用すると更に用途は増えそうです! みなさんもぜひやってみて下さい!

著者:IoT女子 さき(✉️saki@sakiot.com 🔗https://sakiot.com

福岡出身の歌手・声優・ITエンジニア。
柏の葉IoTハッカソンで技術賞を受賞、技術雑誌の記事執筆、イベントで講師、楽曲配信、ライブ出演など多方面で活動中!