ArudinoやRaspberryPiが普及したおかげで、「モノのインターネット」を誰でも簡単に作れるようになりました。ArduinoやRpiを使えば、誰でも簡単にセンサーデータを取得するデバイスを作り、それをネットに繋ぐことができます。でも待ってください、そのデータ、いったい管理はどうするんですか?その答えがIoTプラットフォームなのです。今では、ネット上にはそうしたフリーで利用できるIoTサービスが、まるでタケノコのように生えてきています。今回はその中から「ThingSpeak」を紹介したいと思います。
ThingSpeakを使えばこんな感じで、あなたの部屋の温度を、インターネットを介していつでもどこでも見られるようになります。今回はRaspberry Piとpythonを使って、簡単な室温度モニターシステムを構築しながら、Thingspeakの魅力をお伝えしていきたいと思います。
必要なもの
- Raspberry Pi
- 室温度センサ DHT11 or DHT22
ThingSpeakの設定
ThingSpeakは最近増えてきている、IoT向けのWebサービスの一つです。IoT、つまりインターネットに接続されたセンサーや製品から出力される各種データの収集と可視化をWeb上で簡単に行えるサービスです。ThingSpeakはシンプルなので、さくっと導入できるのが魅力です。
アカウントの登録
まずThingSpeakにアカウントを登録するところから始めましょう。
https://thingspeak.com/ にアクセスして、トップぺージから「SignUp」をクリックし、アカウントを登録します
必要事項を入力しましょう。TimeZoneはお住いの地域に応じて選択してください。日本でしたら、TokyoかOsakaから選びます。入力が終わったら「Create Account」をクリックしてアカウントを作成します。
チャンネルの作成
ThingSpeakでは、データはチャンネルという単位で管理します。たとえば、今回のような室温度モニターのようなプロジェクトであれば、センサデバイスを配置する大まかなロケーションごとにチャンネルを分けるとよいでしょう。たとえば、「家」、「会社」など単位でチャンネルを作ります。
一つのチャンネルには最大8つまでのデータ(Field)を登録することができます。今の例ですと「会社」チャンネルには、「居室1」、「居室2」、「会議室」といった詳細なロケーションに分けてFieldを登録することができます。
また後ほど説明しますが、ThingSpeakではチャンネルごとに、そのチャンネルへのアクセスするための鍵(API-key)が作成されます。したがって、チャンネルの設計は、アクセス権に応じて決めてもよいでしょう。たとえば「家」チャンネルの鍵はプライベート情報なので秘密にしますが、「会社」チャンネルの鍵はオープンにして、従業員へ配布すれば、職場の同僚がThingSpeakを通じて職場内のデータに自由にアクセスすることができるようになります。
では、チャンネルを作成しましょう。チャンネルの作成は以下の画面のように「Channels」→「New Channe」lボタンを押して作成します
チャンネルの設定
チャンネルの設定は「Channel Settings」タブで行います。ざっとみると沢山の項目がありますがここでは基本的なものについて説明します。正直私も全部理解しているわけではないので、興味のある項目についてはみなさんで調べてみてください。
- Name: チャンネルの名前です。これはたとえば「●●工場」などとします。日本語もOK。
- Make Public?: チャンネルを公開するかどうかを決めます。チェックを入れるとPublicViewが作成されます。
- Field 1~8: チャンネルに登録するデータです。8つのデータを登録することができ、それぞれに名前を付けることができます。たとえば「湿度」、「温度」です。fieldを新たに登録するにはadd fieldにチェックを入れます。
チャートの設定
channelに登録したデータのチャートはViewで表示することができます。Viewには公開用のViewである「Public View」と、プライベート用のViewである「Private View」が容易されています。「Private View」はSignInしないと表示されませんが、「Public View」はSignInしなくても閲覧することができます。Public Viewを作るには、Channel SettingsでMake Publicを有効にする必要があります。
チャートの設定ダイアログは編集アイコン(チャート右上の鉛筆)を押して起動します。線の種類は線分(line)、曲線(spline)、横棒(bar)、縦棒(column)の4種が容易されています。また平均、中央値、合計値などの簡単な統計操作が用意されているので便利です。
次回
Part1ではThingSpeakのアカウント作成について解説しました。Part2ではRaspberryPiを使って、センサーデータをThingSpeakに送信する方法について解説します。お楽しみに!