検索
連載

IoTの実装手法は1つじゃない!――磁気スイッチを使ってポストの開閉をメールで通知身近な課題から学ぶ「IoT手法」(3/5 ページ)

「IoT」(Internet of Things)におけるデータ取得は、さまざまなハードウェアやセンサーを組み合わせることで実現できます。また、取得したデータを使い、価値に結び付けるための実装手法も1つではありません。本連載では、いろいろな手法を使って身近な課題を解決していきます。1回目は、「磁気スイッチを使ったポストの開閉検知」です。

Share
Tweet
LINE
Hatena

プログラム

 PCのUSBポートにNefry BTを接続します。Nefry BTやその他のArduino互換ボードは、電源の供給によってON/OFFを制御します。

 Arduino IDEを開き、表示されたエディタに下記のプログラムを貼り付けます。

#include <Nefry.h>
#include <NefryIFTTT.h>
String Event, SecretKey;
#define PIN_MAGNET D2
int temp;
int state;
void setup() {
  Serial.begin(9600);
  pinMode(PIN_MAGNET, INPUT);
  Nefry.setStoreTitle("SecretKey",0);
  Nefry.setStoreTitle("Event",1);
  SecretKey = Nefry.getStoreStr(0);
  Event = Nefry.getStoreStr(1);
  temp = digitalRead(PIN_MAGNET);
}
void loop() {
  state = digitalRead(PIN_MAGNET);
  if (state == HIGH) {
    if(state != temp){
      Nefry.setLed(255, 255, 255); //LED:青色
      Serial.println("close");
      temp = state;
    }
  } else if (state == LOW) {
    if(state != temp){
      bool sendData = IFTTT.send(Event, SecretKey, "NefryBT", (String)state);
      if (!sendData) {
        Nefry.setLed(255, 0, 0);
      }
      Nefry.setLed(0, 0, 255); //LED:青色
      Serial.println("open");
      temp = state;
    }
  }
}
nefry_magnet.ino

 任意の場所にファイルを保存します。日本語フォルダの配下だと正常に動かないことがあるので、不安な場合は最初に表示されている場所に保存してください。

 続いてUSBからシリアル通信でプログラムを流し込むために、ボードの種別とポートの場所を選択します。まずはNefry BTのリビジョン(バージョン)を確認します。

 ボードの背面の「Nefry BT」ロゴの右側を確認してください。

 ツールバーの[ツール]→[ボード]を開き、ロゴが無印の場合[Nefry BT]を、R2の表示がある場合[Nefry BT R2/R3]を選択します。

 再度ツールバーから、[ツール]→[シリアルポート]でWindowsの場合は「COMX」、Macの場合は「/dev/cu.usbserial-XXXXX」を選択します(刺しているUSBポートの場所によって変わります)。

 ボードをPCに刺し直した際は、毎回シリアルポートが正しく選択されているか確認してください。

 [→]ボタンをクリックしてプログラムを書き込みます。30秒ほど待って「ボードへの書き込みが完了しました。」と表示されると、Nefry BTのLEDが緑に点滅して、再起動します。点滅が終了するとプログラムが動き出します。

 磁気スイッチを近づいている間はLEDが白く光り、離すと青く光る仕組みができました。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る