IoTの実装手法は1つじゃない!――磁気スイッチを使ってポストの開閉をメールで通知:身近な課題から学ぶ「IoT手法」(3/5 ページ)
「IoT」(Internet of Things)におけるデータ取得は、さまざまなハードウェアやセンサーを組み合わせることで実現できます。また、取得したデータを使い、価値に結び付けるための実装手法も1つではありません。本連載では、いろいろな手法を使って身近な課題を解決していきます。1回目は、「磁気スイッチを使ったポストの開閉検知」です。
プログラム
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; } } }
任意の場所にファイルを保存します。日本語フォルダの配下だと正常に動かないことがあるので、不安な場合は最初に表示されている場所に保存してください。
続いて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.
関連記事
- 発情期や疾病リスクを検知、「牛のウェアラブル」開発に立ちふさがった壁とは
IoTがさまざまな業界で活用されている。酪農や畜産業も、例外ではない。本稿では、IoTで牛の健康管理を実現したファームノートに、サービス開発秘話を聞いた。 - 猛暑の中、30秒に1件の注文をどうさばく?――“海の家”が最適なIT活用の実証実験場である理由
海に行くと、さまざまなIT企業の“のぼり”が増えている。なぜなのか。2013年から海の家を運営しているセカンドファクトリーに、その理由を聞いた。 - GPS内蔵のIoTシューズで高齢者を見守り――フジクラなど4社が開発
フジクラなど4社は、位置情報取得機能を備えた靴から利用者の位置を検索する見守りシステムを開発した。GPSモジュールを内蔵しながら、履き心地にも配慮した。