どうも、CHASUKEです。
LTE-M通信が使えるIoTボタン「SORACOM LTE-M Button(ソラコムボタン)」を手に入れました。このボタンの凄いところは、eSIM内臓で単体で通信出来るところ。
つまり、どこにいても、ボタンをポチーっと押すと、ネットから様々なアクションを起こすことができる。
CHASUKE
アクセスポイントが不要なのが良い!
押すだけで簡単なIoTボタンの使い道を考えると、「通知」が最初に思い浮かんだ。
- スマホを持ってない子供からのお迎え連絡
- 爺さん婆さんからのSOS
- イベント会場やお店、オフィスでの呼出
などなど、このソラコムボタンがあれば簡単に仕組みが作れます。
今回は、このソラコムボタンで仕事帰りにポチッとして嫁に「今から帰るよーボタン」を作ってみました。作り方と合わせて、特徴や仕組みを紹介します。
CHASUKE
ご飯の支度とかで何時に帰るか知りたがるのでね
それでは行ってみましょう!
「SORACOM LTE-M Button」でできること
SORACOMボタンは「AWS IoT 1-Click」に対応したボタンデバイスです。
ソラコムボタンを押すことで、AWS(アマゾンウェブサービス)の「Lambda(ラムダ)」に置いたスクリプトを実行できます。
ボタン1つで、以下の通り、3パターンのアクションを実現できます♪
- シングルクリック(1.2秒未満)
- ダブルクリック(2秒以内に)
- 長押し(1.2秒以上)
通信回線は「KDDI LTE-M」
ソラコムボタンは、セルラーLPWAである「LTE-M」を通信に使えます。
なんか色々と出てきたので、SORACOM公式ページを参考に整理します。
LPWA(Low Power Wide Area)は、低消費電力なのに、広範囲をカバーするIoTデバイス向けの無線通信技術のこと。センサー情報など小さいデータを、通信量や消費電力を下げて遠くまで伝送するために開発されたもの。
CHASUKE
IoTに必要とされる通信は「高速大容量」ではなく「低価格小容量」だ
セルラーLPWAとは、携帯キャリアの運営するネットワークを使ったLPWA規格の1つ。既存のLTE基地局をベースに全国エリアをカバーしているため、広域で省電力なセルラー通信を実現可能な通信ネットワークのこと。
CHASUKE
ソラコムボタンのLTE-Mは、KDDIの通信サービスを利用し、人口カバー率は99%以上!!
LTE基地局の周波数の一部を利用するため、スマホでの利用範囲とは異なるようです。通信エリアはエリア検索でご確認できます。
よっぽどの場所じゃない限り使えるはず。
「AWS IoT Enterprise Button」との違い
以前に「AWS IoT Enterpriseボタン」を紹介しました。
https://chasuke.com/wp/amazoniot/
これも「AWS IoT 1-Click」に対応したボタンで、Lambda関数が呼び出せるのも同じ。
しかし、利用にはWi-Fiアクセスポイントが必要なため、屋内での利用がメインとなる。ここが残念なところ。例えば、スマートロックの解錠に使おうと思っても、外までWi-Fiを飛ばす工夫が必要となる。
その弱点を克服したのが、「SORACOM LTE-M Button」。
CHASUKE
けれど、便利な反面、料金面がシブい..
料金と仕様
デバイス代は7,980円(税別・送料別)です。
CHASUKE
高いよー!
代金は、最初にボタンを押してから、1年間分の基本料金と1500回分の通信費を含みます。なので、ボタンを押すたびの料金はかからない。
また、1年間もしくは1500回分のクリックを超過した場合、更新手数料1,200円(税別)で継続利用ができます。また、KDDIのLTE-Mネットワーク利用なので、使用は日本国内のみ。
税込2500円で期限制約なし、約2000回クリックのAWS IoTボタンと比較すると、費用はシブくなりますね。
CHASUKE
Wi-Fi利用とLTE-M利用の違いですね!
「SORACOM LTE-M Button」をチェック
まず、購入して送られてきたのがこちら。
僕は、SORACOMアカウントを作成してユーザコンソールから購入しました。今は、Amazonからでも購入できるようです。
▼裏のカバーをガチャっと外して、単4乾電池2本で動きます。
電池の持ちは不明ですが、省電力なので1年は余裕でしょう。多分。
何かに括り付けときたいので、ストラップは何気に便利♪
▼まぁまぁサイズはあるけど、握りやすい。
サイズ「約97 × 33 × 13.7(mm)」、重さは「約49g」となっています。
ボタンを押すと、真ん中にあるLEDが点滅します。
管理コンソールへ登録
ソラコムボタンが届いたら管理コンソールに登録すると管理しやすいです。
ここから残クリック回数、有効期限、最終受信日時を確認できます。
「SORACOM LTE-M Button」を使い方
さて、試しに何か仕組みを作ってみました。
冒頭で言ってた「今から帰るよーボタン」です。
作成イメージはこんな感じ
LambdaからIFTTT(Webhook)を呼び出す構成。手軽でカスタマイズもしやすいです。
今回は、IFTTTからLINEの家族グループにメッセージ送るだけですが、今後は、IFTTT対応のSesamiスマートロックを対応させる予定だ!
作り方
ソラコムボタンは、AWS IoT 1-Click対応デバイス。
▼IFTTT呼出ありの作成手順はこんな感じ。
- IFTTTアプレットを作成
- AWS Lambda関数を作成
- AWS IoT 1-Clickの設定
これ、前回のAWS IoTボタンと作り方の流れは同じです。「AWS IoT 1-Click」利用するので当然ですよね。
ということで、詳細はこちら参照ください。
当記事ではざっくり説明していきます。
1. IFTTTアプレットを作成
LambdaからIFTTTを呼び出すので、以下のようにアプレットを作ってます。
【トリガー】Webhook → 【アクション】LINE
ちなみに、IFTTTでLINE連携すると「LINE Notify」からメッセージが飛ぶので、これをグループに追加しておく必要があります。
2. AWS Lambda関数を作成
今回Lambda側に作成したのがこれ。(※Python3で作成)
import urllib.request
import json
def lambda_handler(event, context):
print('イベント:', event);
cliType = event['deviceEvent']['buttonClicked']['clickType']
if cliType == "SINGLE":
backhome()
elif cliType == "LONG":
# 作成中
smartlock()
def smartlock():
# 作成中
)
def backhome():
# IFTTT向けHTTPリクエスト準備
message = '今から帰るよーん'
url = "https://maker.ifttt.com/trigger/backhome/with/key/[自分のWebhook URLを設定]"
method = "POST"
headers = {"Content-Type" : "application/json"}
# PythonオブジェクトをJSONに変換する
obj = {
"value1" : message,
}
json_data = json.dumps(obj).encode("utf-8")
# HTTPリクエスト(POST)
request = urllib.request.Request(url, data=json_data, method=method, headers=headers)
with urllib.request.urlopen(request) as response:
response_body = response.read().decode("utf-8")
こちらのスクリプトでは、シングル押しでLINE連携されます。
押し方で分岐させたいなら、clickTypeの「DOUBLE」や「LONG」で判断すればOKです。
3. AWS IoT 1-Clickの設定
AWS IoT 1-Clickアプリからデバイス登録が出来ます。
画面に従うだけで登録できます。
簡単です。
動かしてみる!
実際にポチッとしてみる。
こんな感じになった。
頭に「IFTTT」が入るのは想定外でしたが、問題ありません。
嫁さんも帰宅が早くて喜んでますねw
CHASUKE
グループに出来がイマイチなチャットボットがなんか言ってますね..
最後に(まとめ)
特徴・できることをまとめるとこんな感じ。
- AWS IoT 1-Click対応のIoTボタン
- AWS Lambda関数を呼出可能
- KDDIのLTE-M通信網を利用
- 価格は7,980円(税別・送料別)
- 1年間もしくは1500回分のクリック
- 更新は1,200円(税別)
- 人口カバー率は99%以上
今回はポチッとして通知をメインに考えてみたけど、出来ることは無限大。魔法のボタンになり得ますよこれ。
家電操作はもちろん、車内に設置しておけばガレージ開閉も楽々ですよね。
CHASUKE
何かもっと面白いこと・便利なことが出来たらなと企んでます♪
▼ただし、屋内メインならAWS IoTボタンで十分です!
それではまた。